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:
- Utiliser un module TM1638 avec un ESP8266 ou un ESP32, avec un Raspberry Pi Pico, avec un Arduino, ou avec un STM32 Nucleo programmé avec mbed.
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