Arduino - Afficheur 4 chiffres à 7 segments 74HC595

Un afficheur standard à 7 segments de 4 chiffres est nécessaire pour des projets d'horloge, de minuterie et de compteur, mais il nécessite généralement 12 connexions. Le module 74HC595 simplifie cela en ne nécessitant que 5 connexions : 2 pour l'alimentation et 3 pour contrôler les segments.

Ce tutoriel ne vous submergera pas en plongeant profondément dans le matériel. Au lieu de cela, nous apprendrons comment connecter l'afficheur 7 segments à 4 chiffres à un Arduino, et comment le programmer pour afficher ce que nous voulons.

Arduino 74HC595 affichage 4 chiffres à 7 segments

Ce tutoriel va utiliser le module d'affichage 4 points à 4 chiffres à 7 segments capable d'afficher les valeurs flottantes. Si vous souhaitez afficher un séparateur de deux points, veuillez utiliser le Module d'affichage à 7 segments 4 chiffres TM1637

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×74HC595 4-digit 7-segment Display
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 d'affichage à 4 chiffres et 7 segments 74HC595 est généralement composé de 4 LEDs à 7 segments, 4 LEDs en forme de point et d'un pilote 74HC595 pour chaque chiffre : il est idéal pour afficher la température ou toute valeur décimale.

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 Arduino.
  • Broche RCLK : est une broche d'entrée d'horloge. Connectez-la à n'importe quelle broche numérique sur Arduino.
  • Broche DIO : est une broche de données entrée/sortie. Connectez-la à n'importe quelle broche numérique sur Arduino.
  • Broche VCC : fournit de l'énergie au module. Connectez-la à une alimentation électrique de 3,3V à 5V.
  • Broche GND : est une broche de terre.
Brochage du module 74HC595

Diagramme de câblage

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

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

Les numéros de broche dans le code doivent être modifiés si d'autres broches sont utilisées.

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

This image is created using Fritzing. Click to enlarge image

Installation de la bibliothèque

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

  • Naviguez jusqu'à l'icône Libraries sur la barre 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 Arduino 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

  • Inclure la bibliothèque
#include <DIYables_4Digit7Segment_74HC595.h>
  • Définissez les broches d'Arduino qui se connectent à SCLK, RCLK et DIO du module d'affichage. Par exemple, la broche D7, D6 et D5.
#define SCLK 7 // La broche Arduino connectée à SCLK #define RCLK 6 // La broche Arduino connectée à RCLK #define DIO 5 // La broche Arduino 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 décimales, des options de remplissage de 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 le 9 au premier chiffre display.setDot(1); // placer un point au premier chiffre display.setNumber(2, 3); // placer le 3 au deuxième chiffre display.setChar(3, SegChars::DEGREE); // placer le symbole ° au troisième chiffre display.setChar(4, SegChars::C); // placer le C au quatrième chiffre display.show(); // afficher sur l'écran
  • Étant donné que le module 74HC595 à 4 chiffres et 7 segments utilise la technique de multiplexage pour contrôler les segments et les LED individuellement, le code Arduino 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 - Afficher un Entier

/* Created by DIYables This example code is in the public domain Product page: https://diyables.io/products/4-digit-7-segment-display-led-74hc595-driver-with-4-dots */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino pin connected to SCLK #define RCLK 6 // The Arduino pin connected to RCLK #define DIO 5 // The Arduino 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

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur l'Arduino
  • Observez les états de l'afficheur 7 segments

Code Arduino - Afficher un nombre flottant

/* Created by DIYables This example code is in the public domain Product page: https://diyables.io/products/4-digit-7-segment-display-led-74hc595-driver-with-4-dots */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino pin connected to SCLK #define RCLK 6 // The Arduino pin connected to RCLK #define DIO 5 // The Arduino 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 - Afficher la Température

/* Created by DIYables This example code is in the public domain Product page: https://diyables.io/products/4-digit-7-segment-display-led-74hc595-driver-with-4-dots */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino pin connected to SCLK #define RCLK 6 // The Arduino pin connected to RCLK #define DIO 5 // The Arduino 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 }

Le résultat est comme l'image ci-dessous :

Le module Arduino 74HC595 affiche la température.

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!