Sisukord:

Arduino ja TM1638 LED -ekraanimoodulid: 11 sammu
Arduino ja TM1638 LED -ekraanimoodulid: 11 sammu

Video: Arduino ja TM1638 LED -ekraanimoodulid: 11 sammu

Video: Arduino ja TM1638 LED -ekraanimoodulid: 11 sammu
Video: Модуль клавиатуры и индикации на TM1638 2024, Juuli
Anonim
Arduino ja TM1638 LED -ekraanimoodulid
Arduino ja TM1638 LED -ekraanimoodulid

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:

Pilt
Pilt

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:

Pilt
Pilt

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

Alustamine - riistvara
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:

  1. Vcc (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. 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

Kahevärvilised LED-id
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:

Image
Image

Ü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:

Pilt
Pilt

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: