Več modulov LED zaslona: 6 korakov (s slikami)
Več modulov LED zaslona: 6 korakov (s slikami)
Anonim
Image
Image
Modul z več LED zasloni
Modul z več LED zasloni
Modul z več LED zasloni
Modul z več LED zasloni

Pozdravljeni vsi, Rad delam z LED zasloni s 7 segmenti ali s matriko in z njimi sem že naredil veliko različnih projektov.

Vsakič, ko so zanimive, ker obstaja nekakšna čarovnija v tem, kako lahko delujejo, kajti to, kar vidite, je optična iluzija!

Zasloni imajo veliko zatičev za povezavo z Arduinom (ali drugim mikrokrmilnikom) in najboljša rešitev je, da uporabite tehniko multipleksiranja podatkov, da zmanjšate uporabo svojih vrat.

Ko to storite, bo vsak segment ali vsaka LED vklopljena za nekaj trenutkov (milisekund ali manj), vendar ponavljanje tega v toliko krat na sekundo ustvari iluzijo slike, ki jo želite prikazati.

Zame je najbolj zanimivo razviti logiko, program, da bi ugotovili, kako lahko prikažejo pravilne informacije glede na vaš projekt.

V enem projektu uporaba zaslonov zahteva veliko časa za sestavljanje vseh komponent na plošči z veliko žicami za povezavo.

Vem, da je na trgu veliko različnih zaslonov z I2C, s poenostavljenimi načini (ali ne) za njihovo programiranje in tudi jaz sem jih uporabil, vendar raje delam s standardnimi komponentami, kot sta 74HC595 (multiplekser IC) in ULN2803 (gonilniki), ker vam dajejo večji nadzor v vašem programu in tudi večjo robustnost in zanesljivost pri uporabi.

Za poenostavitev postopka montaže sem razvil LED Dipslay modul za več namenov z uporabo preprostih in običajnih komponent v svetu Arduina.

S tem modulom lahko delate z matrično matrico z dvobarvnimi LED diodami v dveh standardnih velikostih (večjo in manjšo), prav tako pa lahko upravljate 7 -segmentni 4 -mestni zaslon, ki je zelo pogost in ga je enostavno najti na trgu.

S temi moduli lahko delate tudi kaskadno na serijski način (različni podatki na prikazovalnike) ali na paralelni način (isti podatki na prikazovalnike).

Pa poglejmo, kako lahko ta modul deluje in vam pomaga pri vašem razvoju!

Video (modul LED zaslona)

Video (Dot Matrix Test)

S spoštovanjem, LAGSILVA

1. korak: Komponente

Sestavni deli
Sestavni deli
Sestavni deli
Sestavni deli
Sestavni deli
Sestavni deli
Sestavni deli
Sestavni deli

Tiskana vezja (PCB)

- 74HC595 (03 x)

- ULN2803 (02 x)

- Tranzistor PNP - BC327 (08 x)

- Upor 150 Ohmov (16 x)

- Upor 470 Ohmov (08 x)

- Kondenzator 100 nF (03 x)

- IC vtičnica 16 pinov (03 x)

- IC vtičnica 18 pinov (02 x)

- Pin priključek ženski - 6 pinov (8 x)

- Glave nožic 90º (01 x)

- Glave nožic 180º (01 x)

- Spojnik Borne KRE 02 zatiči (02 x)

- PCB (01 x) - Proizvedeno

Drugi

- Arduino Uno R3 / Nano / podobno

- LED zaslon 04 števk x 7 segmentov - (skupna anoda)

- Dvobarvna LED matrična matrika (zelena in rdeča) - (skupna anoda)

Pomembne opombe:

  1. Podatkovni list vseh najpomembnejših komponent sem dal le kot referenco, vendar morate pred uporabo pregledati podatkovni list svojih komponent.
  2. Ta plošča je bila zasnovana tako, da uporablja samo zaslone COMMON ANODE.

2. korak: Prvi prototipi

Prvi prototipi
Prvi prototipi
Prvi prototipi
Prvi prototipi
Prvi prototipi
Prvi prototipi
Prvi prototipi
Prvi prototipi

Moj prvi prototip je bil narejen na plošči za testiranje vezja.

