Arduino Nano - Afficheur 4 chiffres 7 segments 74HC595

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

Arduino Nano 74HC595 affichage 4 chiffres à 7 segments

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

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×74HC595 4-digit 7-segment Display
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
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 du 74HC595 et de l'affichage à 4 chiffres 7 segments

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.

Schéma des broches

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

Arduino Nano 74HC595 7-segment display
5V5V
7SCLK
6RCLK
5DIO

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 74HC595

This image is created using Fritzing. Click to enlarge image

Installation de la bibliothèque

Pour programmer facilement pour l'affichage 4 chiffres 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 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 Arduino Nano 74HC595 pour afficheur 4 chiffres à 7 segments

Vous pouvez également voir cette bibliothèque sur Github

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

  • Incluez la bibliothèque
#include <DIYables_4Digit7Segment_74HC595.h>
  • Définissez les broches de l'Arduino Nano qui se connectent à SCLK, RCLK et DIO du module d'affichage. Par exemple, broche D7, D6 et D5.
#define SCLK 7 // La broche Arduino Nano connectée à SCLK #define RCLK 6 // La broche Arduino Nano connectée à RCLK #define DIO 5 // La broche 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 zéro, 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 la virgule décimale, les options de remplissage par zéro, 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 le 9 au 1er chiffre display.setDot(1); // placer le point au 1er chiffre display.setNumber(2, 3); // placer le 3 au 2ème chiffre display.setChar(3, SegChars::DEGREE); // placer le ° au 3ème chiffre display.setChar(4, SegChars::C); // placer le C au 4è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 Arduino Nano 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 - Afficher un entier

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano 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

  • Connectez votre Arduino Nano à un ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino, sélectionnez la carte et le port corrects.
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino Nano
  • Cliquez sur le bouton Upload dans l'IDE Arduino Nano pour téléverser le code sur Arduino Nano
  • Observez les états de l'affichage à 7 segments

Code Arduino Nano - Afficher un nombre flottant

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano 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 - Afficher la Température

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano 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!