Arduino - Afficheur 7 segments à 4 chiffres TM1637
Un afficheur 7 segments à 4 chiffres standard est nécessaire pour les projets d'horloge, de minuterie et de compteur, mais il nécessite généralement 12 connexions. Le module TM1637 facilite les choses en ne nécessitant que 4 connexions : 2 pour l'alimentation et 2 pour contrôler les segments.
Ce tutoriel ne vous surchargera pas en plongeant profondément dans le matériel. Au lieu de cela, nous apprendrons à connecter l'afficheur à 7 segments de 4 chiffres à un Arduino, et comment le programmer pour afficher ce que nous voulons.
Ce tutoriel va utiliser le module d'affichage à 7 segments 4 chiffres séparés par des deux-points. Si vous souhaitez afficher des nombres flottants, veuillez utiliser le Module d'affichage 7 segments 4 chiffres 74HC595
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos de l’afficheur TM1637 à 4 chiffres et 7 segments
Un module TM1637 se compose généralement de quatre LED à 7 segments et d'une LED en forme de deux-points au milieu : il est idéal pour afficher l'heure en heures et minutes, ou les minutes et les secondes, ou les scores de deux équipes.
Brochage
Le module d'affichage TM1637 à 4 chiffres et 7 segments inclut 4 broches :
- Broche CLK : 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 I/O. Connectez-la à n'importe quelle broche numérique sur Arduino.
- Broche VCC : la broche alimente le module en énergie. Connectez-la à une alimentation de 3,3V à 5V.
- Broche GND : est une broche de masse.
Diagramme de câblage
Pour connecter un TM1637 à un Arduino, connectez quatre fils : deux pour l'alimentation et deux pour contrôler l'affichage. Le module peut être alimenté par la sortie 5 volts de l'Arduino. Connectez les broches CLK et DIO à n'importe quelles broches numériques de l'Arduino. Par exemple, 2 et 3 sur l'Arduino. Les numéros de broche dans le code doivent être modifiés si d'autres broches sont utilisées.
This image is created using Fritzing. Click to enlarge image
Installation de la bibliothèque
Pour programmer facilement pour l'afficheur à 7 segments et 4 chiffres TM1637, nous devons installer la bibliothèque TM1637Display par Avishay Orpaz. Suivez les étapes ci-dessous pour installer la bibliothèque :
- Naviguez vers l'icône Libraries sur la barre latérale gauche de l'IDE Arduino.
- Recherchez "TM1637", puis trouvez la bibliothèque TM1637Display de Avishay Orpaz
- Cliquez sur le bouton Install.
Comment programmer TM1637 à 4 chiffres et 7 segments avec Arduino
- Inclure la bibliothèque
- Définissez les broches d'Arduino qui se connectent à CLK et DIO du module d'affichage. Par exemple, broche D9 et D10.
- Créez un objet d'affichage de type TM1637Display.
- Ensuite, vous pouvez afficher un nombre, un nombre avec décimale, un nombre avec signe moins, ou une lettre. Dans le cas d'une lettre, vous devez définir la forme de la lettre. Voyons cela un par un.
- Afficher un nombre : voir les exemples ci-dessous, le '_' dans la description ci-dessous représente un chiffre qui ne montre rien en pratique :
- Affichez le nombre avec un deux-points ou un point.
Vous trouverez plus de détails dans les références de fonction à la fin de ce tutoriel.
Code Arduino
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour charger le code sur Arduino
- Observez les états de l'affichage à 7 segments
Vidéo
Références de fonction
Les éléments ci-dessous sont des références pour les fonctions suivantes :
- display.effacer()
- display.afficherNombreDec()
- display.afficherNombreDecEx()
- display.definirSegments()
- display.reglerLuminosite()
display.clear()
Description
Cette fonction efface l'affichage. Elle éteint toutes les LED.
display.showNumberDec()
Description
La fonction est utilisée pour afficher un nombre décimal sur l'affichage à 7 segments.
Syntaxe
Paramètre
- num : C'est le nombre à afficher sur l'afficheur 7 segments. Il doit être compris entre -9999 et 9999.
- leading_zero : C'est un paramètre optionnel dont la valeur par défaut est false. S'il est défini sur true, des zéros non significatifs seront affichés.
- length : C'est un paramètre optionnel dont la valeur par défaut est 4. Il détermine le nombre de chiffres à afficher sur l'afficheur 7 segments.
- pos : C'est un paramètre optionnel dont la valeur par défaut est 0. Il définit la position du chiffre le plus significatif du nombre.
Veuillez noter que si le numéro est hors plage ou si la valeur de la longueur dépasse 4, la fonction n'affichera rien.
showNumberDecEx()
Description
La fonction est utilisée pour afficher un nombre décimal sur l'affichage à 7 segments avec des fonctionnalités supplémentaires par rapport à la fonction showNumberDec(). C'est une version avancée de showNumberDec() qui vous permet de contrôler les segments de point ou de deux-points de chaque chiffre individuellement.
Syntaxe
Paramètre
- num1 : Il s'agit du nombre à afficher sur l'afficheur à 7 segments. Il doit être compris dans l'intervalle de -9999 à 9999.
- dots : Ce paramètre est utilisé pour spécifier quels segments de l'affichage doivent être allumés sous forme de points. Chaque bit de la valeur correspond à un chiffre sur l'affichage : Valeur valide
- 0b10000000 : affiche le premier point : 0.000
- 0b01000000 : affiche le deuxième point : 00.00
- 0b00100000 : affiche le troisième point : 000.0
- 0b01000000 : Pour les affichages avec juste un deux-points : 00:00
- leading_zero : C'est un paramètre optionnel dont la valeur par défaut est false. S'il est réglé sur true, les zéros non significatifs seront affichés.
- length : C'est un paramètre optionnel dont la valeur par défaut est de 4. Il définit le nombre de chiffres à afficher sur l'afficheur à 7 segments.
- pos : C'est un paramètre optionnel dont la valeur par défaut est de 0. Il définit la position du chiffre le plus significatif du nombre.
Par exemple, si vous appelez display.showNumberDecEx(1530,0b01000000); cela affichera le nombre 15:30 sur l'afficheur à 7 segments.
Veuillez noter que, si le numéro est hors de portée ou si la valeur de la longueur est supérieure à 4, la fonction n'affichera rien.
setSegments()
Description
La fonction est utilisée pour régler directement les segments de l'affichage 7 segments. Elle peut servir à afficher des lettres, des caractères spéciaux, ou à activer tous les segments LED.
Syntaxe
Paramètre
- segments : Ce paramètre définit les segments de l'affichage à 7 segments, il s'agit d'un tableau d'octets, où chaque octet représente les segments de chaque chiffre. Chaque segment est représenté par un bit dans l'octet.
- length : Il s'agit d'un paramètre optionnel avec une valeur par défaut de 4. Il définit le nombre de chiffres à afficher sur l'affichage à 7 segments.
- pos : Il s'agit d'un paramètre optionnel avec une valeur par défaut de 0. Il définit la position du chiffre le plus significatif du nombre.
Cette fonction est utile lorsque vous souhaitez afficher des caractères ou des symboles qui ne sont pas inclus dans l'affichage à 7 segments de base. En réglant directement les segments, vous pouvez afficher n'importe quel motif que vous désirez.
Veuillez noter que si le nombre est hors de portée ou si la valeur de la longueur est supérieure à 4, la fonction n'affichera rien.
setBrightness()
Description
La fonction est utilisée pour régler la luminosité de l'affichage à 7 segments.
Syntaxe
Paramètre
- luminosité : Ce paramètre définit le niveau de luminosité de l'affichage à 7 segments. La valeur doit être comprise entre 0 et 7. Une valeur plus élevée résulte en un affichage plus lumineux.
- activé : Il s'agit d'un paramètre optionnel avec une valeur par défaut à vrai. Il est utilisé pour allumer ou éteindre l'affichage. S'il est réglé sur faux, l'affichage sera éteint.