ESP32 S3 - Mesurer la tension

Dans ce guide, vous apprendrez à mesurer une tension allant de 0 V à 16,5 V à l'aide d'un capteur de tension avec un ESP32 S3. Nous passerons en revue le câblage, le code, et chaque étape en détail afin que vous puissiez suivre même si vous êtes nouveau sur cette plateforme.

ESP32 S3 - Measure Voltage

Ce que vous allez construire :

  1. Un circuit connectant un capteur de tension à l'ESP32 S3
  2. Un code qui lit la valeur ADC brute depuis la sortie du capteur
  3. Une conversion de tension qui transforme la lecture ADC en volts réels
  4. Une sortie sur le Serial Monitor qui affiche les lectures de tension en direct

Matériel requis

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Voltage Sensor
1×Fils de connexion
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

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)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur de tension

Un capteur de tension est un circuit diviseur de tension prêt à l'emploi qui utilise des résistances spécifiques pour simplifier la mesure de tension. Il contient deux résistances — 30 kΩ et 7,5 kΩ — qui réduisent la tension d'entrée à un niveau que l'ADC de votre ESP32 S3 peut lire en toute sécurité. Quand la tension de référence de l'ADC est de 3,3 V, le capteur peut mesurer des tensions de 0 V à 16,5 V CC.

Spécifications clés

  • Plage de tension d'entrée : 0 V à 25 V CC (avec référence ADC de 5 V) / 0 V à 16,5 V CC (avec référence ADC de 3,3 V)
  • Diviseur résistif : 30 kΩ (R1) et 7,5 kΩ (R2)
  • Tension de sortie : proportionnelle à l'entrée, mise à l'échelle pour correspondre à la plage de l'ADC

Brochage

Un capteur de tension est livré avec deux groupes de broches. L'interface d'entrée se connecte au circuit que vous voulez mesurer, tandis que l'interface de sortie se connecte à l'ESP32 S3.

  1. Broche VCC (entrée) : Connectez au point de mesure positif (tension plus élevée).
  2. Broche GND (entrée) : Connectez au point de mesure négatif (tension plus basse).
  3. Broche Vout / S (sortie) : Connectez à une broche GPIO compatible ADC sur l'ESP32 S3.
  4. Broche NC / + (sortie) : Ne pas connecter — cette broche n'est pas utilisée.
  5. Broche GND / - (sortie) : Connectez au GND sur l'ESP32 S3.
Voltage Pinout
image source: diyables.io

Schéma de câblage

Connectez le capteur de tension à votre ESP32 S3 à l'aide de fils de raccordement comme montré dans le schéma ci-dessous. Assurez-vous que la broche Vout du capteur va vers une broche GPIO compatible ADC afin que l'ESP32 S3 puisse lire la tension mise à l'échelle avec précision.

ESP32 S3 Voltage Sensor Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Notes de sécurité

La sortie du capteur de tension est déjà mise à l'échelle pour l'entrée ADC 3,3 V de l'ESP32 S3, donc ne dépassez pas 16,5 V sur les broches d'entrée du capteur. Vérifiez toujours votre câblage avant de mettre sous tension pour éviter d'envoyer une surtension à la broche ADC.

Broche du capteur de tensionBroche ESP32 S3
Vout (S)GPIO1 (ou toute broche GPIO compatible ADC)
GND (-)GND

Code ESP32 S3

Lire la tension avec l'ESP32 S3 implique d'échantillonner l'ADC, d'appliquer le ratio du diviseur du capteur, et d'afficher le résultat sur le Serial Monitor. Le code suivant effectue ces trois étapes et produit une nouvelle mesure chaque seconde.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-measure-voltage */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-measure-voltage */ #define ANALOG_IN_PIN 3 // ESP32-S3 pin GPIO3 (ADC0) connected to voltage sensor #define REF_VOLTAGE 3.3 #define ADC_RESOLUTION 4096.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Connectez l'ESP32 S3 au capteur de tension comme montré dans le schéma de câblage.
  3. Connectez la carte ESP32 S3 à votre PC via un câble USB.
  4. Ouvrez Arduino IDE sur votre PC.
  5. Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans Arduino IDE.
  6. Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  7. Appuyez sur le bouton Upload dans Arduino IDE pour compiler et téléverser le code vers l'ESP32 S3.
Arduino IDE Upload Code
  1. Ouvrez le Serial Monitor dans Arduino IDE.
How to open serial monitor on Arduino IDE
  1. Testez en mesurant 5 V et 3,3 V sur la carte ESP32 S3.
  2. Observez les lectures dans le Serial Monitor.
  3. Astuce pro : Comparez la valeur affichée à une tension de référence connue (comme le rail 3,3 V de l'ESP32 S3) pour évaluer rapidement la précision de votre montage.

Moniteur série

Après le téléversement, le Serial Monitor affichera une nouvelle mesure de tension chaque seconde. Les relevés suivants ont été capturés en 2026 en mesurant les rails 5 V et 3,3 V de l'ESP32 S3 :

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 10:00:01] Measured Voltage = 4.93 [2026-06-16 10:00:02] Measured Voltage = 4.93 [2026-06-16 10:00:03] Measured Voltage = 3.42 [2026-06-16 10:00:04] Measured Voltage = 3.42
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ Note:

Vous pourriez remarquer que le résultat de la mesure est légèrement différent de la valeur réelle. Le code utilise la fonction analogRead() pour lire les valeurs depuis l'ADC connecté au capteur de tension. L'ADC de l'ESP32 S3 convient aux projets qui ne nécessitent pas une haute précision. Pour les projets nécessitant des mesures précises, notez que :

  • 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 de haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3. Si vous voulez tout de même étalonner l'ADC, consultez ESP32 ADC Calibration Driver.

Applications

La mesure de tension ouvre la porte à une large gamme de tâches réelles de surveillance et de protection avec l'ESP32 S3. Voici quelques applications pratiques :

  1. Indicateur de niveau de batterie : Surveillez l'état de charge d'une batterie LiPo ou au plomb et affichez-le sur un OLED ou un graphique à barres de LED.
  2. Surveillance d'alimentation : Vérifiez en continu un rail CC et déclenchez une alerte si la tension descend sous un seuil sûr.
  3. Surveillance de panneau solaire : Suivez la tension de sortie d'un panneau solaire pour enregistrer les données de production d'énergie dans le temps.
  4. Test de charge : Mesurez la chute de tension à travers une charge pour calculer la consommation de courant et détecter des défauts.
  5. Diagnostic automobile : Lisez la tension d'une batterie de voiture 12 V via le diviseur du capteur et avertissez quand la batterie est faible.

Vidéo

Regardez la démonstration vidéo étape par étape de ce projet ESP32 S3 ci-dessous.

Défis

Maintenant que vous avez un circuit de mesure de tension fonctionnel sur l'ESP32 S3, essayez d'étendre le projet avec ces exercices pour approfondir votre compréhension.

  1. Débutant : Changez la broche GPIO utilisée pour le signal du capteur de tension et mettez à jour le code en conséquence, puis vérifiez que les lectures s'affichent toujours correctement.
  2. Intermédiaire : Ajoutez une vérification de seuil dans le code afin que l'ESP32 S3 allume une LED quand la tension mesurée descend sous une valeur minimale définie par l'utilisateur.
  3. Avancé : Enregistrez les lectures de tension sur une carte SD ou envoyez-les via Wi-Fi vers un tableau de bord web, créant un système simple de surveillance de tension à distance.

Commentaires

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !