Tutoriels

Comment utiliser le module TM1638 LED&KEY-Afficheur 8 chiffres avec Arduino

Schéma montre la connexion entre le module TM1638 afficheur 8 chiffres et Arduino Uno

1. Introduction

Module TM1638 est un dispositif polyvalent qui combine à la fois un afficheur LED à 8 chiffres et une matrice de touches. Il permet aux utilisateurs d’afficher des chiffres, des caractères ou des symboles sur les segments LED et de détecter les entrées de boutons de manière simple et efficace. Dans cet article, nous allons explorer en détail ce module et découvrir comment l’utiliser avec la plateforme Arduino pour créer des projets d’affichage et d’interaction.

2. Description du module TM1638 LED&KEY

Module TM1638 est composé de 8 LED affichant des chiffres et des caractères, ainsi que de 8 touches tactiles disposées en une matrice 8×1. Il est conçu pour être facilement connecté à un microcontrôleur, tel que l’Arduino, grâce à son interface simple à 5 broches (VCC, GND, STB, CLK, DIO).

Module TM1638 afficheur 8 chiffres comporte 8 chiffres lumineux (à 7 segments et point décimal), un clavier à 8 boutons (S1 à S8) et 8 LED (LED1 à LED8).
TM1638 LED&KEY-Afficheur 8 chiffres

2.1. Caractéristiques du module

Le module TM1638 fonctionne avec une tension d’alimentation de 5V, avec un courant maximal de 130 mA. Il prend en charge une fréquence de synchronisation allant jusqu’à 450 kHz. La température de fonctionnement recommandée se situe entre -15°C et 60°C, ce qui le rend adapté à une variété d’applications.

2.2. Schéma du module

Le module TM1638 est équipé de 8 LED (LED1 à LED8) connectées à la ligne SEG9 et aux broches de commande GRID1 à GRID8 pour afficher les chiffres et les caractères. Chaque LED peut être contrôlée individuellement en écrivant des données à l’adresse correspondante.

2.3. Connexions avec Arduino UNO

Pour utiliser ce module avec Arduino UNO, il suffit de connecter les broches du module aux broches correspondantes de l’Arduino :

  • Broche 3 du module -> Broche DIO de l’Arduino
  • Broche 2 du module -> Broche CLK de l’Arduino
  • Broche 4 du module -> Broche STB de l’Arduino
Schéma montre la connexion entre le module TM1638 afficheur 8 chiffres avec Arduino Uno
Schéma de connexion TM1638 afficheur 8 chiffres avec Arduino Uno

2.4. Connexions à la bibliothèque SPI

Il est également possible de connecter le module TM1638 à la bibliothèque SPI de l’Arduino pour simplifier le processus de communication.

3. Programmation du module TM1638 LED&KEY

3.1. Programmation en langage C avec Atmel

La programmation du module TM1638 en langage C peut être réalisée avec les outils fournis par Atmel. Des exemples de programmes de base peuvent être utilisés pour interagir avec le module et afficher des chiffres, des caractères et des symboles.

3.2. Programmation avec Arduino IDE

Pour faciliter la programmation du module TM1638 avec Arduino, diverses bibliothèques sont disponibles, dont la bibliothèque Ricardo Batista. Cette bibliothèque offre une prise en charge étendue du module, avec des fonctions pour afficher des nombres, du texte, des caractères spéciaux et bien plus encore.

3.3. Utilisation de la bibliothèque Ricardo Batista

La bibliothèque Ricardo Batista permet d’utiliser des méthodes simples pour afficher des chiffres, du texte et des caractères spéciaux sur le module TM1638. Par exemple, la fonction setDisplayToDecNumber() permet d’afficher des nombres décimaux, tandis que setDisplayToString() permet d’afficher du texte.

3.4. Exemples de programmation

Plusieurs exemples de programmation sont présentés pour illustrer comment utiliser efficacement le module TM1638 avec Arduino. Des exemples incluent l’affichage de nombres, de messages, la gestion des entrées de boutons et bien plus encore.

Voici un exemple de code pour utiliser ce module avec Arduino et afficher un compteur de 0 à 9 en boucle :

#include <TM1638.h>

#define DIO_PIN 3
#define CLK_PIN 2
#define STB_PIN 4

TM1638 module(DIO_PIN, CLK_PIN, STB_PIN);

void setup() {
  // Initialisation du module TM1638
  module.setupDisplay(true, 2); // Activer l'affichage avec une intensité de 2 (réglable de 0 à 7)
}

void loop() {
  // Afficher les chiffres de 0 à 9 en boucle
  for (int i = 0; i <= 9; i++) {
    module.setDisplayToDecNumber(i, 0, false); // Afficher le chiffre i (0-9) sans point décimal
    delay(1000); // Attendre 1 seconde
  }
}

Autre exemple ci-dessous allume successivement chaque LED, de gauche à droite :

#include <TM1638.h>    

// DIO 3, CLK 2 , STB 4:
TM1638 afficheur(3, 2, 4);


void setup() {

}

void loop() {

  for (int i = 0; i <= 7; i++) {
    afficheur.setLED(TM1638_COLOR_RED, i);
    delay(500);
    afficheur.setLED(TM1638_COLOR_NONE, i);
    delay(500);
  }
}

Autre exemple ci-dessous indique dans le moniteur série le numéro du bouton enfoncé :

#include <TM1638.h>  

// DIO 3, CLK 2 , STB 4:
TM1638 afficheur(3, 2, 4);


void setup() {
  Serial.begin(9600);
}

void loop() {

  byte etatBoutons;

  etatBoutons = afficheur.getButtons();

  for (int i = 0; i <= 7; i++) {
    if (bitRead(etatBoutons, i)) {
      Serial.print("Le bouton S");
      Serial.print(i + 1);
      Serial.println(" est enfonce.");
      delay(500);
    }
  }

}

4. Applications pratiques

Le module TM1638 offre de nombreuses applications pratiques dans le domaine de l’électronique et de la robotique. Voici quelques exemples d’utilisation :

4.1. Horloges et Chronomètres

Grâce à ses huit chiffres d’affichage, ce module est parfait pour créer des horloges numériques ou des chronomètres. En programmant simplement les chiffres appropriés sur les segments LED, vous pouvez afficher l’heure, les minutes et les secondes avec précision.

4.2. Systèmes de Contrôle d’Accès

Les huit touches tactiles du ce module en font un excellent choix pour les systèmes de contrôle d’accès, tels que les claviers de saisie de code PIN. Les utilisateurs peuvent saisir leur code PIN en appuyant sur les touches correspondantes, puis le système peut vérifier la combinaison pour autoriser ou refuser l’accès.

4.3. Moniteurs de Température et d’Humidité

En combinant le module TM1638 avec des capteurs de température et d’humidité, vous pouvez créer des moniteurs environnementaux. Les valeurs relevées par les capteurs peuvent être affichées en temps réel sur les chiffres LED, fournissant ainsi un suivi en temps réel des conditions ambiantes.

4.4. Affichage de Messages d’Alerte

Le module TM1638 peut être utilisé pour afficher des messages d’alerte ou des notifications importantes. Par exemple, il peut être intégré dans un système de sécurité pour signaler des événements tels que des intrusions ou des défaillances.

5. Conclusion

Le module TM1638 est un composant extrêmement utile pour les projets électroniques basés sur Arduino et autres microcontrôleurs. Il offre une solution économique pour l’affichage d’informations et la gestion des entrées de boutons. Grâce à ses fonctionnalités polyvalentes et à ses bibliothèques de programmation, il est facile à utiliser et offre un large éventail d’applications pratiques.

Que vous souhaitiez construire une horloge numérique sophistiquée, un système de contrôle d’accès ou un simple moniteur de température, ce module est un excellent choix. En explorant les exemples de programmation et en combinant les fonctionnalités d’affichage et d’entrée, les possibilités de projets créatifs sont pratiquement illimitées.

En conclusion, ce module offre une expérience d’apprentissage amusante et enrichissante pour les passionnés d’électronique, des débutants aux experts, en leur permettant de créer des projets interactifs et innovants qui répondent à leurs besoins spécifiques. Que vous soyez un étudiant, un bricoleur ou un amateur de projets électroniques, ce module est un ajout précieux à votre boîte à outils de développement.

Vidéo descriptif

Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques

Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter