ESP8266 NodeMCU - Bargraphe LED à 10 Segments

1×ESP8266 NodeMCU ESP-12F
1×Alternativement: ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternativement: ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternativement: ESP8266 NodeMCU ESP-12F (SMD-form)
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×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP8266

Ou vous pouvez acheter les kits suivants:

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.

Ce tutoriel vous explique comment utiliser l'ESP8266 NodeMCU pour contrôler l'afficheur bargraphe LED à 10 segments. En détail, nous allons apprendre :

ESP8266 NodeMCU NodeMCU et bargraphe LED à 10 segments

À Propos du Bargraphe LED à 10 Segments

Bargraphe LED à 10 segments
Nombre de segments 10
Couleur des LED Rouge vif
Tension directe ~2V par segment
Courant direct 20mA max par segment
Résistance requise 220Ω par segment

Brochage du Bargraphe LED à 10 Segments

Brochage du bargraphe LED à 10 segments
  • Broches d'anode (A1–A10) : doivent être connectées aux broches GPIO via des résistances de 220Ω
  • Broches de cathode (K1–K10) : doivent être connectées à GND

※ Note:

L'ESP8266 NodeMCU fonctionne avec des niveaux logiques de 3,3V. GPIO0 (D3), GPIO2 (D4) et GPIO15 (D8) sont des broches de configuration de démarrage (boot strapping) — elles influencent le mode de démarrage de l'ESP8266 si elles sont maintenues à HIGH ou LOW à la mise sous tension. Une fois la carte démarrée, elles fonctionnent comme des sorties GPIO normales. Si vous rencontrez des problèmes de démarrage, vérifiez que ces broches ne sont pas accidentellement maintenues au mauvais niveau au démarrage.

Schéma de Câblage

Connectez le bargraphe LED à l'ESP8266 NodeMCU comme indiqué dans le tableau ci-dessous.

Schéma de câblage ESP8266 NodeMCU NodeMCU et bargraphe LED à 10 segments

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

Pour plus d'informations, consultez Brochage ESP8266. et Comment alimenter l'ESP8266..

Bargraphe LED Broche ESP8266 NodeMCU
A1 (Anode 1) D0 / GPIO16 (via 220Ω)
A2 (Anode 2) D1 / GPIO5 (via 220Ω)
A3 (Anode 3) D2 / GPIO4 (via 220Ω)
A4 (Anode 4) D3 / GPIO0 (via 220Ω)
A5 (Anode 5) D4 / GPIO2 (via 220Ω)
A6 (Anode 6) D5 / GPIO14 (via 220Ω)
A7 (Anode 7) D6 / GPIO12 (via 220Ω)
A8 (Anode 8) D7 / GPIO13 (via 220Ω)
A9 (Anode 9) D8 / GPIO15 (via 220Ω)
A10 (Anode 10) D9 / GPIO3 / RX (via 220Ω)
K1–K10 (Cathodes) GND

Comment Programmer l'ESP8266 NodeMCU pour le Bargraphe LED à 10 Segments

  • La première étape consiste à définir le tableau des numéros de broches GPIO connectées aux anodes du bargraphe LED
  • Chaque broche doit être configurée en sortie à l'aide de pinMode()
  • Pour allumer un segment, mettez la broche GPIO correspondante à HIGH à l'aide de digitalWrite()
  • Pour éteindre un segment, mettez la broche à LOW
  • Aucune bibliothèque externe n'est nécessaire pour ce projet

Code ESP8266 NodeMCU pour le Bargraphe LED à 10 Segments

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-10-segment-led-bar-graph */ const int NUM_SEGMENTS = 10; // D0(GPIO16), D1(GPIO5), D2(GPIO4), D3(GPIO0), D4(GPIO2), D5(GPIO14), D6(GPIO12), D7(GPIO13), D8(GPIO15), D9(GPIO3/RX) const int ledPins[NUM_SEGMENTS] = {16, 5, 4, 0, 2, 14, 12, 13, 15, 3}; void printBar(int litCount) { Serial.print("Bar: ["); for (int i = 0; i < NUM_SEGMENTS; i++) { Serial.print(i < litCount ? "*" : " "); } Serial.println("]"); } void setup() { Serial.begin(115200); for (int i = 0; i < NUM_SEGMENTS; i++) { pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i], LOW); } } void loop() { for (int i = 0; i < NUM_SEGMENTS; i++) { digitalWrite(ledPins[i], HIGH); printBar(i + 1); delay(100); } delay(500); for (int i = NUM_SEGMENTS - 1; i >= 0; i--) { digitalWrite(ledPins[i], LOW); printBar(i); delay(100); } delay(500); }

Étapes Rapides

  • Si c'est la première fois que vous utilisez l'ESP8266, consultez comment configurer l'environnement pour ESP8266 dans Arduino IDE.
  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 NodeMCU à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Sélectionnez la bonne carte et le bon port dans Outils → Carte et Outils → Port.
  • Copiez le code ci-dessus et collez-le dans Arduino IDE.
  • Cliquez sur Téléverser pour compiler et téléverser le code vers l'ESP8266 NodeMCU.
  • Ouvrez le Moniteur Série (débit en bauds : 115200) pour observer la sortie.

Sortie du Moniteur Série

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Bar: [* ] Bar: [** ] Bar: [*** ] Bar: [**** ] Bar: [***** ] Bar: [****** ] Bar: [******* ] Bar: [******** ] Bar: [********* ] Bar: [**********] Bar: [********* ] Bar: [******** ] Bar: [******* ] Bar: [****** ] Bar: [***** ] Bar: [**** ] Bar: [*** ] Bar: [** ] Bar: [* ] Bar: [ ]
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

Connaissances Supplémentaires

L'ESP8266 n'expose qu'environ 11 broches GPIO utilisables, ce qui constitue une contrainte importante comparé aux plus de 30 GPIO disponibles sur l'ESP32. Plusieurs de ces 11 broches sont sensibles au mode de démarrage (GPIO0, GPIO2, GPIO15), ce qui signifie que le niveau logique présent sur ces broches à la mise sous tension détermine la façon dont la puce démarre. Cela limite le nombre de projets nécessitant beaucoup de sorties pouvant être réalisés directement sur l'ESP8266 sans l'aide de périphériques.

Lorsque plus de canaux de sortie sont nécessaires que ce que l'ESP8266 peut fournir nativement, un registre à décalage tel que le 74HC595 est une solution pratique. Un seul 74HC595 fournit 8 lignes de sortie tout en n'utilisant que 3 broches GPIO (données, horloge, verrou). Plusieurs puces 74HC595 peuvent être chaînées pour étendre encore la capacité de sortie sans utiliser de GPIO supplémentaires, ce qui les rend bien adaptées pour piloter des matrices de LED, des bargraphes ou des afficheurs à segments sur des plateformes limitées en broches.

Vidéo

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 !