Description
Cet écran LED à 7 segments comporte 4 chiffres contrôlés par la puce de pilote TM1637. Il ne nécessite que deux connexions pour contrôler ce module d’affichage LED à tube numérique 4 bits TM1637. De plus, grâce au bus I2C, vous pouvez le contrôler en utilisant seulement 2 fils, ce qui laisse plus de broches disponibles sur votre microcontrôleur pour connecter d’autres éléments.
Le module est une horloge de 12 pieds avec quatre tubes d’anode communs (0,36 pouce) pour le pilote IC TM1637, seules deux lignes de signal peuvent permettre au MCU de contrôler quatre tubes numériques à 7 segments.
Il existe plusieurs modules utilisant cette puce TM1637 pour ancien un module d’affichage numérique à 4 chiffres.
Description du dépliant :
Il y a un connecteur mâle à angle droit à 4 broches sur le module pour établir des connexions.
CLK est une broche d’entrée d’horloge. Connectez-la à n’importe quelle broche numérique sur Arduino.
DIO est une broche d’E/S de données. Connectez-la à n’importe quelle broche numérique sur Arduino.
La broche VCC alimente le module. Connectez-la à l’alimentation 3,3 V à 5 V.
GND est une broche de terre.
Caractéristiques :
- Facilité d’utilisation.
- Facilité de multiplexage.
- Peut être utilisé comme unité d’affichage à 4 chiffres.
- Peut être utilisé comme affichage d’horloge.
- Projet d’horloge DIY.
- Unité d’affichage à 4 chiffres.
- Projets électriques/électroniques.
- Le projet de compteur utilisant un affichage à 7 segments.
- 4 trous de positionnement de vis M2 pour une installation facile
Prise en main de l’afficheur à 4 chiffres et 7 segments TM1637
Dans ce tutoriel, vous apprendrez comment contrôler les écrans TM1637 à 4 chiffres et 7 segments avec le programme Arduino pour afficher le comptage de 0 à 9999. Ces écrans sont fantastiques pour afficher les données des capteurs, la température, l’heure, etc.
Matériel requis
- Arduino Uno
- Câbles de liaison mâle vers femelle
- Affichage à 4 chiffres et 7 segments TM1637
Connexion du matériel
Connecter le TM1637 à un Arduino est très simple. Il suffit de connecter quatre fils : deux pour l’alimentation et les deux autres pour contrôler l’affichage. Le module est alimenté en toute sécurité par la sortie 5 volts de l’Arduino. Les broches CLK et DIO sont connectées respectivement aux broches numériques 2 et 3 de l’Arduino. Vous trouverez ci-dessous le branchement pour les expériences avec le TM1637 :
Aucune des broches utilisées sur l’Arduino n’est critique car le module ne nécessite aucune fonctionnalité spécifique aux broches. Par conséquent, si vous souhaitez utiliser des broches différentes, vous pouvez le faire en toute sécurité. Veillez simplement à modifier les numéros de broches dans le code pour refléter les modifications apportées au câblage.
Installation de la bibliothèque
Pour installer la bibliothèque, vous pouvez la télécharger au format .zip depuis GitHub ici . Ensuite, allez dans Sketch > Inclure la bibliothèque > Ajouter une bibliothèque .ZIP… dans l’IDE Arduino.
Téléchargez l’exemple de croquis
#définir clk 2
#définir les données 3
uint8_t chiffres[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f };
void setup()
{
pinMode(clk, OUTPUT);
pinMode(data, OUTPUT);
start();
writeValue(0x8f); // pour changer la luminosité (0x88-DIM 0x8f-Bright)
stop();
// effacer l’affichage
//write(0x06, 0x5b, 0x4f, 0x00);
}
void loop()
{
for(int j=0;j<10000;j++)
{
write(chiffres[j/1000], chiffres[(j%1000)/100], chiffres[((j%1000)%100)/10], chiffres[j%10]);
delayMicroseconds(50);
}
}
void start(void)
{
digitalWrite(clk,HIGH);//envoyer un signal de démarrage à TM1637
digitalWrite(data,HIGH);
delayMicroseconds(5);
digitalWrite(données,LOW);
digitalWrite(clk,LOW);
delayMicroseconds(5);
}
void stop(void)
{
digitalWrite(clk,LOW);
digitalWrite(data,LOW);
delayMicroseconds(5);
digitalWrite(clk,HIGH);
digitalWrite(data,HIGH);
delayMicroseconds(5);
}
void write(uint8_t premier, uint8_t deuxième, uint8_t troisième, uint8_t quatrième)
{
start();
writeValue(0x40);
stop();
start();
writeValue(0xc0);
writeValue(premier); writeValue(deuxième
);
writeValue(troisième);
writeValue(quatrième);
stop();
}
bool writeValue(uint8_t valeur)
{
for(uint8_t i = 0; i < 8; i++)
{
digitalWrite(clk, LOW);
delayMicroseconds(5);
digitalWrite(data, (value & (1 << i)) >> i);
delayMicroseconds(5);
digitalWrite(clk, HIGH);
delayMicroseconds(5);
}
// attendre ACK
digitalWrite(clk,LOW);
delayMicroseconds(5);
pinMode(données,ENTRÉE);
digitalWrite(clk,HIGH);
delayMicroseconds(5);
bool ack = digitalRead(données) == 0;
pinMode(données,SORTIE);
retourner ack;
}
RÉSULTATS
TM1637 4 chiffres 7 segments commencent à compter de 0 à 9999.