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, Juli
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 korisnika u projekt, ovi moduli prikaza su zanimljivi i zabavni.

Sadrže osam 7-segmentnih crvenih LED cifara, osam crvenih/zelenih LED dioda i osam tastera za korisnički unos. Jedinice se također mogu lancem vezati, dopuštajući do pet odjednom, a uz svaki modul uključen je i kratki kabel, kao i neki kratki odstojnici i vijci, kako je prikazano na slici.

Korak 1:

Image
Image

Odstojnici su tek toliko dugački da podignu PCB iznad površine, međutim za montažu ploča bilo gdje vam je potrebno trebat će vam duži. 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:

Image
Image

Ploču kontrolira IC1638 IC.

Ovo je IC upravljački program za LED i interfejs kompanije “Titan Micro Electronics”. Ove IC -ove možete kupiti i od PMD Way. Za više detalja možete preuzeti i podatkovnu tablicu.

Korak 3: Početak - hardver

Prvi koraci - Hardver
Prvi koraci - 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 trakastom kabelu. Ako pogledate kraj kabela kao takav.

Gornja desna rupa je pin pin, s gornje lijeve strane pin pin, 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 povezan.

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 uključenom LED diodom troši 127mA, pa bi bilo pametno koristiti vanjsko napajanje s više od jednog modula i drugim vezama s Arduino pločama.

Korak 4: Prvi koraci - softver

Softver - preuzmite i instalirajte biblioteku T1638 odavde. Hvala i svaka čast rjbatisti na gmail dot com za biblioteku. Inicijalizacija modula u skici je jednostavna. Uključite biblioteku sa:

#include

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 imate jedan modul s podacima, satom i stroboskopom povezanim 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, a dva stroba stroba 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 kontrolu ekrana…

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 koristite sljedeće:

module.setLED (TM1638_COLOR_RED, x); // postavljanje LED broja x na redmodule.setLED (TM1638_COLOR_GREEN, x); // postavljanje LED broja x na zeleni module.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 neefikasno. Bolji način je adresirati sve LED diode u jednoj izjavi. Da bismo to učinili, na ekran š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.

Zato bismo koristili:

module.setLEDs (0xE007);

koji proizvodi sliku kao što je prikazano gore.

Korak 6: 7-segmentni ekran

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

module.clearDisplay ();

ili da biste uključili svaki segment I sve LED diode, 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 pozicija za decimalnu točku (0 za nijednu, 1 za znamenku 8, 2, za znamenku 7, 4 za znamenku 6, 8 za znamenku 4 itd.), i posljednji parametar (true/ false) uključuje ili isključuje vodeće nule. Sljedeća skica prikazuje upotrebu ove funkcije:

#include // definirajte modul na podatkovnom pinu 8, taktu 9 i strobu pin 7 TM1638 modul (8, 9, 7); bez potpisa dugo a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); kašnjenje (1); } za (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); kašnjenje (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 ekrana. Da biste to učinili, zapravo nije potrebno objašnjenje jer priložena demonstracijska skica:

tm_1638_scrolling_modules_example.pde

uključeno u biblioteku TM1638 lako se prati. Samo umetnite svoj tekst u const char string , 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:

Na kraju, možete i pojedinačno adresirati svaki segment svake znamenke. Razmotrite 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:

Image
Image

Naravno, možete kombinirati vrijednosti za svaku znamenku kako biste stvorili vlastite znakove, simbole itd. Na primjer, koristeći sljedeće vrijednosti:

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

stvorili smo prema slici u ovom koraku.

Korak 10: Dugmad

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

module.getButtons ();

Kako postoji osam gumba, svaki predstavlja jedan bit binarnog broja koji se vraća kao bajt. Tipka s lijeve strane vraća decimalni broj jedan, a desna 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 strobu pin 7 TM1638 modul (8, 9, 7); gumbi za bajtove; void setup () {} void loop () {button = module.getButtons (); module.setDisplayToDecNumber (dugmad, 0, false); }

i rezultate u videu.

Ove ploče za prikazivanje su 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 širom svijeta.

Preporučuje se: