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 Arduino - Afficheur 7 segments à 4 chiffres TM1637.

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×74HC595 4-digit 7-segment Écran
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !