vendredi 22 septembre 2017

Afficheur 8 chiffres, 8 LEDs, 8 boutons TM1638 et ATTiny85

Un défi auquel nous devons fréquemment faire face lorsque nous développons des prototypes impliquant l'ATTiny85, c'est le faible nombre d'entrées/sorties.  Par exemple, un afficheur LCD conventionnel muni d'un pilote HD44780 accapare à lui seul 6 sorties, alors que l'ATTiny85 n'en comporte que 5.

Il y a quelques semaines, je vous présentais un module comportant 8 chiffres, 8 LEDs et 8 boutons pilotés par un TM1638, et qui n'utilise que 3 entrées/sorties de votre microcontrôleur. J'en ai fait l'essai avec un ATTiny85, et ça fonctionne parfaitement bien.

Notez tout d'abord que je programme l'ATTiny en utilisant une carte Arduino Uno comme programmateur (Arduino as ISP).  Si vous n'avez jamais programmé un ATTiny de cette façon auparavant, vous trouverez une marche à suivre détaillée ici.  J'utilise le core de David A. Mellis, avec une fréquence d'horloge de 1 MHz.

Installation de la bibliothèque

Si vous n'avez jamais utilisé ce genre de module avec une carte Arduino, vous devrez d'abord installer la bibliothèque conçue par Ricardo Batista.

Modification de la bibliothèque

Si vous tentez de compiler un sketch pour votre ATTiny85 en utilisant la bibliothèque TM1638, la compilation échoue avec un message d'erreur de ce genre:

error: 'Serial' was not declared in this scope 
Serial.println(values); 
exit status 1 
Erreur de compilation pour la carte ATtiny25/45/85

Le remède n'est pas très compliqué:

Ouvrez le document "TM1638QYF.cpp" avec un éditeur de texte (le fichier se trouve dans le dossier de votre bibliothèque TM1638, qui se trouve lui même à l'intérieur du dossier "libraries" de votre sketchbook Arduino).

Localisez la commande "Serial.println(values);" (ligne 119) et commentez-là (ou effacez-là).

Votre bibliothèque peut maintenant être utilisée pour programmer un ATTiny.


Exemples de sketch

À titre d'exemple, voici un sketch qui affiche un nouveau nombre aléatoire de 8 chiffres chaque seconde.  Pour d'autres exemples, et plus d'informations sur les fonctions disponibles, vous pouvez vous référer à cet article.



Connexions

Une fois l'ATTiny programmé, vous pouvez le connecter au module TM1638 de la façon suivante:

  • La broche STB du module TM1638 est branchée à la broche 7 du ATTiny85
  • La broche CLK du module TM1638 est branchée à la broche 6 du ATTiny85
  • La broche DIO du module TM1638 est branchée à la broche 5 du ATTiny85




À lire également:

Yves Pelletier
   (TwitterFacebook)

1 commentaire:

  1. Laurent Strodiot19 août 2022 à 01:38

    Merci pour cet article, ainsi que tous les autres de ce blog. Vous faites un travail remarquable ! Je viens de décourvir l'ATtiny85 et ses possibilités. Jusqu'à hier je ne savais pas comment le programmer via un Arduino uno. J'y suis arrivé et commence l'exploration de ce minuscule micocontrôleur et de ses applications.

    RépondreSupprimer