Sadržaj:

Arduino i TM1638 moduli LED zaslona: 11 koraka
Arduino i TM1638 moduli LED zaslona: 11 koraka

Video: Arduino i TM1638 moduli LED zaslona: 11 koraka

Video: Arduino i TM1638 moduli LED zaslona: 11 koraka
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Studeni
Anonim
Arduino i TM1638 LED zaslonski moduli
Arduino i TM1638 LED zaslonski moduli

Ako vam je potreban brz i jednostavan način dodavanja unosa i izlaza korisniku u projekt, ovi moduli prikaza su zanimljivi i zabavni.

Sadrže osam 7-segmentnih crvenih LED znamenki, osam crvenih/zelenih LED dioda i također osam gumba za korisnički unos. Jedinice se također mogu vezati tratinčicom, dopuštajući do pet odjednom, a uz svaki modul dolazi kratki kabel, kao i neki kratki razmaci i vijci, kao što je prikazano na slici.

Korak 1:

Slika
Slika

Odstojnici su tek toliko dugački da se PCB podigne iznad površine, međutim za montažu ploča bilo gdje korisno trebat će vam dulji. Možda ćete također htjeti ukloniti IDC utičnice ako želite montirati modul blizu površine ploče. Ovo bi bio jednostavan zadatak odlemljivanja budući da se radi o utičnicama s otvorima.

Korak 2:

Slika
Slika

Ploču upravlja IC1638 IC.

Ovo je IC LED upravljačkog programa sučelja tvrtke "Titan Micro Electronics". Ove IC -ove možete kupiti i od PMD Way. Za više pojedinosti možete preuzeti i podatkovnu tablicu.

Korak 3: Početak rada - hardver

Početak rada - hardver
Početak rada - hardver

Hardver-Spajanje na Arduino kompatibilnu ploču (ili drugi MCU) prilično je jednostavno. Isključci su prikazani na stražnjoj strani PCB -a i odgovaraju ugradnji na vrpčnom kabelu. Ako pogledate kraj kabela kao takav.

