ESP8266 - Afficheur 4 chiffres 7 segments TM1637
Ce tutoriel vous explique comment utiliser l'ESP8266 avec l'afficheur 4 chiffres 7 segments, module TM1637. En détail, nous allons apprendre :
- Comment connecter un afficheur 7 segments à 4 chiffres à un ESP8266
- Comment programmer un ESP8266 pour afficher des informations sur un afficheur 7 segments à 4 chiffres.
Dans ce tutoriel, nous utiliserons un module d'affichage 7 segments à 4 chiffres avec un séparateur de deux-points. Si vous souhaitez afficher des nombres à virgule, veuillez consulter le tutoriel Module d'affichage 7 segments à 4 chiffres 74HC595.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | TM1637 4-digit 7-segment Display | |
1 | × | Jumper Wires | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | |
1 | × | (Optional) ESP8266 Screw Terminal Adapter |
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'affichage TM1637 4 chiffres à 7 segments
Un afficheur à 7 segments à 4 chiffres est couramment utilisé pour les horloges, les minuteries et les compteurs, affichant la température... Cependant, il nécessite généralement 12 connexions. Le module TM1637 simplifie cela en n'ayant besoin que de 4 connexions : 2 pour l'alimentation et 2 pour contrôler les segments.
Un module TM1637 se compose généralement de quatre LED à 7 segments et de l'une des options suivantes :
- Un voyant LED en forme de deux-points au milieu : Il est idéal pour afficher l'heure en heures et minutes, ou minutes et secondes, ou les scores de deux équipes.
- Quatre LED en forme de point pour chaque chiffre : Ils sont idéaux pour afficher la température ou toute valeur décimale.
Le brochage de l’afficheur à 7 segments et 4 chiffres TM1637
Le module d'affichage à 4 chiffres et 7 segments TM1637 dispose de quatre broches :
- Broche CLK : est une broche d'entrée d'horloge qui doit être connectée à n'importe quelle broche numérique sur ESP8266.
- Broche DIO : est une broche de données entrée/sortie qui doit être connectée à n'importe quelle broche numérique sur ESP8266.
- Broche VCC : est utilisée pour alimenter le module et doit être connectée à l'alimentation de 3,3V à 5V.
- Broche GND : est une broche de masse qui doit être connectée à la masse de l'ESP8266.
Diagramme de câblage
Afin de connecter un TM1637 à un ESP8266, quatre fils sont nécessaires : deux pour l'alimentation et deux pour contrôler l'affichage. Le module peut être alimenté par la sortie 5 volts de l'ESP8266. Les broches CLK et DIO doivent être connectées à n'importe quelles broches numériques de l'Arduino ; par exemple, les broches 2 et 3. Si des broches différentes sont utilisées, les numéros de broches dans le code doivent être modifiés.
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Installation de la bibliothèque
Pour programmer facilement pour l'affichage à 7 segments à 4 chiffres TM1637, nous devons installer la bibliothèque TM1637Display par Avishay Orpaz. 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 "TM1637", puis trouvez la bibliothèque TM1637Display par Avishay Orpaz.
- Cliquez sur le bouton Install.
Comment programmer pour TM1637 4 chiffres 7 segments en utilisant ESP8266.
- Inclure la bibliothèque
- Spécifiez les broches ESP8266 qui sont connectées au CLK et au DIO du module d'affichage. Par exemple, D2 et D1.
- Créez un objet TM1637Display.
- Ensuite, vous pouvez afficher des nombres, des nombres avec des décimales, des nombres avec des signes négatifs ou des lettres. Dans le cas des lettres, vous devez spécifier la forme de la lettre. Examinons chacun séparément.
- Affichage des nombres : voir les exemples ci-dessous, '_' dans la description suivante représente un chiffre qui n'est pas affiché en pratique :
- Affichez le nombre avec deux-points ou un point :
Vous trouverez des informations supplémentaires concernant les fonctions à la fin de ce tutoriel.
Code ESP8266
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de l'ESP8266.
- Connectez les composants comme indiqué sur le schéma.
- Connectez la carte ESP8266 à votre ordinateur via un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, par exemple NodeMCU 1.0 (Module ESP-12E), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload pour transférer le code vers l'ESP8266.
- Vérifiez les états de l'affichage à 7 segments.
Vidéo
Références de fonction
Voici les références pour :
- display.clear()
- display.afficherNombreDec()
- display.afficherNombreDecEx()
- display.configurerSegments()
- display.reglerLuminosite()
display.clear()
Description
Cette fonction efface l'affichage. Elle éteint toutes les LED.
display.showNumberDec()
Description
L'affichage à 7 segments est utilisé pour afficher un nombre décimal. Cette fonction est utilisée à cette fin.
Syntaxe
Paramètre
- num : est la valeur à afficher sur l'afficheur à 7 segments, allant de -9999 à 9999.
- leading_zero : un paramètre optionnel avec une valeur par défaut de false, détermine si les zéros non significatifs doivent être affichés.
- length, un autre paramètre optionnel avec une valeur par défaut de 4, définit le nombre de chiffres à afficher.
- pos : également un paramètre optionnel avec une valeur par défaut de 0, définit la position du chiffre le plus significatif.
Veuillez noter que la fonction n'affichera rien si le numéro est hors de la plage ou si la valeur de longueur dépasse 4.
showNumberDecEx()
Description
Cette fonction est une amélioration de showNumberDec(), offrant plus de contrôle sur l'affichage d'un nombre décimal sur l'afficheur à 7 segments. Elle a la capacité de contrôler individuellement le point ou les deux-points de chaque chiffre.
Syntaxe
Paramètre
- num1 : C'est le nombre à afficher sur l'afficheur à 7 segments. Il doit être compris entre -9999 et 9999.
- dots : Ce paramètre est utilisé pour spécifier quels segments de l'affichage doivent être allumés comme des points. Chaque bit de la valeur correspond à un chiffre sur l'affichage. Les valeurs possibles sont :
- 0b10000000 pour afficher le premier point (0.000)
- 0b01000000 pour afficher le deuxième point (00.00), ou les deux-points (00:00), cela dépend du type de module.
- 0b00100000 pour afficher le troisième point (000.0)
- leading_zero : C'est un paramètre facultatif dont la valeur par défaut est false. S'il est défini sur true, les zéros non significatifs seront affichés.
- length : C'est un paramètre facultatif 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 facultatif dont la valeur par défaut est 0. Il définit la position du chiffre le plus significatif du nombre.
Par exemple, si vous utilisez display.showNumberDecEx(1530, 0b01000000), cela affichera :
- Le numéro 15:30 sur l'affichage à 7 segments si le module possède une LED en forme de deux-points.
- Le numéro 15.30 sur l'affichage à 7 segments si le module possède des LED en forme de points.
Veuillez être conscient que la fonction n'affichera rien si le nombre est hors de la plage ou si la valeur de la longueur dépasse 4.
définirSegments()
Description
La fonction permet de définir directement les segments de l'afficheur 7 segments. Elle peut être utilisée pour afficher des lettres, des caractères spéciaux, ou pour éteindre tous les segments LED.
Syntaxe
Paramètre
- segments : Ce paramètre définit les segments de l'affichage à 7 segments, qui est un tableau d'octets. Chaque octet représente les segments de chaque chiffre et chaque segment est représenté par un bit dans l'octet.
- length : C'est un paramètre optionnel avec une valeur par défaut de 4. Il détermine le nombre de chiffres à afficher sur l'affichage à 7 segments.
- pos : C'est un paramètre optionnel avec une valeur par défaut de 0. Il spécifie la position du chiffre le plus significatif du nombre.
Cette fonction est utile lorsque vous avez besoin d'afficher des caractères ou des symboles qui ne sont pas disponibles sur l'affichage standard à 7 segments. Vous pouvez créer n'importe quel motif que vous désirez en réglant directement les segments.
Veuillez être conscient que la fonction n'affichera rien si le nombre est hors de portée ou si la valeur de la longueur est supérieure à 4.
setBrightness()
Description
La luminosité de l'affichage à 7 segments peut être réglée à l'aide de cette fonction.
Syntaxe
Paramètre
- luminosité : Ce paramètre ajuste la luminosité de l'affichage à 7 segments. La valeur doit être comprise entre 0 et 7, un nombre plus élevé produisant un affichage plus lumineux.
- on : Il s'agit d'un paramètre optionnel, avec une valeur par défaut de vrai. Il est utilisé pour activer ou désactiver l'affichage. S'il est réglé sur faux, l'affichage sera désactivé.