Composants · 3 min de lecture

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.

Potentiomètre
Potentiomètre rotatif : les deux pattes extérieures sont les extrémités de la résistance fixe, la patte centrale est le curseur mobile.

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

TypeAspectUsage
Potentiomètre rotatifAxe, 3 pattesVolume, luminosité, vitesse
TrimmerPetit, réglé au tournevisValeurs réglées une fois pour toutes (contraste d'un LCD)
Potentiomètre à glissièreGlisse en ligne droiteTables de mixage et panneaux de commande
JoystickDeux potentiomètres en unContrôle sur deux axes (X et Y)
Le marquage B10K ou B103 désigne un potentiomètre linéaire de 10 kΩ : la valeur varie proportionnellement au bouton. La lettre A désigne un potentiomètre logarithmique (audio). Pour mesurer et piloter avec Arduino, choisis un modèle linéaire (B).

Brancher un potentiomètre sur Arduino

  1. Relie une patte extérieure au 5V et l'autre au GND (les inverser change seulement le sens).
  2. Relie la patte centrale à une entrée analogique, par exemple A0.
  3. Branche une LED avec une résistance de 220 Ω sur la broche 9, compatible PWM.
  4. 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

CarteRésolutionPlageFonction
Arduino Uno / Nano10 bits0–1023analogRead()
ESP3212 bits0–4095analogRead()
Raspberry Pi Pico12 bits (mis à l'échelle sur 16 bits)0–65535ADC.read_u16()
L'ESP32 et la Pico fonctionnent en 3,3 V : relie la patte extérieure du potentiomètre au 3,3 V, pas au 5 V. Sur l'ESP32, quand le Wi-Fi est actif, seules les broches ADC1 (GPIO 32–39) lisent de façon fiable.

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.

Voir tous les projets
Utilisation d'un servomoteur avec un potentiomètre
#36Débutant
Premium

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.

4.6(37)
51
SG90 Servo Angle Control with Pot
#99Débutant
Premium

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

4.5(24)
38
Luminosité d'une LED avec un Potentiomètre sur ESP32 (Analogique → PWM)
#115Intermédiaire
Premium

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.

4.5(19)
32
Led de marche à vitesse réglable
#7Intermédiaire

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

4.6(71)
133
Speed Adjustable Black Lightning Led
#8Intermédiaire

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.

4.5(59)
115
Commande par Led avec Joystick
#59Intermédiaire
Premium

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

4.7(50)
66
Lampe à mélangeur de couleurs ESP32 (3 potentiomètres + LED RVB + écran OLED)
#138Avancé
Premium

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

4.7(6)
10
Voltmètre numérique avec écran LCD
#56Intermédiaire
Premium

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

4.5(27)
36

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.