ESP32 C3 Super Mini - Potentiomètre
Un potentiomètre est le moyen le plus simple d'ajouter un bouton de réglage à votre projet ESP32 C3 Super Mini. Tournez le bouton, et la carte lit un nombre que vous pouvez utiliser pour le volume, la luminosité, la vitesse ou tout autre réglage. C'est un excellent premier projet analogique pour les débutants.
Dans ce tutoriel, vous apprendrez :
- Comment fonctionne un potentiomètre
- Comment câbler un potentiomètre à l'ESP32 C3 Super Mini
- Comment programmer l'ESP32 C3 Super Mini pour lire la valeur du potentiomètre
- Comment convertir cette valeur en angle, en tension ou en valeur de réglage
- Comment éviter les erreurs courantes des débutants avec les broches analogiques

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Potentiomètre
Un potentiomètre (aussi appelé capteur d'angle rotatif) est un bouton qui modifie un réglage, comme le volume d'un haut-parleur, la température d'une pièce ou la luminosité d'une lampe.
Caractéristiques Principales :
- Simple : Seulement 3 broches, aucune bibliothèque nécessaire.
- Bon marché : L'un des composants les moins chers que vous puissiez acheter.
- Sortie analogique : Fournit une tension progressive, pas seulement ON/OFF.
- Peu gourmand : Consomme presque aucun courant.
Spécifications Techniques :
- Tension de fonctionnement : 3,3V ou 5V (utilisez 3,3V avec l'ESP32 C3 Super Mini)
- Sortie : de 0V jusqu'à la tension présente sur la broche VCC
- Rotation : de 0° à un angle maximal défini par le fabricant
- Valeurs courantes : 10kΩ est la plus utilisée

Brochage du Potentiomètre
Un potentiomètre possède généralement 3 broches.
- Broche VCC : connectez cette broche à VCC (3,3V sur l'ESP32 C3 Super Mini)
- Broche GND : connectez cette broche à GND (0V)
- Broche de sortie : envoie la tension vers la broche d'entrée analogique de l'ESP32 C3 Super Mini

※ Note:
La broche GND et la broche VCC sont interchangeables
WARNING
Alimentez toujours le potentiomètre en 3,3V, pas en 5V. Les broches GPIO de l'ESP32 C3 Super Mini fonctionnent uniquement en 3,3V, et du 5V sur la broche de sortie peut endommager la carte.
Comment Fonctionne le Potentiomètre
L'axe tourne de 0° (au plus près de la broche GND) jusqu'à un angle maximal (au plus près de la broche VCC), appelé ANGLE_MAX.
- En bref : plus d'angle = plus de tension sur la broche de sortie.
- La tension de sortie est directement proportionnelle à la position de l'axe, de 0 à VCC.
Le tableau ci-dessous montre la relation entre l'angle et la tension sur la broche de sortie :
| Angle | Tension |
|---|---|
| 0° | 0v |
| ANGLE_MAX° | VCC |
| angle° | angle° × VCC / ANGLE_MAX° |
※ Note:
La valeur ANGLE_MAX dépend des fabricants.

ESP32 C3 Super Mini - Potentiomètre Rotatif
La broche d'entrée analogique de l'ESP32 C3 Super Mini transforme une tension en nombre.
- Plage d'entrée : 0V à 3,3V
- Nombre en sortie : 0 à 4095 (c'est ce qu'on appelle la valeur ADC ou valeur analogique)
- Résolution : 12 bits, soit 4096 pas au total
- Broches analogiques sur cette carte : GPIO0 à GPIO4 uniquement. Ce tutoriel utilise GPIO4.
Connectez la broche de sortie du potentiomètre à une broche d'entrée analogique de l'ESP32 C3 Super Mini, puis lisez la valeur analogique sur cette broche.
La valeur analogique peut être convertie en une autre valeur. Voici les cas d'utilisation courants :
- En angle : savoir de combien le bouton est tourné.
- En tension : voir la tension réelle sur la broche de sortie.
- En valeur de réglage : volume, température, luminosité, vitesse du moteur, etc.
Plage de Conversion
| DE | À | |||
|---|---|---|---|---|
| Angle | tourné par l'utilisateur | 0° | → | ANGLE_MAX° |
| Tension | depuis la broche du potentiomètre | 0V | → | 3.3V |
| Valeur ADC | lue par l'ESP32 C3 Super Mini | 0 | → | 4095 |
| Valeur de réglage | convertie par l'ESP32 C3 Super Mini | VALUE_MIN | → | VALUE_MAX |
Schéma de Câblage entre le Potentiomètre et l'ESP32 C3 Super Mini
Le câblage est simple : deux fils d'alimentation et un fil de signal.
- Remarque : Utilisez la broche 3,3V pour VCC. N'utilisez jamais le 5V.
- Remarque : Le fil de signal va sur GPIO4, une broche compatible analogique.
- Remarque : N'utilisez pas GPIO8 ou GPIO9. Ce sont des broches de configuration au démarrage (strapping) et elles peuvent empêcher la carte de démarrer.
- Remarque : GPIO20 et GPIO21 sont l'UART du Moniteur Série. Laissez-les libres.
| Broche du Potentiomètre | Broche de l'ESP32 C3 Super Mini |
|---|---|
| VCC | 3.3V |
| GND | GND |
| Sortie | GPIO4 |

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Comment Programmer le Potentiomètre
Lire un potentiomètre ne demande qu'une seule fonction, puis un peu de calcul.
- Lisez la valeur de la broche d'entrée analogique connectée à la broche de sortie du potentiomètre à l'aide de la fonction analogRead().
- Convertissez-la en angle du potentiomètre à l'aide de la fonction map().
- Convertissez-la en tension du potentiomètre :
- Convertissez-la en valeur contrôlable (par ex. volume d'une chaîne stéréo, luminosité, vitesse d'un moteur DC... )
- Par exemple, la conversion en luminosité d'une LED. Comme mentionné dans ce tutoriel, la luminosité d'une LED peut être contrôlée à l'aide d'une valeur PWM de 0 (toujours éteinte) à 255 (toujours allumée). Nous pouvons donc convertir la valeur analogique en luminosité de la LED (d'éteinte à la plus lumineuse) comme suit :
Si vous voulez faire varier la LED d'un niveau veilleuse jusqu'à la luminosité maximale,
※ Note:
Utilisez toujours 4095 comme limite haute de la plage d'entrée, pas 1023. L'ESP32 C3 Super Mini possède un ADC 12 bits. Le code copié d'une ancienne carte 10 bits utilise souvent 1023 et donnera des résultats faux sur cette carte.
※ Note:
La fonction map() ne peut être utilisée que pour convertir la valeur analogique en une valeur de type int ou long. Si la valeur contrôlable est de type float, vous devez utiliser la fonction floatMap() au lieu de la fonction map().
Fonction floatMap() :
Code ESP32 C3 Super Mini
Le code ci-dessous lit le potentiomètre sur GPIO4 et affiche à la fois la valeur brute et la tension.
Ce que Fait ce Code :
- Démarre le port série : ouvre le Moniteur Série à 115200 bauds.
- Configure l'ADC : analogSetAttenuation(ADC_11db) permet à la broche de lire toute la plage de 0V à 3,3V.
- Lit le bouton : analogRead() donne un nombre de 0 à 4095.
- Convertit en volts : floatMap() transforme ce nombre en une tension avec décimales.
- Affiche une fois par seconde : facile à suivre pendant que vous tournez le bouton.
Étapes Rapides
- Nouveau avec l'ESP32 C3 Super Mini ? Suivez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
- Câblez le tout : Connectez le potentiomètre au 3,3V, à GND et à GPIO4 comme indiqué ci-dessus.
- Connectez la carte : Branchez l'ESP32 C3 Super Mini à votre ordinateur avec un câble USB Type-C.
- Ouvrez l'IDE : Copiez le code ci-dessus et collez-le dans Arduino IDE.
- Sélectionnez la carte : Assurez-vous que l'ESP32 C3 Super Mini est sélectionné dans Outils > Carte.
- Sélectionnez le port : Choisissez le port COM de votre carte dans Outils > Port.
- Téléversez : Cliquez sur le bouton Téléverser dans Arduino IDE.
- Ouvrez le Moniteur Série : Réglez le débit en bauds sur 115200.
- Tournez le bouton : Faites tourner lentement le potentiomètre d'une extrémité à l'autre.
- Vérifiez le résultat : Le Moniteur Série affiche la valeur qui change. Cela ressemble à ceci :
- Astuce de Pro : Si la valeur n'atteint jamais 0 ou 4095, vérifiez que VCC et GND sont bien connectés. Un fil mal branché est la cause la plus fréquente.
※ Note:
Ce tutoriel utilise la fonction analogRead() pour lire les valeurs d'un ADC (Convertisseur Analogique-Numérique) connecté à un capteur ou à un composant. L'ADC de l'ESP32 C3 Super Mini convient aux projets qui ne nécessitent pas une grande précision. Cependant, pour les projets qui demandent des mesures précises, gardez à l'esprit les points suivants :
- L'ADC de l'ESP32 C3 Super Mini n'est pas parfaitement précis et peut nécessiter un étalonnage pour obtenir des résultats corrects. Chaque carte ESP32 C3 Super Mini peut varier légèrement, l'étalonnage est donc nécessaire pour chaque carte individuellement.
- L'étalonnage peut être difficile, surtout pour les débutants, et ne donne pas toujours exactement les résultats souhaités.
Pour les projets nécessitant une grande précision, envisagez d'utiliser un ADC externe (par ex. ADS1115) avec l'ESP32 C3 Super Mini, ou d'utiliser une autre carte avec un ADC plus fiable. Si vous souhaitez tout de même étalonner l'ADC de l'ESP32 C3 Super Mini, consultez le ESP32 ADC Calibration Driver.
Idées de Projets
Une fois le bouton fonctionnel, essayez de l'utiliser pour contrôler quelque chose de concret.
- Variateur de Lumière : Tournez le bouton pour changer la luminosité d'une LED.
- Bouton de Volume : Réglez le niveau sonore d'un buzzer ou d'un haut-parleur.
- Contrôleur de Servo : Déplacez un servomoteur à l'angle de votre choix.
- Réglage de Vitesse du Moteur : Changez la vitesse d'un moteur DC ou d'un ventilateur.
- Réglage de Seuil : Utilisez le bouton pour définir le niveau d'alarme d'un capteur sans modifier le code.
- Sélecteur de Menu : Faites défiler des options sur un écran OLED ou LCD.
Mettez-vous au Défi
Essayez ces petites améliorations pour en apprendre davantage sur l'entrée analogique de l'ESP32 C3 Super Mini.
- Facile : Affichez la valeur sous forme de pourcentage de 0% à 100% au lieu d'un nombre brut.
- Facile : Modifiez le délai pour que la valeur se mette à jour 10 fois par seconde.
- Moyen : Convertissez la valeur en angle de 0° à 270° et affichez-le.
- Moyen : Faites la moyenne de 10 mesures avant d'afficher pour obtenir une valeur stable.
- Avancé : Utilisez le bouton pour régler la luminosité d'une LED sur GPIO3 avec le PWM.
- Avancé : Ajoutez un second potentiomètre sur GPIO2 et lisez les deux boutons en même temps.