ESP32 S3 - Potentiomètre
Ce tutoriel vous explique comment utiliser l'ESP32 S3 avec un potentiomètre. Le potentiomètre est l'un des dispositifs d'entrée les plus polyvalents, vous permettant de traduire une rotation physique en une valeur numérique que votre ESP32 S3 peut lire et exploiter.

Ce que vous allez construire :
- Un circuit reliant un potentiomètre à l'ESP32 S3
- Un code qui lit la valeur analogique brute du potentiomètre
- Une conversion de tension qui transforme la lecture ADC en volts réels
- Une sortie Serial Monitor qui affiche les lectures analogiques et de tension en direct
Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du potentiomètre
Le potentiomètre (aussi appelé capteur d'angle rotatif) est une résistance variable à trois bornes utilisée pour contrôler des réglages tels que le volume d'un haut-parleur, la température d'une pièce, ou la luminosité d'une lampe. En faisant tourner son axe, vous faites varier la résistance entre la broche de sortie et chaque rail d'alimentation, produisant une tension de sortie proportionnelle que votre microcontrôleur peut lire.

Spécifications clés
Brochage du potentiomètre
Un potentiomètre a généralement 3 broches :
- Broche VCC : connectez cette broche à VCC (5V ou 3,3V)
- Broche GND : connectez cette broche à GND (0V)
- Broche de sortie : délivre la tension vers la broche d'entrée analogique de l'ESP32 S3

※ Note:
Les broches GND et VCC sont interchangeables
Comment fonctionne le potentiomètre
L'axe du potentiomètre peut tourner de 0° (le plus proche de la broche GND) jusqu'à un angle (le plus proche de la broche VCC), appelé ANGLE_MAX.
La tension sur la broche de sortie est directement proportionnelle à l'angle de l'axe, variant de 0 V à VCC. Le tableau ci-dessous montre la relation entre l'angle et la tension de sortie :
| Angle | Tension |
|---|---|
| 0° | 0v |
| ANGLE_MAX° | VCC |
| angle° | angle° × VCC / ANGLE_MAX° |
※ Note:
La valeur ANGLE_MAX dépend du fabricant.

ESP32 S3 - Potentiomètre rotatif
La broche d'entrée analogique de l'ESP32 S3 convertit une tension (entre 0 V et 3,3 V) en une valeur entière (entre 0 et 4095), appelée valeur ADC ou valeur analogique.
Vous pouvez connecter la broche de sortie du potentiomètre à une broche d'entrée analogique de l'ESP32 S3, puis lire la valeur analogique de cette broche. La valeur analogique peut être remise à l'échelle en d'autres valeurs utiles :
- Remettre à l'échelle la valeur analogique en l'angle du potentiomètre.
- Remettre à l'échelle la valeur analogique en la tension du potentiomètre.
- Remettre à l'échelle la valeur analogique en un réglage contrôlable (par exemple, volume du haut-parleur, température de la pièce, ou luminosité de la lampe).
Plage de remise à l'échelle
| DE | À | |||
|---|---|---|---|---|
| Angle | pivoté par l'utilisateur | 0° | → | ANGLE_MAX° |
| Tension | depuis la broche du potentiomètre | 0V | → | 3.3V |
| Valeur ADC | lue par l'ESP32 S3 | 0 | → | 4095 |
| Valeur de réglage | convertie par l'ESP32 S3 | VALUE_MIN | → | VALUE_MAX |
Schéma de câblage entre le potentiomètre et l'ESP32 S3
Connectez le potentiomètre à votre ESP32 S3 à l'aide d'une breadboard et de fils de connexion comme indiqué dans le schéma ci-dessous. Assurez-vous que la broche de sortie du potentiomètre est connectée à un GPIO compatible ADC de l'ESP32 S3.
- Comment connecter l'ESP32 S3 et le potentiomètre à l'aide d'une breadboard

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Consignes de sécurité
Alimentez toujours le potentiomètre depuis le rail 3,3 V de l'ESP32 S3 plutôt qu'en 5 V, car l'entrée ADC de l'ESP32 S3 est prévue pour un maximum de 3,3 V. Vérifiez bien votre câblage avant la mise sous tension pour éviter d'appliquer une surtension à la broche analogique.
| Broche du potentiomètre | Broche ESP32 S3 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| Output | GPIO5 (ou tout GPIO compatible ADC) |
Comment programmer le potentiomètre
Lire un potentiomètre avec l'ESP32 S3 ne nécessite que quelques lignes de code Arduino. Les extraits de code suivants montrent chaque étape - de la lecture de la valeur ADC brute à sa conversion en unités significatives.
- Lisez la valeur d'une broche d'entrée connectée à la broche de sortie du potentiomètre à l'aide de la fonction analogRead().
- Remettez à l'échelle en l'angle du potentiomètre à l'aide de la fonction map().
- Remettez à l'échelle en la tension du potentiomètre :
- Remettez à l'échelle en une valeur contrôlable (par exemple, volume, luminosité, ou vitesse de moteur) :
- Par exemple, remise à l'échelle vers la luminosité d'une LED. Comme mentionné dans le tutoriel PWM, la luminosité d'une LED peut être contrôlée avec une valeur PWM de 0 (toujours éteinte) à 255 (toujours allumée). Vous pouvez faire correspondre la valeur analogique à la luminosité de la LED comme ceci :
Si vous voulez faire varier la LED d'un niveau de veilleuse jusqu'au maximum de luminosité :
※ Note:
La fonction map() ne peut remettre à l'échelle la valeur analogique que vers un type int ou long. Si la valeur contrôlable est de type float, utilisez plutôt la fonction floatMap().
Fonction floatMap() :
Code ESP32 S3
Le code suivant lit la valeur ADC brute et la tension correspondante du potentiomètre, puis affiche les deux dans le Serial Monitor toutes les 500 ms. Téléversez le sketch sur votre ESP32 S3 et ouvrez le Serial Monitor pour voir les lectures en direct pendant que vous tournez le bouton.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Compilez et téléversez le code sur la carte ESP32 S3 en cliquant sur le bouton Upload dans l'Arduino IDE.

- Ouvrez le Serial Monitor dans l'Arduino IDE.

- Tournez lentement le bouton du potentiomètre d'une extrémité à l'autre.
- Observez les lectures en direct dans le Serial Monitor.
- Astuce : essayez de faire correspondre la valeur analogique à la luminosité d'une LED via PWM pour voir un effet physique du potentiomètre en temps réel.
Serial Monitor
Après le téléversement, le Serial Monitor affichera la valeur analogique brute accompagnée de la tension calculée. Tournez le potentiomètre pour voir les valeurs changer en temps réel. Les lectures suivantes ont été capturées en 2026 :
※ Note:
Ce tutoriel utilise la fonction analogRead() pour lire les valeurs de l'ADC connecté au potentiomètre. L'ADC de l'ESP32 S3 convient aux projets qui ne nécessitent PAS une grande précision. Pour les projets nécessitant des mesures précises, notez :
- L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter un étalonnage. Chaque carte peut se comporter légèrement différemment.
- L'étalonnage peut être difficile pour les débutants et peut ne pas toujours donner des résultats exacts.
Pour les projets à haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3. Si vous souhaitez tout de même étalonner l'ADC, consultez le ESP32 ADC Calibration Driver.
Applications
Les potentiomètres sont couramment utilisés partout où un utilisateur doit ajuster un réglage de manière interactive. Voici quelques applications pratiques pour vos projets ESP32 S3 :
- Contrôle de volume : ajustez le niveau de sortie audio dans un système de haut-parleurs Bluetooth ou filaire.
- Gradateur de luminosité : contrôlez l'intensité de LED ou du rétroéclairage d'un LCD.
- Contrôle de vitesse de moteur : définissez le régime cible d'un moteur CC via une correspondance PWM.
- Consigne de température : permettez aux utilisateurs de régler une température de pièce désirée pour un thermostat.
- Position de servomoteur : faites tourner un servomoteur vers un angle sélectionné par l'utilisateur dans un bras robotique.
Vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défis
Maintenant que vous avez un circuit de potentiomètre fonctionnel sur l'ESP32 S3, essayez d'étendre le projet avec ces exercices pour approfondir votre compréhension.
- Débutant : changez le GPIO utilisé pour le potentiomètre et mettez à jour le code en conséquence, puis vérifiez que les lectures fonctionnent toujours correctement.
- Intermédiaire : utilisez la valeur du potentiomètre pour contrôler la luminosité d'une LED connectée à une broche compatible PWM de l'ESP32 S3.
- Avancé : construisez une interface simple sur un écran OLED qui affiche une barre de progression représentant la position actuelle du potentiomètre en pourcentage.