Sisukord:
- Samm 1:
- 2. samm:
- 3. samm: alustamine - riistvara
- 4. samm: alustamine - tarkvara
- Samm: kahevärvilised LED-id
- 6. samm: 7-segmendiline kuva
- 7. samm:
- 8. samm:
- 9. samm:
- 10. samm: nupud
Video: Arduino ja TM1638 LED -ekraanimoodulid: 11 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Kui vajate kiiret ja lihtsat viisi projekti sisendite ja väljundite lisamiseks, on need kuvamoodulid huvitavad ja lõbusad.
Need sisaldavad kaheksat 7-segmendilist punast LED-numbrit, kaheksa punast/rohelist LED-i ja ka kaheksa nuppu kasutaja sisestamiseks. Seadmed võivad olla ka kettsahelaga, võimaldades korraga kuni viit, ning iga mooduliga on kaasas lühike kaabel, samuti mõned lühikesed vahetükid ja poldid, nagu pildil näidatud.
Samm 1:
Vahepaelad on piisavalt pikad, et tõsta trükkplaati pinna kohal, kuid plaatide paigaldamiseks kõikjale, kuhu vajate, on vaja pikemaid. Samuti võite soovida eemaldada IDC pesad, kui soovite mooduli paigaldada paneeli pinna lähedale. See oleks lihtne jootmise eemaldamise ülesanne, kuna need on aukudega pistikupesad.
2. samm:
Tahvlit juhib TM1638 IC.
See on LED -i ja liidese draiveri IC firmalt “Titan Micro Electronics”. Neid IC -sid saate osta ka saidilt PMD Way. Lisateabe saamiseks saate alla laadida ka andmelehe.
3. samm: alustamine - riistvara
Riistvara-ühendamine Arduino-ühilduva plaadiga (või muu MCU-ga) on üsna lihtne. Pistikud on näidatud trükkplaadi tagaküljel ja sobivad lintkaabli kinnitusega. Kui vaadata kaabli otsa kui sellist.
Ülemine parempoolne auk on tihvt üks, ülemine vasakpoolne on tihvt kaks, alumine parem tihvt üheksa ja vasakpoolne tihvt kümme. Seetõttu on pistikud järgmised:
- Vcc (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- pole ühendatud.
Arduino kasutamiseks on tihvtid 1 ~ 4 minimaalselt vajalikud ühe mooduli kasutamiseks. Iga lisamoodul vajab teist digitaalset tihvti, mis on ühendatud STB2, STB3 jne. Selle kohta hiljem. Pange tähele, et iga moodul, mis on seatud igale LED -ile täisheledusele, tarbib 127 mA, seega oleks mõistlik kasutada välist toite rohkem kui ühe mooduli ja muude ühendustega Arduino tahvlitega.
4. samm: alustamine - tarkvara
Tarkvara - laadige alla ja installige T1638 raamatukogu siit. Tänu ja kiitus rjbatistale aadressil gmail dot com raamatukogu jaoks. Moodulite lähtestamine visandis on lihtne. Kaasa raamatukogu koos:
#kaasake
seejärel kasutage iga mooduli jaoks ühte järgmistest:
TM1638 moodul (x, y, z);
x on Arduino digitaalne tihvt, mis on ühendatud mooduli kaabli tihvtiga 4, y on Arduino digitaalne tihvt, mis on ühendatud mooduli kaabli tihvtiga 3, ja z on strobi tihvt. Nii et kui teil oleks üks moodul andmete, kella ja välklambiga ühendatud tihvtidega 8, 7 ja 6, kasutaksite järgmist:
TM1638 moodul (8, 7, 6);
Kui teil oleks kaks moodulit, kui esimese mooduli strobo oleks ühendatud Arduino digital 6 -ga ja teise mooduli strobo ühendatud digitaalse 5 -ga, kasutaksite järgmist:
TM1638 moodul (8, 7, 6); TM1638 moodul (8, 7, 5);
ja nii edasi rohkemate moodulite jaoks. Nüüd saate ekraani juhtida …
Samm: kahevärvilised LED-id
Punase/rohelise valgusdioodi juhtimine on lihtne. Võrdluseks on need vasakult paremale nummerdatud nullist seitsmeni. Ühe LED -i sisse- või väljalülitamiseks kasutage järgmist.
module.setLED (TM1638_COLOR_RED, x); // määrake LED -i number x punaseks mooduliks.setLED (TM1638_COLOR_GREEN, x); // määrake LED -i number x roheliseks mooduliks.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // määrake LED -i number x punaseks ja roheliseks
Ülaltoodud meetodi kasutamine võib olla lihtne ja mõnevõrra ebaefektiivne. Parem viis on käsitleda kõiki LED -e ühes avalduses. Selleks saadame ekraanile kaks baiti andmeid kuueteistkümnendsüsteemis. MSB (kõige olulisem bait) koosneb kaheksast bitist, millest igaüks tähistab ühte rohelist LED -indikaatorit (1) või väljas (0). LSB (kõige vähem oluline bait) tähistab punaseid LED -e.
Lihtne viis valgusdioodide juhtimiseks kuueteistkümnendsüsteemi väärtuse määramiseks on lihtne: pilt on üks LED -de rida - esimene kaheksa on roheline ja teine kaheksa punane. Seadke igale numbrile 1 sisse ja 0 väljalülitamiseks. Teisendage kaks kahendarvu kuueteistkümnendkohaks ja kasutage seda funktsiooni:
module.setLEDs (0xroheline);
Kui roheline on roheliste valgusdioodide kuueteistkümnendarv ja punane on punaste valgusdioodide kuueteistkümnendarv. Näiteks kolme esimese LED -i punaseks ja kolme viimase roheliseks sisselülitamiseks on binaarne esitus järgmine:
00000111 11100000, mis kuueteistkümnendsüsteemis on E007.
Nii et me kasutaksime:
module.setLEDs (0xE007);
mis loob ülaltoodud pildi.
6. samm: 7-segmendiline kuva
Numbrinäidiku (kuid mitte allpool olevate LED -ide) kustutamiseks kasutage lihtsalt järgmist:
module.clearDisplay ();
või iga segmendi JA kõigi valgusdioodide sisselülitamiseks kasutage järgmist
module.setupDisplay (tõsi, 7); // kus 7 on intensiivsus (0–7)
Kümnendarvude kuvamiseks kasutage järgmist funktsiooni:
module.setDisplayToDecNumber (a, b, false);
kus a on täisarv, b on kümnendkoha asukoht (0 mitte ühegi, 1 numbri 8, 2, numbri 7, 4 numbri 6, 8 numbri 4 jne) ja viimane parameeter (true/ false) lülitab nullid sisse või välja. Järgmine visand näitab selle funktsiooni kasutamist:
#include // defineerige moodul andmeklemmil 8, kellapoldil 9 ja välklambi tihvtil 7 TM1638 moodul (8, 9, 7); allkirjata pikk a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); viivitus (1); } jaoks (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); viivitus (1); }}
… Videos näidatud tulemustega.
7. samm:
Üks huvitavamaid funktsioone on võimalus teksti kerida ühe või mitme ekraani vahel. Selleks ei ole tegelikult vaja selgitust, kuna kaasasolev demonstratsioonjoonistus:
tm_1638_scrolling_modules_example.pde
koos TM1638 raamatukoguga on hõlpsasti jälgitav. Lihtsalt sisestage tekst konstantsesse tähemärki , veenduge, et moodul (id) on vastavalt skeemi alguses olevale mooduli definitsioonile ühendatud ja olete valmis. Saadaolevate märkide nägemiseks külastage funktsioonide lehte. Pange tähele, et ekraan on ainult seitsme segmendiga, nii et mõned märgid ei pruugi täiuslikud välja näha, kuid kontekstis annavad teile hea idee-vaadake videot selles etapis.
8. samm:
Lõpuks saate ka eraldi käsitleda iga numbri iga segmenti. Mõelge selle massiivi sisule:
baitide väärtused = {1, 2, 4, 8, 16, 32, 64, 128};
iga element tähistab numbreid 1 ~ 8. Iga elemendi väärtus määrab, milline numbri segment lülitub sisse. Segmentide a ~ f, dp väärtused on 1, 2, 4, 6, 16, 32, 64, 128. Seega ülaltoodud massiivi kasutamise tulemused järgmises funktsioonis:
module.setDisplay (väärtused);
tuleb pildi järgi.
9. samm:
Loomulikult saate iga numbri väärtusi kombineerida, et luua oma tegelased, sümbolid jne. Näiteks kasutades järgmisi väärtusi:
baitide väärtused = {99, 99, 99, 99, 99, 99, 99, 99};
lõime selles etapis pildi järgi.
10. samm: nupud
Nuppude väärtused tagastatakse funktsiooni baitväärtusena:
module.getButtons ();
Kuna nuppe on kaheksa, tähistab igaüks neist binaarset numbrit, mis tagastatakse baitidena. Vasakul asuv nupp tagastab kümnendkoha ja parempoolne tagastab 128. Samuti saab samaaegselt vajutada, nii et ühe ja kaheksa nupu vajutamine tagastab 129. Kaaluge järgmist visandit, mis tagastab nupuvajutuste väärtused kümnendkohas ja kuvab seejärel väärtus:
#include // defineerige moodul andmeklemmil 8, kellapoldil 9 ja välklambi tihvtil 7 TM1638 moodul (8, 9, 7); baidinupud; void setup () {} void loop () {nupud = moodul.getButtons (); module.setDisplayToDecNumber (nupud, 0, vale); }
ja tulemused videos.
Need ekraaniplaadid on kasulikud ja loodetavasti leiavad teie projektides kodu. Selle postituse tõi teile pmdway.com - see pakub kõike tegijatele ja elektroonikahuvilistele ning tasuta kohaletoimetamist kogu maailmas.
Soovitan:
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
Muusika reaktiivsed mitmevärvilised LED -tuled - Arduino helituvastussensor - RGB LED -riba: 4 sammu
Muusika reaktiivsed mitmevärvilised LED -tuled | Arduino helituvastussensor | RGB LED-riba: muusikaga reageeriv mitmevärviline LED-tulede projekt. Selles projektis kasutati lihtsat 5050 RGB LED -riba (mitte adresseeritavat LED -i WS2812), Arduino helituvastussensorit ja 12 V adapterit
Neopixel Ws2812 LED -i või LED -riba või LED -rõnga kasutamine Arduinoga: 4 sammu
Kuidas kasutada Neopixel Ws2812 LED -i või LED -riba või LED -rõngast Arduinoga: Tere poisid, kuna Neopixeli LED -riba on väga populaarsed ja seda nimetatakse ka ws2812 LED -ribaks. Need on väga populaarsed, kuna nendel LED -ribadel saame käsitleda iga LED -i eraldi, mis tähendab, et kui soovite, et vähesed LED -id helendaksid ühes värvitoonis
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba
Tulekahjusignalisatsioon Arduino abil [paar lihtsat sammu]: 3 sammu
Arduino kasutav tulekahjusignalisatsioon [paar lihtsat sammu]: Kas soovite Arduinoga teha lihtsa ja huvitava projekti, mis võiks samal ajal olla tõesti kasulik ja potentsiaalselt elupäästev? Kui jah, siis olete jõudnud õigesse kohta õppima midagi uut ja uuenduslikku. Selles postituses läheme