Arduino Nano ESP32 - Afficheur 4 chiffres 7 segments 74HC595

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

Arduino Nano ESP32 74HC595 afficheur 4 chiffres à 7 segments

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

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×74HC595 4-digit 7-segment Display
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano ESP32
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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 flottante est l’afficheur à 4 chiffres 7 segments 74HC595. Ce module comprend généralement quatre LED 7 segments, quatre LED 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 : broche d'entrée d'horloge. Connectez-la à n'importe quelle broche numérique sur Arduino Nano ESP32.
  • Broche RCLK : broche d'entrée d'horloge. Connectez-la à n'importe quelle broche numérique sur Arduino Nano ESP32.
  • Broche DIO : broche de données entrée/sortie. Connectez-la à n'importe quelle broche numérique sur Arduino Nano ESP32.
  • Broche VCC : fournit de l'énergie au module. Connectez-la à l'alimentation de 3,3V à 5V.
  • Broche GND : broche de masse.
Schéma de brochage du module 74HC595

Diagramme de câblage

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

Arduino Nano ESP32 74HC595 7-segment display
3.3VVCC
D7SCLK
D6RCLK
D5DIO

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 Arduino Nano ESP32 74HC595

This image is created using Fritzing. Click to enlarge image

Installation de la bibliothèque

Pour programmer facilement un 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 :

  • Ouvrez le Gestionnaire de Bibliothèques en cliquant sur l'icône Gestionnaire de Bibliothèques située dans la barre de navigation de 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 d'affichage à 4 chiffres et 7 segments Arduino Nano ESP32 74HC595

Vous pouvez également voir cette bibliothèque sur Github

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

  • Inclure 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 D7 // La broche ESP32 Arduino Nano connectée à SCLK #define RCLK D6 // La broche ESP32 Arduino Nano connectée à RCLK #define DIO D5 // La broche ESP32 Arduino Nano 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 par des 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 placement décimal et de remplissage par des zéros, prenant en charge le nombre négatif :
display.printFloat(-9.2, 1, false);
  • Vous pouvez également afficher les nombres, les points décimaux, les caractères chiffre par chiffre en utilisant des fonctions de bas niveau :
// afficher 9.3°C display.clear(); display.setNumber(1, 9); // mettre 9 au 1er chiffre display.setDot(1); // mettre . au 1er chiffre display.setNumber(2, 3); // mettre 3 au 2ème chiffre display.setChar(3, SegChars::DEGREE); // mettre ° au 3ème chiffre display.setChar(4, SegChars::C); // mettre C au 3ème chiffre display.show(); // montrer sur l'affichage
  • Parce que le module 74HC595 à 4 chiffres et 7 segments utilise la technique de multiplexage pour contrôler les segments et les LED individuels, le code de l'Arduino Nano 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 Arduino Nano ESP32 - Afficher un Entier

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 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'Arduino Nano ESP32, suivez ces étapes :

  • Si vous êtes nouveau avec l'Arduino Nano ESP32, consultez le tutoriel sur comment configurer l'environnement pour l'Arduino Nano ESP32 dans l'Arduino IDE.
  • Câblez les composants selon le schéma fourni.
  • Connectez la carte Arduino Nano ESP32 à votre ordinateur via un câble USB.
  • Lancez l'Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano ESP32 et son port COM correspondant.
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino Nano ESP32
  • Cliquez sur le bouton Upload sur l'IDE Arduino Nano ESP32 pour charger le code sur Arduino Nano ESP32
  • Observez les états de l'affichage à 7 segments

Code Arduino Nano ESP32 - Afficher un nombre flottant

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 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 Arduino Nano ESP32 - Affichage de la Température

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 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!