Gornji desni otvor je pin jedan, s gornjim lijevim pinom dva, donji desni pin devet i donji lijevi pin deset. Stoga su pinout -ovi:

  1. Vcc (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. nije povezano.

Za upotrebu Arduina, pinovi 1 ~ 4 su minimalni potrebni za korištenje jednog modula. Svaki dodatni modul zahtijevat će još jedan digitalni pin spojen na STB2, STB3 itd. Više o tome kasnije. Imajte na umu da svaki modul postavljen na punu svjetlinu sa svakom uključenom LED diodom troši 127 mA, pa bi bilo pametno koristiti vanjsko napajanje s više od jednog modula i drugim vezama s Arduino pločama.

Korak 4: Početak rada - softver

Softver - preuzmite i instalirajte biblioteku T1638 odavde. Hvala i svaka čast rjbatisti na gmail dot com za biblioteku. Pokretanje modula na skici je jednostavno. Uključite knjižnicu sa:

#uključi

zatim upotrijebite jedno od sljedećeg za svaki modul:

TM1638 modul (x, y, z);

x je Arduino digitalni pin spojen na pin 4 kabela modula, y je Arduino digitalni pin spojen na pin 3 kabela modula, a z je strobo pin. Dakle, ako ste imali jedan modul s podacima, satom i stroboskopom spojenim na pinove 8, 7 i 6, koristili biste:

Modul TM1638 (8, 7, 6);

Da imate dva modula, s jednim modulom stroboskopa spojenim na Arduino digital 6, i strobom dva modula spojenim na digital 5, koristili biste:

Modul TM1638 (8, 7, 6); modul TM1638 (8, 7, 5);

i tako dalje za više modula. Sada za upravljanje zaslonom …

Korak 5: Dvobojne LED diode

Dvobojne LED diode
Dvobojne LED diode

Upravljanje crvenim/zelenim LED diodama je jednostavno. Za referencu, oni su numerirani od nule do sedam slijeva nadesno. Za uključivanje ili isključivanje jedne LED diode upotrijebite sljedeće:

module.setLED (TM1638_COLOR_RED, x); // LED broj x postavite na redmodule.setLED (TM1638_COLOR_GREEN, x); // LED broj x postavite na zeleni modul.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // LED broj x postavite na crveno i zeleno

Korištenje gore navedene metode može biti jednostavno, donekle je neučinkovito. Bolji način je adresirati sve LED diode u jednoj izjavi. Da bismo to učinili, na zaslon šaljemo dva bajta podataka u heksadecimalnom obliku. MSB (najznačajniji bajt) sastoji se od osam bitova, od kojih svaki predstavlja jednu zelenu LED diodu koja je uključena (1) ili isključena (0). LSB (najmanje značajan bajt) predstavlja crvene LED diode.

Lak način za određivanje heksadecimalne vrijednosti za upravljanje LED diodama je jednostavan. Slika ima jedan red LED dioda - prvih osam je zelenih, a drugih osam crvenih. Svaku znamenku postavite na 1 za uključivanje i 0 za isključeno. Pretvorite dva binarna broja u heksadecimalni i koristite ovu funkciju:

module.setLEDs (0xgreenred);

Gdje je zelena heksadecimalni broj za zelene LED diode, a crvena je heksadecimalni broj za crvene LED diode. Na primjer, za uključivanje prve tri LED diode kao crvene, a posljednje tri kao zelene, binarni prikaz bit će:

00000111 11100000 koji je u heksadecimalnom broju E007.

Tako bismo koristili:

module.setLEDs (0xE007);

koji proizvodi sliku kao što je gore prikazano.

Korak 6: 7-segmentni zaslon

Da biste izbrisali numerički prikaz (ali ne i LED diode ispod), jednostavno upotrijebite:

module.clearDisplay ();

ili za uključivanje svakog segmenta I svih LED dioda, upotrijebite sljedeće

module.setupDisplay (true, 7); // gdje je 7 intenzitet (od 0 ~ 7)

Za prikaz decimalnih brojeva koristite funkciju:

module.setDisplayToDecNumber (a, b, false);

gdje je a cijeli broj, b je položaj za decimalnu točku (0 za ništa, 1 za znamenku 8, 2, za znamenku 7, 4 za znamenku 6, 8 za znamenku 4 itd.), i zadnji parametar (true/ false) uključuje ili isključuje vodeće nule. Sljedeća skica prikazuje korištenje ove funkcije:

#include // definirajte modul na podatkovnom pinu 8, taktu 9 i strobnom pinu 7 TM1638 modul (8, 9, 7); bezznačno dugo a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); odgoda (1); } za (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); odgoda (1); }}

… s rezultatima prikazanim u videu.

Korak 7:

Image
Image

Jedna od najzanimljivijih značajki je mogućnost pomicanja teksta po jednom ili više zaslona. Da biste to učinili, zapravo nije potrebno objašnjenje jer priložena demonstracijska skica:

tm_1638_pomicanje_modula_primjer.pde

uključen u biblioteku TM1638 lako se prati. Samo umetnite svoj tekst u niz const char , provjerite jesu li moduli ožičeni prema definiciji modula na početku skice i jeste li spremni. Da biste vidjeli dostupne znakove, posjetite stranicu funkcija. Imajte na umu da je zaslon samo sedam segmenata, pa neki likovi možda neće izgledati savršeno, ali u kontekstu će vam dati dobru ideju-pogledajte video u ovom koraku.

Korak 8:

Konačno, također možete pojedinačno adresirati svaki segment svake znamenke. Razmotrimo sadržaj ovog niza:

bajtske vrijednosti = {1, 2, 4, 8, 16, 32, 64, 128};

svaki element predstavlja znamenke 1 ~ 8. Vrijednost svakog elementa određuje koji će se segment znamenke uključiti. Za segmente a ~ f, dp vrijednosti su 1, 2, 4, 6, 16, 32, 64, 128. Dakle, rezultati korištenja gornjeg niza u sljedećoj funkciji:

module.setDisplay (vrijednosti);

bit će po slici.

Korak 9:

Slika
Slika

Naravno, možete kombinirati vrijednosti za svaku znamenku kako biste stvorili vlastite znakove, simbole itd. Na primjer, pomoću sljedećih vrijednosti:

bajtske vrijednosti = {99, 99, 99, 99, 99, 99, 99, 99};

stvorili smo prema slici u ovom koraku.

Korak 10: Gumbi

Vrijednosti gumba vraćaju se kao funkcija bajta iz funkcije:

module.getButtons ();

Kako postoji osam gumba, svaki predstavlja jedan bit binarnog broja koji se vraća kao bajt. Gumb s lijeve strane vraća decimalni broj jedan, a desni vraća 128. Također može vratiti istovremene pritiske, pa se pritiskom na tipke jedan i osam vraća 129. Razmotrite sljedeću skicu koja vraća vrijednosti pritiska tipki u decimalnom obliku, a zatim prikazuje vrijednost:

#include // definirajte modul na podatkovnom pinu 8, taktu 9 i strobnom pinu 7 TM1638 modul (8, 9, 7); gumbi za bajtove; void setup () {} void loop () {button = module.getButtons (); module.setDisplayToDecNumber (gumbi, 0, netočno); }

a rezultate u videu.

Ove su ploče za prikazivanje korisne i nadamo se da će pronaći dom u vašim projektima. Ovaj post vam donosi pmdway.com - nudi sve za proizvođače i ljubitelje elektronike, uz besplatnu dostavu diljem svijeta.

Preporučeni: