Qu'est-ce qu'un potentiomètre ? Lecture analogique et contrôle avec Arduino
Qu'est-ce qu'un potentiomètre, comment fonctionne-t-il et comment le brancher sur Arduino ? Linéaire ou logarithmique, le code B10K, la lecture avec analogRead et un exemple de luminosité de LED.
Un potentiomètre est une résistance réglable dont la valeur change quand on tourne son axe. Le bouton de volume d'une radio, le variateur d'une lampe et les sticks d'une manette sont des potentiomètres. Dans les projets Arduino, c'est le moyen le plus simple d'obtenir une valeur de l'utilisateur : tu tournes le bouton et l'Arduino lit un nombre entre 0 et 1023.

Comment fonctionne un potentiomètre ?
À l'intérieur se trouve une piste résistive en arc et un curseur qui glisse dessus. La résistance entre les deux pattes extérieures est fixe (par exemple 10 kΩ). La patte centrale est reliée au curseur ; en tournant l'axe, le curseur avance sur la piste et la résistance vers chaque extrémité change. Avec 5 V et GND sur les pattes extérieures, tu obtiens sur la patte centrale une tension entre 0 et 5 V. Un potentiomètre est donc un pont diviseur réglable.
Les types de potentiomètres
| Type | Aspect | Usage |
|---|---|---|
| Potentiomètre rotatif | Axe, 3 pattes | Volume, luminosité, vitesse |
| Trimmer | Petit, réglé au tournevis | Valeurs réglées une fois pour toutes (contraste d'un LCD) |
| Potentiomètre à glissière | Glisse en ligne droite | Tables de mixage et panneaux de commande |
| Joystick | Deux potentiomètres en un | Contrôle sur deux axes (X et Y) |
Brancher un potentiomètre sur Arduino
- Relie une patte extérieure au 5V et l'autre au GND (les inverser change seulement le sens).
- Relie la patte centrale à une entrée analogique, par exemple A0.
- Branche une LED avec une résistance de 220 Ω sur la broche 9, compatible PWM.
- Téléverse le code ci-dessous et ouvre le moniteur série ; en tournant le bouton, la valeur et la luminosité de la LED changent.
const int POT_PIN = A0; // potansiyometre orta bacak / pot wiper
const int LED_PIN = 9; // PWM pini / PWM pin
void setup() {
pinMode(LED_PIN, OUTPUT); // LED çıkış / LED output
Serial.begin(9600); // seri monitör / serial monitor
}
void loop() {
int raw = analogRead(POT_PIN); // 0–1023 oku / read 0–1023
int brightness = map(raw, 0, 1023, 0, 255); // PWM'e çevir / scale to PWM
analogWrite(LED_PIN, brightness); // parlaklık / brightness
Serial.println(raw); // değeri yaz / print value
delay(20);
}La fonction map() convertit une valeur d'une plage à une autre, par exemple une lecture de 0–1023 en valeur PWM de 0–255 ou en angle de servo de 0–180. Pour voir le principe du pont diviseur en chiffres, utilise le calculateur de pont diviseur.
Plage de lecture analogique selon la carte
| Carte | Résolution | Plage | Fonction |
|---|---|---|---|
| Arduino Uno / Nano | 10 bits | 0–1023 | analogRead() |
| ESP32 | 12 bits | 0–4095 | analogRead() |
| Raspberry Pi Pico | 12 bits (mis à l'échelle sur 16 bits) | 0–65535 | ADC.read_u16() |
Erreurs fréquentes
- Relier la patte centrale directement au 5V ou au GND : en bout de course, cela crée un court-circuit et peut brûler le potentiomètre. L'alimentation va toujours sur les pattes extérieures.
- Valeurs instables : la lecture peut varier de quelques unités. Fais la moyenne de plusieurs mesures ou ignore les petites variations.
- Utiliser un potentiomètre logarithmique : avec un type A, la valeur change lentement au début et vite à la fin ; pour un contrôle linéaire, prends un type B.
- Le brancher sur une broche numérique : un potentiomètre fournit une valeur analogique, il doit aller sur une entrée analogique comme A0–A5.
Pour régler l'angle d'un servo avec un potentiomètre, lis Qu'est-ce qu'un servomoteur ? ; pour les bases de la résistance, Qu'est-ce qu'une résistance ?.
Questions fréquentes
Quelle valeur de potentiomètre choisir pour Arduino ?
Un potentiomètre linéaire de 10 kΩ (B10K) est le choix le plus courant. Les valeurs de 1 kΩ à 100 kΩ fonctionnent aussi ; les très faibles consomment plus de courant, les très fortes peuvent donner des lectures bruitées.
Comment reconnaître les pattes d'un potentiomètre ?
En le tenant axe vers toi, la patte du milieu est le curseur. L'ordre des pattes extérieures détermine seulement dans quel sens la valeur augmente.
Pourquoi la lecture n'atteint-elle pas exactement 0 ou 1023 ?
La résistance de contact aux extrémités et la tolérance de fabrication décalent les valeurs extrêmes de quelques unités. Une marge de 5 à 10 unités dans le code règle le problème.
Un joystick et un potentiomètre, c'est la même chose ?
Un joystick contient deux potentiomètres à angle droit et généralement un bouton. Chaque axe se lit sur sa propre entrée analogique.
Projets à réaliser après cet article
Voir tous les projets
Utilisation d'un servomoteur avec un potentiomètre
Projet qui contrôle le moteur servo en temps réel en convertissant la valeur du potentiomètre dans la plage 0-180°. apprend la fonction map() et l'intégration analogique-servo.

SG90 Servo Angle Control with Pot
Contrôle d'un servomoteur (SG90) à l'aide d'un potentiomètre L'objectif principal de ce projet est de contrôler précisément la position angulaire d'un servomoteur en temps réel en utilisant une unité d'entrée analogique, le potentiomètre. Le projet est un exemple d'ingénierie de base pour comprendre la logique de la conversion analogique-numérique (ADC) et la cartographie des signaux. Logique de fonctionnement : Lecture des données analogiques : Lorsque l'utilisateur tourne le potentiomètre, un

Luminosité d'une LED avec un Potentiomètre sur ESP32 (Analogique → PWM)
Dans ce projet, nous contrôlons la luminosité d'une LED de manière analogique à l'aide d'un potentiomètre. La broche ADC de l'ESP32 lit la tension entre 0 et 3,3 V provenant du potentiomètre, puis cette valeur est convertie en signal PWM (modulation de largeur d'impulsion) envoyé à la LED. Ainsi, la LED s'allume et s'éteint progressivement. Avec Arduino Core 3.0+, `analogWrite()` est utilisable directement; sur ESP32-S2/S3, la résolution de l'ADC est fixée à 12 bits.

Led de marche à vitesse réglable
Le projet qui permet d'ajuster la vitesse de marche des LED en temps réel avec le potentiomètre. Il enseigne le contrôle dynamique du temps de retard en lisant la valeur du potentiomètre avec l'analog

Speed Adjustable Black Lightning Led
Projet avec potentiomètre qui peut ajuster la vitesse de l'animation LED de l'éclair noir en temps réel. Il combine une entrée analogique et un contrôle en boucle bidirectionnel.

Commande par Led avec Joystick
Projet de contrôle qui allume des LED dans 4 directions différentes en fonction des valeurs des axes X et Y du module joystick. Enseigne la lecture analogique du joystick et la logique de détection de

Lampe à mélangeur de couleurs ESP32 (3 potentiomètres + LED RVB + écran OLED)
Une lampe mélangeuse de couleurs intelligente qui vous permet de créer la couleur de votre choix en tournant 3 potentiomètres grâce à l'ESP32 ! À mesure que vous tournez les potentiomètres rouge, vert et bleu, la LED RVB à cathode commune change de couleur en temps réel. L'écran OLED SSD1306 affiche en temps réel la valeur de chaque couleur sur une plage de 0 à 255, des barres de remplissage visuelles et le code couleur HEX (#FF8040, par exemple). Un mini-studio de couleur professionnel — il per

Voltmètre numérique avec écran LCD
Projet de voltmètre numérique affichant le résultat sur l'écran LCD I2C en mesurant la tension dans la plage de 0 à 55 V avec un circuit de diviseur de tension. Enseigne la formule du diviseur de tens
Autres articles
Découvre comment un potentiomètre change de valeur quand on le tourne, comment le brancher sur Arduino et comment utiliser la valeur analogique pour piloter une LED, un servo ou le volume.

