L'afficheur TM1637 est un circuit intégré utilisé pour contrôler des afficheurs à sept segments à LED. Il est souvent utilisé pour afficher des chiffres ou des caractères alphanumériques dans différents appareils électroniques, tels que des horloges, des thermomètres, des compteurs, etc.
Ce composant facilite la gestion des afficheurs à sept segments en prenant en charge la multiplexation des segments et en offrant une interface simple avec un microcontrôleur ou un processeur. Le TM1637 prend en charge la communication série avec seulement quatre broches (deux pour les données et deux pour le contrôle), ce qui le rend facile à intégrer dans des projets électroniques.
En raison de sa facilité d'utilisation et de sa polyvalence, le TM1637 est populaire parmi les amateurs et les concepteurs électroniques pour l'affichage de données de manière claire et lisible.
Pour afficher du texte sur un afficheur TM1637 à l'aide d'une carte ESP32 et Micropython, vous pouvez suivre ces étapes :
1- Connexion matérielle :
Connectez correctement les broches de l'afficheur à votre ESP32 (broches pour les données, l'horloge, etc.).
2- Installation de la bibliothèque :
Pour Micropython, vous pourriez avoir besoin d'une bibliothèque spécifique à TM1637. Assurez-vous de l'installer sur votre ESP32. Par exemple, vous pouvez utiliser la bibliothèque tm1637.py .
3- Écriture du code Micropython :
- Utilisez un éditeur de texte pour écrire votre script Micropython. Voici un exemple de code simplifié :
- Assurez-vous d'ajuster les numéros de broches (CLK et DIO) pour correspondre à votre configuration physique.
4- Transférer le code :
Utilisez des outils comme Thonny ou Upycratf, ou un autre éditeur de fichiers sur une carte MicroPython compatible pour transférer votre script sur l'ESP32.
5- Exécution du code : Après avoir transféré le script, exécutez-le en redémarrant l'ESP32 pour exécuter le script Micropython sur votre carte.
Carte ESP32 :
L'ESP32 est un microcontrôleur à faible consommation d'énergie, doté de fonctionnalités Wi-Fi et Bluetooth intégrées. Il est largement utilisé dans le domaine de l'IoT (Internet des Objets), du développement de projets embarqués et dans d'autres applications nécessitant une connectivité sans fil et un traitement de données sur une petite échelle.
Afficheur TM1637 :
L'afficheur TM1637 est un circuit intégré utilisé pour contrôler des afficheurs à sept segments à LED. Il est souvent utilisé pour afficher des chiffres ou des caractères alphanumériques dans différents appareils électroniques, tels que des horloges, des thermomètres, des compteurs, etc.
Câbles de connexion :
On utilise les câbles de connexion pour relier physiquement les composants entre eux.
Le câblage de l'afficheur TM1637 avec une carte ESP32 est assez simple. Voici comment vous pourriez le faire :
1- Connectez la broche VCC de l'afficheur au 3.3V de la carte ESP32.
2- Connectez la broche GND de l'afficheur au GND de la carte ESP32.
3- Connectez la broche DIO (Data Input/Output) de l'afficheur à la broche digitale N°4 de la carte ESP32.
4- Connectez la broche CLK (Clock) de l'afficheur à la broche digitale N°2 de la carte ESP32.
Pour programmer l'afficheur TM1637 avec un ESP32 utilisant MicroPython, vous aurez besoin d'accéder à la bibliothèque TM1637 adaptée à MicroPython et d'écrire un code qui permette de contrôler l'afficheur. Voici un exemple de procédure pour cela :
Il existe des bibliothèques TM1637 spécifiques à MicroPython disponibles en ligne. Vous pouvez télécharger les fichiers tm1637.py correspondants.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
import tm1637 from machine import Pin tm = tm1637.TM1637(clk=Pin(2), dio=Pin(4)) # all LEDS on "88:88" tm.write([127, 255, 127, 127]) tm.write(bytearray([127, 255, 127, 127])) tm.write(b'\x7F\xFF\x7F\x7F') tm.show('8888', True) tm.numbers(88, 88, True) # all LEDS off tm.write([0, 0, 0, 0]) tm.show(' ') # write to the 2nd and 3rd segments only tm.write([119, 124], 1) # _Ab_ tm.write([124], 2) # __b_ tm.write([119], 1) # _A__ # display "0123" tm.write([63, 6, 91, 79]) tm.write(bytearray([63, 6, 91, 79])) tm.write(b'\x3F\x06\x5B\x4F') tm.show('1234') tm.number(1234) tm.numbers(12, 34, False) # display "4567" tm.write([102, 109, 125, 7]) tm.write([102], 0) # 4___ tm.write([109], 1) # _5__ tm.write([125], 2) # __6_ tm.write([7], 3) # ___7 # set middle two segments to "12", ie "4127" tm.write([6, 91], 1) # _12_ # set last segment to "9", ie "4129" tm.write([111], 3) # ___9 # show "AbCd" tm.write([119, 124, 57, 94]) tm.show('abcd') # show "COOL" tm.write([0b00111001, 0b00111111, 0b00111111, 0b00111000]) tm.write([0x39, 0x3F, 0x3F, 0x38]) tm.write(b'\x39\x3F\x3F\x38') tm.write([57, 63, 63, 56]) tm.show('cool') tm.show('COOL') # display "dEAd", "bEEF" tm.hex(0xdead) tm.hex(0xbeef) tm.show('dead') tm.show('Beef') # show "12:59" tm.numbers(12, 59) tm.show('1259', True) # show "-123" tm.number(-123) tm.show('-123') # Show Help tm.show('Help') tm.write(tm.encode_string('Help')) tm.write([tm.encode_char('H'), tm.encode_char('e'), tm.encode_char('l'), tm.encode_char('p')]) # Scroll Hello World from right to left tm.scroll('Hello World') # 4 fps tm.scroll('Hello World', 1000) # 1 fps # Scroll all available characters tm.scroll(list(tm1637._SEGMENTS)) # all LEDs dim tm.brightness(0) # all LEDs bright tm.brightness(7) # converts a digit 0-0x0f to a byte representing a single segment # use write() to render the byte on a single segment tm.encode_digit(0) # 63 tm.encode_digit(8) # 127 tm.encode_digit(0x0f) # 113 # 15 or 0x0f generates a segment that can output a F character tm.encode_digit(15) # 113 tm.encode_digit(0x0f) # 113 # used to convert a 1-4 length string to an array of segments tm.encode_string(' 1') # bytearray(b'\x00\x00\x00\x06') tm.encode_string('2 ') # bytearray(b'[\x00\x00\x00') tm.encode_string('1234') # bytearray(b'\x06[Of') tm.encode_string('-12-') # bytearray(b'@\x06[@') tm.encode_string('cafe') # bytearray(b'9wqy') tm.encode_string('CAFE') # bytearray(b'9wqy') tm.encode_string('a') # bytearray(b'w\x00\x00\x00') tm.encode_string('ab') # bytearray(b'w|\x00\x00') # used to convert a single character to a segment byte tm.encode_char('1') # 6 tm.encode_char('9') # 111 tm.encode_char('-') # 64 tm.encode_char('a') # 119 tm.encode_char('F') # 113 # display "dEAd", "bEEF", "CAFE" and "bAbE" tm.hex(0xdead) tm.hex(0xbeef) tm.hex(0xcafe) tm.hex(0xbabe) # show "00FF" (hex right aligned) tm.hex(0xff) # show " 1" (numbers right aligned) tm.number(1) # show " 12" tm.number(12) # show " 123" tm.number(123) # show "9999" capped at 9999 tm.number(20000) # show " -1" tm.number(-1) # show " -12" tm.number(-12) # show "-123" tm.number(-123) # show "-999" capped at -999 tm.number(-1234) # show "01:02" tm.numbers(1, 2) # show "0102" tm.numbers(1, 2, False) # show "-5:11" tm.numbers(-5, 11) # show "12:59" tm.numbers(12, 59) # show temperature '24*C' tm.temperature(24) tm.show('24*C') # show temperature works for range -9 to +99 tm.temperature(-10) # LO*C tm.temperature(-9) # -9*C tm.temperature(5) # 5*C tm.temperature(99) # 99*C tm.temperature(100) # HI*C |
Ce programme affiche sur l'afficheur TM1637 des lettres, des chiffres et des symboles de différentes manières.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info