ESP8266 - Afficheur 4 chiffres à 7 segments 74HC595

Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler un module d'affichage à 4 chiffres à 7 segments 74HC595. En détail, nous apprendrons :

ESP8266 NodeMCU 74HC595 affichage 4 chiffres à 7 segments

Ce tutoriel utilisera un module d'affichage à 4 chiffres et 7 segments à 4 points capable d'afficher des valeurs flottantes. Si vous devez afficher un séparateur de deux-points, veuillez consulter le Module d'affichage à 7 segments et 4 chiffres TM1637

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×74HC595 4-digit 7-segment Display
1×Jumper Wires
1×(Optional) 9V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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 de l'affichage 4 chiffres 7 segments 74HC595

Un module idéal pour afficher la température ou toute valeur décimale est l'afficheur 4 chiffres à 7 segments 74HC595. Ce module comprend généralement quatre LEDs à 7 segments, quatre LEDs en forme de point et deux pilotes 74HC595 pour chaque chiffre.

Brochage

Le module d'affichage 4 chiffres à 7 segments 74HC595 comprend 5 broches :

  • Broche SCLK : est une broche d'entrée d'horloge. Connectez-la à n'importe quelle broche numérique sur ESP8266.
  • Broche RCLK : est une broche d'entrée d'horloge. Connectez-la à n'importe quelle broche numérique sur ESP8266.
  • Broche DIO : est une broche de données I/O. Connectez-la à n'importe quelle broche numérique sur ESP8266.
  • Broche VCC : alimente le module. Connectez-la à l'alimentation de 3,3 V à 5 V.
  • Broche GND : est une broche de masse.
Brochage du module 74HC595

Diagramme de câblage

Le tableau ci-dessous montre le câblage entre les broches ESP8266 et les broches d'un afficheur 7 segments 4 chiffres 74HC595 :

ESP8266 74HC595 7-segment display
Vin5V
D5SCLK
D6RCLK
D7DIO

Si vous utilisez des broches différentes, assurez-vous de modifier les numéros de broche dans le code en conséquence.

Schéma de câblage du module ESP8266 NodeMCU 74HC595

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Installation de la bibliothèque

Pour programmer facilement pour l'affichage à 4 chiffres et 7 segments 74HC595, nous devons installer la bibliothèque DIYables_4Digit7Segment_74HC595 par DIYables.io. Suivez les étapes ci-dessous pour installer la bibliothèque :

  • Cliquez sur l'icône Libraries dans la barre de gauche de l'IDE Arduino.
  • Recherchez "DIYables_4Digit7Segment_74HC595", puis trouvez la bibliothèque DIYables_4Digit7Segment_74HC595 de DIYables.io
  • Cliquez sur le bouton Install.
Bibliothèque d'affichage à 4 chiffres et 7 segments ESP8266 NodeMCU 74HC595

Vous pouvez également consulter cette bibliothèque sur Github

Comment programmer un affichage 4 chiffres 7 segments 74HC595 avec un ESP8266

  • Inclure la bibliothèque
#include <DIYables_4Digit7Segment_74HC595.h>
  • Définissez les broches de l'ESP8266 qui se connectent à SCLK, RCLK et DIO du module d'affichage. Par exemple, broche D7, D6 et D5.
#define SCLK D5 // La broche ESP8266 connectée à SCLK #define RCLK D6 // La broche ESP8266 connectée à RCLK #define DIO D7 // La broche ESP8266 connectée à DIO
  • Créez un objet d'affichage de type DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • Ensuite, vous pouvez afficher les nombres entiers avec l'option de remplissage de zéros, en prenant en charge le nombre négatif :
display.printInt(-13, false); // vous pouvez afficher une valeur de -999 à 9999
  • Vous pouvez afficher les nombres flottants avec des options de position décimale et de remplissage par des zéros, en prenant en charge le nombre négatif :
display.printFloat(-9.2, 1, false);
  • Vous pouvez également afficher des nombres, des points décimaux, des caractères chiffre par chiffre en utilisant des fonctions de bas niveau :
// afficher 9.3°C display.clear(); display.setNumber(1, 9); // placer 9 au 1er chiffre display.setDot(1); // placer . au 1er chiffre display.setNumber(2, 3); // placer 3 au 2ème chiffre display.setChar(3, SegChars::DEGREE); // placer ° au 3ème chiffre display.setChar(4, SegChars::C); // placer C au 4ème chiffre display.show(); // montrer sur l'affichage
  • Parce que le module 74HC595 à 4 chiffres et 7 segments utilise la technique du multiplexage pour contrôler les segments individuels et les LED, le code ESP8266 DOIT :
    • Appeler la fonction display.show() dans la boucle principale
    • Ne pas utiliser la fonction delay() dans la boucle principale

    Vous pouvez voir plus de détails dans la référence de la bibliothèque

Code ESP8266 - Afficher un Entier

/* * 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-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D5 // The ESP8266 pin connected to SCLK #define RCLK D6 // The ESP8266 pin connected to RCLK #define DIO D7 // The ESP8266 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printInt(-13, false); // you can display a value from -999 to 9999 //display.printInt(-132, false); //display.printInt(9132, false); //display.printInt(132, false); //display.printInt(32, false); //display.printInt(2, false); //display.printInt(2, true); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Étapes rapides

Pour commencer avec l'ESP8266 sur l'Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code ci-dessus et ouvrez-le avec ESP8266 IDE
  • Cliquez sur le bouton Upload sur ESP8266 IDE pour charger le code sur ESP8266
  • Observez les états de l'affichage à 7 segments

Code ESP8266 - Afficher un nombre flottant

/* * 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-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D5 // The ESP8266 pin connected to SCLK #define RCLK D6 // The ESP8266 pin connected to RCLK #define DIO D7 // The ESP8266 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printFloat(-9.2, 1, false); //display.printFloat(-92.4, 1, false); //display.printFloat(-9.24, 2, false); //display.printFloat(192.4, 1, false); //display.printFloat(19.24, 2, false); //display.printFloat(1.924, 3, false); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Code ESP8266 - Afficher la Température

/* * 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-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D5 // The ESP8266 pin connected to SCLK #define RCLK D6 // The ESP8266 pin connected to RCLK #define DIO D7 // The ESP8266 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); // display 9.3°C by controlling digit by digit display.clear(); display.setNumber(1, 9); // set 9 at the 1st digit display.setDot(1); // set . at the 1st digit display.setNumber(2, 3); // set 3 at the 2nd digit display.setChar(3, SegChars::DEGREE); // set ° at the 3rd digit display.setChar(4, SegChars::C); // set C at the 3rd digit display.show(); // show on the display } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!