09 mai 2019 • 3 • 4.5
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 :
La 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.
Choisir et utiliser une caméra sur un Raspberry Pi
Obtenir la température avec une sonde DS18B20
⚡NEW⚡Raspberry Pi 5, version 8Go
87.55 €
Caméra Raspberry Pi 5MP 1080p
12.95 €
4.5/5 | 8 votes