Satura rādītājs:
Video: Pielāgots rakstzīmju ģenerators (Adafruit HT16k33 Matrix): 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Īpašu rakstzīmju drukāšana uz LCD un LED matricām ir lieliska izklaide. Speciālo rakstzīmju vai pielāgoto rakstzīmju drukāšanas procedūra ir ģenerēt masīvu ar binārajām vērtībām katrai rindai un kolonnai. Var būt saspringti atrast pareizo kodu jebkurai pielāgotajai rakstzīmei, tāpēc šis projekts automatizēs un ģenerēs kodu 8x8 LED matricai, kā arī izdrukās pielāgoto rakstzīmi uz Adafruit HT16k33 8x8 Bicolor Matrix.
Adafruit HT16k33, 1,2 collu 8x8 divkrāsu LED matrica sazinās ar Arduino, izmantojot I2C sakaru protokolu
Saskaņā ar Adafruit teikto: "Šī LED mugursomas versija ir paredzēta 1,2" 8x8 matricām. To izmērs ir tikai 1,2 "x1,2", tāpēc ir kauns izmantot milzīgu mikroshēmu klāstu, lai to kontrolētu. Šī mugursoma novērš 16 ķegļu vai mikroshēmu ķekara lietošanas traucējumus, jo I2C pastāvīgās strāvas matricas kontrolieris ir kārtīgi novietots PCB aizmugurē. Kontroliera mikroshēma rūpējas par visu, fonā uzzīmējot visas 64 gaismas diodes. Viss, kas jums jādara, ir ierakstīt tajā datus, izmantojot 2 kontaktu I2C saskarni. Ir divas adrešu atlases tapas, lai jūs varētu izvēlēties vienu no 8 adresēm, lai kontrolētu līdz 8 no tām vienā 2-kontaktu I2C kopnē (kā arī jebkuras citas I2C mikroshēmas vai sensori, kas jums patīk). Vadītāja mikroshēma var “aptumšot” visu displeju no 1/16 spilgtuma līdz pilnam spilgtumam ar 1/16 soļiem. Tas nevar aptumšot atsevišķas gaismas diodes, tikai visu displeju vienlaikus."
Šajā pamācībā es jums paskaidrošu, kā reālā laikā iegūt jebkuras pielāgotas rakstzīmes kodu un izdrukāt šo rakstzīmi uz Led Matrix.
1. darbība: sastāvdaļas
Šī pamācība ir Adafruit HT16k33 Matrix pamatprojekts. Tev vajag:
- Adafruit HT16k33 1,2 "x 1,2" 8x8 divkrāsu LED matrica.
- Arduino (vēlams jebkurš variants, izņemot Uno).
- Maizes dēlis
- Enerģijas padeve
2. darbība. Shēma
Elektroinstalācija Adafruit HT16k33 Led matricu ir ļoti vienkārša, jo mums ir jāpievieno pulkstenis un datu tapa, kā parasti I2C ierīcēm. Savienojumi būs šādi:
- SCL (Matricas pulksteņa tapa) savienots ar A5 (Arduino Uno pulksteņa tapa. Citus Arduino variantus skatiet datu lapā)
- SDA (Matrix datu tapa) savienots ar A4. (Skatiet citu Arduino variantu datu lapu)
- VCC savienots ar 5V.
- GND savienots ar 0V.
Varat arī iepazīties ar attēlā redzamo shēmu.
3. darbība: kods
Arduino kods
Pirmkārt, mēs iekļausim visas nepieciešamās bibliotēkas.
- Wire.h:- I2C sakariem
- Adafruit_LedBackpack
- Adafruit_GFX
Visas šīs bibliotēkas ir pieejamas pašā Arduino IDE. Jums vienkārši jāinstalē tie no bibliotēkas pārvaldnieka. Skice >> Iekļaut bibliotēku >> Pārvaldīt bibliotēkas
Iestatīšanas funkcija ()
Neparakstīta vesela skaitļa 8 bitu masīva iestatīšana uz strore8 binārajām vērtībām 8 rindās, pa 8 bitiem katrā (8 kolonnas). Iestatiet adresi I2C saziņai.
Cilpas funkcija ()
Tā kā mums ir jāizdrukā raksturs, mums ir nepieciešams rakstzīmes kods reālā laikā. Visērtākā metode ir nosūtīt kodu sērijveidā, un Arduino nolasīs sērijas datus un attiecīgi izdrukās rakstzīmi. Masīva sērijveida nosūtīšana var būt saspringts darbs, tāpēc mēs varam nosūtīt virkni ar visiem 8 kodiem (katrs 8 biti), atdalot tos ar komatiem.
Sērijas virknes lasīšana:
ja (Serial.available ()> 0) {data = Serial.readStringUntil ('\ n'); Serial.println (dati); }
Pēc teksta lasīšanas mums jāatšifrē šī virkne un jāatgūst binārās vērtības. Kā mēs zinām, ievades virknes formāts vienmēr būs vienāds. Mēs varam to kodēt, lai atrastu apakšvirknes un pārvērstu virknes to ekvivalentās decimāldaļās. Tad mēs nodosim ģenerēto decimālo masīvu (uint8_t), lai rakstzīmi izdrukātu uz matricas.
8 bitu virknes pārvēršana aiz komata:
int val (String str) {int v = 0; par (int i = 0; i <8; i ++) {ja (str == '1') {v = v+jauda (2, (7-i)); }} atgriezties v; }
Lai novērtētu decimāldaļu ekvivalentu, izmantojot jaudas funkciju (pow ()), jums jārisina divkāršā tipa vērtības, un tāpēc mēs varam uzrakstīt savu jaudas funkciju kā:
int jauda (int bāze, int eksponents) {int c = 1; par (int i = 0; i {c = c*bāze;} atgriezt c;}
Visbeidzot, mēs uzrakstīsim kodu, lai izdrukātu rakstzīmi, izmantojot ģenerēto masīvu ar 8 zīmēm aiz komata (viens katrai rindai).
void print_emoji (uint8_t emoji , virknes krāsa) {matrix.clear (); ja (krāsa == "sarkana") {matrix.drawBitmap (0, 0, emocijzīmes, 8, 8, LED_RED); } cits {matrix.drawBitmap (0, 0, emocijzīmes, 8, 8, LED_GREEN); } matrix.writeDisplay (); kavēšanās (500); }
Jūs viegli sapratīsit šo kodu, jo mēs vispirms notīrām matricu un pēc tam parādām rakstzīmi, izmantojot emocijzīmju masīvu, izmantojot funkciju matrix.drawBitmap (). Pēc visas formatēšanas neaizmirstiet rakstīt "matrix.writeDisplay ()", jo šī funkcija parādīs tikai visus līdz šim matricā veiktos formatējumus.
Tagad jūs varat nosūtīt virkni ar visām koda vērtībām, un Arduino drukās rakstzīmi uz matricas. Jūs varat lejupielādēt Arduino kodu no apakšas. Eksperimentālā nolūkā varat rakstīt
B00111100, B01000010, B10100101, B10000001, B10100101, B10011001, B01000010, B00111100
šo virkni sērijas monitorā un var redzēt rakstzīmi matricā.
Tagad mums ir jāsūta sērijas dati automātiski no programmatūras, nospiežot pogu "Drukāt". Lai to automatizētu, mēs izveidosim 8x8 demonstrācijas matricu un nodrošināsim iespēju lietotājam izvēlēties, kurām šūnām jābūt krāsotām, un pēc tam programmatūra automātiski ģenerēs kodu un sērijveidā nosūtīs datus Arduino virknes formātā. Pārējam darbam es izvēlējos apstrādi. Apstrādes laikā mēs varam izveidot matricu, izmantojot 64 pogas (taisnstūri ar nospiestu funkciju), un sākumā varam piešķirt noteiktu vērtību un krāsu (lai tā būtu baltā krāsa ar vērtību 0). Tagad, kad tiek nospiesta poga, mēs pārvērsim pogas krāsu melnā krāsā un iestatīsim vērtību uz 1. Ja lietotājs vēlreiz nospiedīs to pašu pogu, tā vērtība atkal mainīsies uz 0 un krāsa atkal kļūs balta. Tas palīdzēs lietotājam viegli atkal un atkal mainīt kodu un var viegli veikt grozījumus, neizdzēšot visu matricu vēlreiz. Noklikšķinot uz pogas "Drukāt", mēs izveidosim virkni, kas līdzīga iepriekš parādītajai demonstrācijai. Tad virkne tiks nosūtīta uz konkrēto seriālo portu.
Apstrādes kodu varat lejupielādēt zemāk. Šis ir mans pirmais kods apstrādē. Ieteikumi uzlabotam kodēšanas veidam tiek augstu novērtēti.
Jūs varat redzēt, kā izskatās GUI un kā raksturs tiek izveidots, izmantojot sistēmu. Diez vai vajadzēs sekundes, lai izveidotu tādu pašu rakstzīmi uz matricas.
Jūs varat lejupielādēt šī projekta kodu un attēlus no manas GitHub krātuves.
Ieteicams:
Kā izmantot 20x4 I2C rakstzīmju LCD displeju ar Arduino: 6 soļi
Kā izmantot 20x4 I2C rakstzīmju LCD displeju ar Arduino: Šajā vienkāršajā apmācībā mēs iemācīsimies izmantot 20x4 I2C rakstzīmju LCD displeju ar Arduino Uno, lai parādītu vienkāršu tekstu " Sveika pasaule. Noskatieties video
Layad Circuits burtciparu tastatūra ar ESP32 un rakstzīmju LCD: 4 soļi
Layad shēmas burtciparu tastatūra ar ESP32 un rakstzīmju LCD: Šis raksts parāda burtciparu tastatūras moduļa un 16x2 I2C rakstzīmju LCD moduļa izmantošanu datu ievadīšanai ESP32. Šo metodi var izmantot, lai ievadītu un izgūtu Wi-Fi akreditācijas datus un citu informāciju uz ESP32 un no tās
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā: 7 soļi
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā: nav nepieciešams ieviest leģendāro “Space Invaders” spēli. Šī projekta interesantākā iezīme ir tā, ka grafiskajai izvadei tiek izmantots teksta displejs. Tas tiek panākts, ieviešot 8 pielāgotas rakstzīmes. Jūs varat lejupielādēt pilnu Arduino
Mūzikas ģenerators uz laika apstākļiem (ESP8266 balstīts Midi ģenerators): 4 soļi (ar attēliem)
Mūzikas ģenerators uz laika apstākļiem (ESP8266 balstīts Midi ģenerators): Sveiki, šodien es paskaidrošu, kā izveidot savu mazo laika apstākļu mūzikas ģeneratoru. Tas ir balstīts uz ESP8266, kas ir kā Arduino, un tas reaģē uz temperatūru, lietu un gaismas intensitāte. Negaidiet, ka tas radīs visas dziesmas vai akordu programmu
Ģenerators - līdzstrāvas ģenerators, izmantojot Reed slēdzi: 3 soļi
Ģenerators - līdzstrāvas ģenerators, izmantojot Reed slēdzi: vienkāršs līdzstrāvas ģenerators Līdzstrāvas (DC) ģenerators ir elektriskā mašīna, kas mehānisko enerģiju pārvērš līdzstrāvas elektrībā. Svarīgi: līdzstrāvas (DC) ģeneratoru var izmantot kā līdzstrāvas motoru bez jebkādas konstrukcijas izmaiņas