ESP32 - Afficheur 4 chiffres à 7 segments 74HC595

Ce tutoriel vous guide sur l'utilisation d'un ESP32 pour contrôler un module d'affichage à 4 chiffres 7 segments 74HC595. Il couvre les sujets suivants :

ESP32 74HC595 affichage 4 chiffres à 7 segments

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

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×74HC595 4-digit 7-segment Display
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for ESP32
1×(Recommended) ESP32 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 et 7 segments 74HC595

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

Schéma de brochage

Le module d'affichage à 4 chiffres et 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 ESP32.
  • Broche RCLK : est une broche d'entrée d'horloge. Connectez-la à n'importe quelle broche numérique sur ESP32.
  • Broche DIO : est une broche de données entrée/sortie. Connectez-la à n'importe quelle broche numérique sur ESP32.
  • Broche VCC : alimente le module en énergie. Connectez-la à une alimentation de 3,3V à 5V.
  • 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 ESP32 et les broches d'un afficheur à 7 segments 4 chiffres 74HC595 :

ESP32 74HC595 7-segment display
Vin5V
27SCLK
26RCLK
25DIO

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

Schéma de câblage du module ESP32 74HC595

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Installation de la bibliothèque

Pour programmer facilement pour l’afficheur à 7 segments 4 chiffres 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 gauche de l'IDE Arduino.
  • Recherchez "DIYables_4Digit7Segment_74HC595", puis trouvez la bibliothèque DIYables_4Digit7Segment_74HC595 par DIYables.io
  • Cliquez sur le bouton Install.
Bibliothèque ESP32 74HC595 pour afficheur 7 segments à 4 chiffres

Vous pouvez également voir cette bibliothèque sur Github

Comment programmer un afficheur 4 chiffres 7 segments 74HC595 avec un ESP32

  • Incluez la bibliothèque
#include <DIYables_4Digit7Segment_74HC595.h>
  • Définissez les broches de l'ESP32 qui se connectent à SCLK, RCLK et DIO du module d'affichage. Par exemple, broche D7, D6 et D5.
#define SCLK 27 // Le pin GPIO27 de l'ESP32 connecté à SCLK #define RCLK 26 // Le pin GPIO26 de l'ESP32 connecté à RCLK #define DIO 25 // Le pin GPIO25 de l'ESP32 connecté à 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 par des zéros, prenant en charge le nombre négatif :
display.printInt(-13, false); // vous pouvez afficher une valeur de -999 à 9999
  • Vous pouvez afficher les nombres à virgule avec l'emplacement décimal, les options de remplissage par 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); // place le chiffre 9 au 1er digit display.setDot(1); // place un point sur le 1er digit display.setNumber(2, 3); // place le chiffre 3 au 2ème digit display.setChar(3, SegChars::DEGREE); // place le symbole ° sur le 3ème digit display.setChar(4, SegChars::C); // place le caractère C sur le 4ème digit display.show(); // afficher sur l'écran
  • Parce que le module 74HC595 à 4 chiffres et 7 segments utilise la technique de multiplexage pour contrôler les segments individuels et les LED, le code ESP32 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 ESP32 - Afficher un Entier

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 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

  • Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Effectuez le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Copiez le code ci-dessus et ouvrez-le avec ESP32 IDE.
  • Cliquez sur le bouton Upload de l'IDE ESP32 pour charger le code sur ESP32.
  • Observez les états de l'affichage à 7 segments.

Code ESP32 - Afficher un nombre flottant

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 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 ESP32 - Afficher la Température

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 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!