J'ai essayé après avoir exécuté "gpio export 23/24 out", pas de changement...
J'ai essayé avec un 2ème afficheur, au cas où le 1er serait HS, pas de changement...
Auriez-vous une piste à me donner pour dépanner ?
Merci.
L'afficheur 7 segments est un composant incontournable, utile dans bons nombres de projets. Il permet notamment d'afficher l'heure, la température, un code que l'on tape sur un clavier ou tout simplement un chiffre. Il permet même d'afficher des mots tel que "Help", "Cool", "Erro" et bien d'autres !
Dans ce tutoriel, nous allons voir en détail toutes les fonctions qu'offre la librairie MicroPython-TM1637 pour faire fonctionner facilement ce composant.
Pour suivre ce tutoriel, il te faudra :
Maintenant que tout est réuni, on peut passer au branchement du module au Raspberry.
Le module 7 segments TM1637 s'alimente en 3.3V ou 5V au choix (le 5V donnera un affichage plus fort). Pour le contrôler, il dispose de deux entrées : une horloge CLK (clock) et un port DIO.
Le CLK sera relié au GPIO 5 et le DIO au GPIO 4. Voici le schéma de branchement :
Pour afficher ce que l'on veut sur l'afficheur 7 segments facilement, on va utiliser la librairie MicroPython-TM1637. Cette librairie propose toutes les fonctionnalités possibles : affichage de chiffres, de l'heure, de la température, ou même de caractères personnalisés.
Pour installer la librairie, il suffit d'entrer dans la console :
cd ~
sudo git clone https://github.com/EspaceRaspberryFrancais/RaspberryTM1637.git
sudo pip install wiringpi
La librairie est maintenant installée !
Maintenant que tout est branché et que la librairie est installée, on va pouvoir commencer à coder l'afficheur 7 segments.
Pour que l'importation de la librairie du TM1637 se passe bien, écrire les codes dans le dossier où se trouve la librairie, c'est-à-dire ici :~/RaspberryTM1637.
cd ~/RaspberryTM1637
sudo nano minuteur.py
Ce code permet de se familiariser avec la librairie à travers un exemple simple : faire un minuteur.
En voici le code commenté :
En executant le programme, voilà une vidéo du résultat attendu :
Sur le même principe que le minuteur, on peut facilement afficher l'heure sur le module, avec le code suivant :
On obtient alors un affichage de l'heure de ce type :
Pour ce dernier exemple, on va récupérer la température avec une sonde DS18B20 #pub et l'afficher sur le module 7 segments.
Pour commencer, je vous invite à suivre le tutoriel sur la sonde DS18B20 jusqu'au III. : le branchement reste le même. Concernant le code, rien de très complexe : une fonction s'occupe de récupérer la température fournie par la sonde, et une autre l'affiche en l'arrondissant à l'entier le plus proche. tm.temperature() prend en paramètre un entier n et affiche sur le module sous la forme n°C. Si n<-9, l'afficheur affiche LO°C, et si n>99, HI°C.
On obtient alors un affichage de la température de ce type :
Maintenant que les principales fonctions d'affichage ont été abordées, voyons les petits plus que propose la librairie. Une des fonctions qui peut s'avérer intéressante est celle d'afficher un caractère personnalisé. Il faut pour cela utiliser la fonction write([aff1, aff2, aff3, aff4]), avec comme paramètre une liste de nombres codés en binaire, décimal, ou hexadécimal. Chaque nombre correspond à un affichage différent.
Pour savoir quel nombre est associé à l'affichage souhaité, suivre cet exemple :
A=0 | B=0 | C=0 | D=0
A=1 | B=0 | C=0 | D=1
A=1 | B=1 | C=1 | D=1La valeur X doit être à 0 pour l'afficheur n°1, 3 et 4. Cette valeur peut être 1 pour le deuxième afficheur, et cela aura pour effet d'allumer le caractère ":".
Exemple :
Ce code n'est pas correct : afficheur.write([0b10111001, 0b00001001, 0b00001001, 0b00001111])
En revanche, celui-ci est correct : afficheur.write([0b00111001, 0b100001001, 0b00001001, 0b00001111])
Une fois les caractères personnalisés transcrits en nombres, appeler simplement la fonction write dans le script Python :
afficheur.write([0b00111001, 0b00001001, 0b00001001, 0b00001111])
Avec le code ci-dessus, on obtient ceci :
Voilà, nous avons fait le tour des principales fonctionnalités de la librairie, il en reste quelques-unes que vous pouvez découvrir en lisant directement le README.
3 commentaires publiés.
Commentaires