Potem sem naredil še en prototip z uporabo univerzalne plošče, kot lahko vidite na slikah.

Tovrstna plošča je zanimiva za izdelavo hitrega prototipa, vendar se zavedate, da še vedno hrani veliko žic.

Je funkcionalna rešitev, vendar ne tako elegantna v primerjavi s končno proizvedenim tiskanim vezjem (modrim).

S spajkanjem nisem dober, ker nimam dovolj izkušenj s tem postopkom, a tudi s tem sem dosegel dobre rezultate tako z izkušnjami kot še pomembneje: nisem zažgal nobene komponente in niti rok!

Verjetno bodo rezultati na naslednji plošči boljši zaradi prakse.

Zato vas vabim, da preizkusite tovrstno izkušnjo, saj bo za vas odlična.

Ne pozabite, da morate z vročim likalnikom skrbeti in poskušati ne porabiti več kot nekaj sekund na komponenti, da se ne opeče !!

In končno, na Youtube lahko najdete veliko videoposnetkov o spajkanju, ki se jih lahko naučite, preden greste v resnični svet.

3. korak: Oblikovanje PCB -ja

Oblikovanje PCB
Oblikovanje PCB
Oblikovanje PCB
Oblikovanje PCB
Oblikovanje PCB
Oblikovanje PCB
Oblikovanje PCB
Oblikovanje PCB

To tiskano vezje sem zasnoval z namensko programsko opremo za izdelavo dvoslojne plošče, pred zadnjo pa je bilo razvitih več različnih različic.

Na začetku sem imel eno različico za vsako vrsto zaslonov in navsezadnje sem se odločil, da vse združim v samo eno različico.

Oblikovalni cilji:

  • Enostavno in uporabno za prototipe.
  • Enostavna nastavitev in razširljivost.
  • Lahko uporablja 3 različne vrste zaslonov.
  • Največja širina velike matrike LED.
  • Največja dolžina pri 100 mm za zmanjšanje stroškov proizvodnje plošče.
  • Namesto SMD uporabite tradicionalne komponente, da se izognete večjim težavam med postopkom ročnega spajkanja.
  • Plošča mora biti modularna, da se kaskadno poveže z drugo ploščo.
  • Serijski ali paralelni izhod za druge plošče.
  • Več plošč mora nadzorovati samo Arduino.
  • Samo 3 žice podatkov za povezavo Arduino.
  • Zunanji priključek za napajanje 5V.
  • Povečajte električno trdnost z uporabo tranzistorjev in gonilnikov (ULN2803) za nadzor LED.

Opomba:

V zvezi s to zadnjo postavko vam priporočam, da preberete še moja navodila o teh sestavinah:

Uporaba registra premikov 74HC595 z ULN2803, UDN2981 in BC327

Proizvodnja PCB:

Po končanem oblikovanju sem ga po številnih iskanjih pri različnih lokalnih dobaviteljih in v različnih državah poslal proizvajalcu PCB na Kitajskem.

Glavno vprašanje je bilo povezano med količino plošč in stroški, ker jih potrebujem le nekaj.

Nazadnje sem se odločil, da bom s podjetjem na Kitajskem dal redno naročilo (ne izrecno naročilo zaradi višjih stroškov) le 10 plošč.

Po samo 3 dneh so bile plošče izdelane in mi poslane po celem svetu v 4 dneh.

Rezultati so bili odlični !!

V enem tednu po naročilu so bile deske v mojih rokah in res sem bil navdušen nad njihovo kakovostjo in hitrostjo!

4. korak: Programiranje

Programiranje
Programiranje
Programiranje
Programiranje

Pri programiranju morate upoštevati nekaj pomembnih konceptov o zasnovi strojne opreme in o registru premikov 74HC595.

Glavna funkcija 74HC595 je pretvorba 8-bitnega zaporednega vhoda v 8 vzporednih izhodov.

Vsi serijski podatki gredo v pin #14 in pri vsakem signalu ure gredo biti na ustrezne vzporedne izhode (Qa do Qh).

Če nenehno pošiljate več podatkov, se bitovi drug za drugim premaknejo na Pin #9 (Qh ') kot serijski izhod in zaradi te funkcije lahko v kaskado vstavite druge čipe, povezane.

Pomembno:

V tem projektu imamo tri IC -je 74HC595. Prva dva delujeta za nadzor stolpcev (s POZITIVNO logiko), zadnji pa za nadzor vrstic (z NEGATIVNO logiko zaradi delovanja tranzistorjev PNP).

Pozitivna logika pomeni, da morate poslati signal VISOKEGA nivoja (+5V) iz Arduina, negativna logika pa pomeni, da morate poslati signal nizkega nivoja (0V).

Matrična točka LED

  1. Prvi je za izhode katod rdečih LED (8 x) >> STOLPEČ RDEČE (1 do 8).
  2. Drugi je za izhod L katod zelenih LED (8 x) >> ZELENI STOLPEK (1 do 8).
  3. Zadnji je za izhod anod vseh LED (08 x rdeča in zelena) >> LINIJE (1 do 8).

Na primer, če želite vklopiti samo zeleno LED v stolpcu 1 in vrstici 1, morate poslati naslednje zaporedje serijskih podatkov:

1º) LINIJE

~ 10000000 (samo prva vrstica je nastavljena na vklopljeno) - Simbol ~ je namenjen obračanju vseh bitov od 1 do 0 in obratno.

2º) STOLPEK Zelena

10000000 (samo prvi stolpec zelene LED je vklopljen)

3º) STOLPEK RDEČ

00000000 (vsi stolpci rdečih LED so izklopljeni)

Arduino izjave:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Negativna logika vrstic

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Pozitivna logika za zelene stolpce

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Pozitivna logika za rdeče stolpce

Opomba:

Kombinirate lahko tudi obe LED (zeleno in rdečo), da dobite rumeno barvo, kot sledi:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

Prikaz 7 segmentov

Za tovrstne zaslone je zaporedje enako. Edina razlika je, da vam zelenih LED ni treba uporabljati.

1º) ŠTEVILKA (1 do 4 od leve proti desni) ~ 10000000 (nastavljena številka #1)

~ 01000000 (nastavljena številka 2)

~ 00100000 (nastavljena številka #3)

~ 00010000 (nastavljena številka #4)

2º) NE UPORABLJAMO

00000000 (vsi biti nastavljeni na nič)

3º) SEGMENTI (A do F in DP - preverite podatkovni list zaslona)

10000000 (nastavite segment A)

01000000 (nastavite segment B)

00100000 (nastavite segment C)

00010000 (nastavite segment D)

00001000 (nastavite segment E)

00000100 (nastavite segment F)

00000010 (nastavite segment G)

00000001 (komplet DP)

Primer Arduino za nastavitev zaslona #2 s številko 3:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Nastavi DISPLAY 2 (Negativna logika)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Nastavi podatke na nič (ne uporablja se)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Nastavitev segmentov A, B, C, D, G)

Nazadnje, s tem postopkom lahko nadzirate katero koli LED diodo vašega zaslona in ustvarite lahko tudi vse posebne znake, ki jih potrebujete.

5. korak: Testiranje

Testiranje
Testiranje
Testiranje
Testiranje
Testiranje
Testiranje

Tu sta dva programa kot primer funkcionalnosti modula zaslona.

1) Prikaz odštevanja (od 999,9 sekunde do nič)

2) Dot Matrix (števke od 0 do 9 in abeceda od A do Z)

3) Digitalna ura RTC v 4 -mestnem LED prikazovalniku in 7 segmentih

Ta zadnja je posodobitev moje prve različice digitalne ure.

Korak 6: Zaključek in naslednji koraki

Zaključek in naslednji koraki
Zaključek in naslednji koraki
Zaključek in naslednji koraki
Zaključek in naslednji koraki

Ta modul bo uporaben pri vseh prihodnjih projektih, ki potrebujejo LED zaslon.

V naslednjih korakih bom zbral več plošč za delo z njimi v kaskadnem načinu in razvil bom tudi knjižnico, ki bo še poenostavila programiranje.

Upam, da ste uživali v tem projektu.

Prosim, pošljite mi svoje pripombe, ker je to pomembno za izboljšanje projekta in informacij o tem navodilu.

S spoštovanjem, LAGSILVA

26.maj.2016