Mitu LED -ekraanimoodulit: 6 sammu (piltidega)
Mitu LED -ekraanimoodulit: 6 sammu (piltidega)
Anonim
Image
Image
Mitu LED -ekraanimoodulit
Mitu LED -ekraanimoodulit
Mitu LED -ekraanimoodulit
Mitu LED -ekraanimoodulit

Tere kõik, Mulle meeldib töötada 7 segmendiga LED -ekraanidega või punktmaatriksiga ja tegin nendega juba palju erinevaid projekte.

Iga kord on need huvitavad, sest nende toimimises on mingi võlu, sest see, mida te näete, on optiline illusioon!

Ekraanidel on palju kontakte Arduinoga (või mõne muu mikrokontrolleriga) ühendamiseks ja parim lahendus on rakendada andmete multipleksimise tehnikat, et minimeerida nende portide kasutamist.

Kui seda teete, lülitatakse iga segment või iga LED mõneks hetkeks (milisekundiks või vähem) sisse, kuid selle kordamine nii mitu korda sekundis tekitab kujutise, mida soovite näidata.

Minu jaoks on kõige huvitavam arendada loogikat, programmi, et teada saada, kuidas nad saavad teie projekti kohaselt õiget teavet näidata.

Ühes projektis kuvarite kasutamine nõuab palju aega kõigi komponentide kokkupanekuks leivaplaadile, millel on palju juhtmeid ühenduste jaoks.

Ma tean, et turul on palju erinevaid kuvareid, mis töötavad I2C abil lihtsustatud viisil (või mitte) nende programmeerimiseks ja olen ka neid kasutanud, kuid eelistan töötada standardkomponentidega nagu 74HC595 (multiplekseri IC) ja ULN2803 (draiverid), sest need annavad teile suurema kontrolli oma programmi üle ning ühtlasi suurema töökindluse ja töökindluse.

Montaažiprotsessi lihtsustamiseks olen välja töötanud LED Dipslay mooduli mitmeks otstarbeks, kasutades Arduino maailmas lihtsaid ja tavalisi komponente.

Selle mooduliga saate töötada kahe maatriksiga (suuremad ja väiksemad) kahevärviliste LED -idega maatriksiga ning juhtida ka 7 Seg x 4 -kohalist ekraani, mis on turul väga levinud ja hõlpsasti leitavad.

Samuti saate nende moodulitega töötada järjestikku (erinevad andmed kuvariteks) või paralleelselt (samad andmed kuvariteks).

Nii et vaatame, kuidas see moodul võib töötada ja aidata teil teie arengutes!

Video (LED -ekraanimoodul)

Video (punktmaatriksi test)

Lugupidamisega

LAGSILVA

Samm: komponendid

Komponendid
Komponendid
Komponendid
Komponendid
Komponendid
Komponendid
Komponendid
Komponendid

PCB (trükkplaat)

- 74HC595 (03 x)

- ULN2803 (02 x)

- Transistori PNP - BC327 (08 x)

- Takisti 150 oomi (16 x)

- takisti 470 oomi (08 x)

- Kondensaator 100 nF (03 x)

- IC -pistikupesa 16 tihvti (03 x)

- IC -pesa 18 tihvti (02 x)

- tihvtpistikupesa - 6 tihvti (8 x)

- tihvtide päised 90º (01 x)

- tihvtide päised 180º (01 x)

- Conector Borne KRE 02 tihvti (02 x)

- PCB (01 x) - toodetud

Teised

- Arduino Uno R3 / Nano / sarnane

- LED -ekraan 04 numbrit x 7 segmenti - (tavaline anood)

- LED -punktmaatriks, kahevärviline (roheline ja punane) - (tavaline anood)

Olulised märkused:

  1. Ma panen kõigi oluliste komponentide andmelehe ainult viitena, kuid enne nende kasutamist peate kontrollima oma komponentide andmelehte.
  2. See plaat oli mõeldud kasutamiseks ainult COMMON ANODE kuvaritega.

Samm: esimesed prototüübid

Esimesed prototüübid
Esimesed prototüübid
Esimesed prototüübid
Esimesed prototüübid
Esimesed prototüübid
Esimesed prototüübid
Esimesed prototüübid
Esimesed prototüübid

Minu esimene prototüüp tehti vooluringi testimiseks leivaplaadil.

Pärast seda tegin veel ühe prototüübi, kasutades universaalset tahvlit, nagu näete piltidel.

Selline plaat on huvitav kiire prototüübi tootmiseks, kuid saate aru, et see hoiab endiselt palju juhtmeid.

See on funktsionaalne lahendus, kuid mitte nii elegantne, kui võrrelda lõpptoodetud trükkplaadiga (sinine).

Ma ei joo hästi jootmisega, sest mul pole selle protsessiga piisavalt kogemusi, kuid isegi sel juhul sain häid tulemusi nii kogemuste kui ka tähtsamana: ma ei põletanud ühtegi komponenti ega käsi!

Tõenäoliselt on minu järgmise laua tulemused praktika tõttu paremad.

Seetõttu julgustan teid proovima sellist kogemust, sest see sobib teile suurepäraselt.

Pidage meeles, et kuuma triikrauaga tuleb hoolitseda ja ärge kulutage komponendile rohkem kui paar sekundit, et vältida selle põletamist !!

Ja lõpuks, Youtube'ist leiate palju jootmist puudutavaid videoid, mida saate enne pärismaailma minekut õppida.

3. samm: trükkplaatide kujundamine

PCB disain
PCB disain
PCB disain
PCB disain
PCB disain
PCB disain
PCB disain
PCB disain

Kavandasin selle trükkplaadi kahekihilise plaadi tootmiseks spetsiaalse tarkvara abil ja see töötati välja mitu erinevat versiooni enne seda viimast.

Alguses oli mul igat tüüpi kuvarite jaoks üks versioon ja lõppude lõpuks otsustasin kõik ühendada ainult ühes versioonis.

Disaini eesmärgid:

  • Lihtne ja kasulik prototüüpide jaoks.
  • Lihtne seadistada ja laiendatav.
  • Võimalik kasutada 3 erinevat tüüpi kuvarit.
  • LED -i suure punktmaatriksi maksimaalne laius.
  • Maksimaalne pikkus 100 mm, et minimeerida plaadi tootmiskulusid.
  • Kasutage SMD asemel traditsioonilisi komponente, et vältida raskusi käsitsi jootmise ajal.
  • Tahvel peab olema modulaarne, et ühendada see kaskaadis mõne teise plaadiga.
  • Sarja- või paralleelväljund teiste tahvlite jaoks.
  • Mitu plaati peab juhtima ainult Arduino.
  • Arduino ühendamiseks ainult 3 juhtmest andmeid.
  • Väline 5V toiteühendus.
  • Suurendage LED -ide juhtimiseks transistoride ja draiverite (ULN2803) elektrilist vastupidavust.

Märkus:

Selle viimase üksusega seoses soovitan teil lugeda minu teist juhendit nende komponentide kohta:

Nihkeregistri 74HC595 kasutamine koos ULN2803, UDN2981 ja BC327 -ga

PCB tootmine:

Pärast disaini lõpetamist saatsin selle pärast paljusid otsinguid erinevate kohalike tarnijatega ja erinevates riikides Hiina trükkplaatide tootjale.

Põhiküsimus oli seotud tahvlite hulga ja maksumusega, sest mul on vaja vaid mõnda neist.

Lõpuks otsustasin Hiinas asuva ettevõttega tellida tavalise tellimuse (mitte kiir tellimus kõrgemate kulude tõttu) vaid 10 plaati.

Vaid 3 päeva pärast valmistati lauad ja saadeti mulle 4 päevaga üle maailma.

Tulemused olid suurepärased !!

Nädala jooksul pärast ostutellimust olid lauad minu käes ja mul oli tõeliselt muljet nende kõrge kvaliteet ja kiire kiirus!

4. samm: programmeerimine

Programmeerimine
Programmeerimine
Programmeerimine
Programmeerimine

Programmeerimisel peate meeles pidama mõningaid olulisi kontseptsioone riistvara disaini ja vahetusregistri 74HC595 kohta.

74HC595 põhiülesanne on muuta 8-bitine jadaliides 8 paralleelväljundiks.

Kõik seeriaandmed lähevad tihvti nr 14 juurde ja iga kella signaali korral lähevad bitid vastavatele paralleelselt ühendatud tihvtidele (Qa kuni Qh).

Kui jätkate rohkemate andmete saatmist, teisaldatakse bittid ükshaaval uuesti pin #9 (Qh ') jadaväljundina ja selle funktsionaalsuse tõttu saate teise kiibi ühendada kaskaadiga.

Tähtis:

Selles projektis on meil kolm 74HC595 IC -d. Esimesed kaks töötavad veergude juhtimiseks (POSITIIVLOOGIKAga) ja viimane liinide juhtimiseks (NEGATIIVLOOGIKA tõttu, kuna PNP -transistorid töötavad).

Positiivne loogika tähendab, et peate saatma Arduino KÕRGE taseme signaali (+5 V) ja negatiivne loogika tähendab, et peate saatma madala taseme signaali (0 V).

LED -punktide maatriks

  1. Esimene neist on punaste LED -de katoodide väljundite jaoks (8 x) >> VEERG PUNANE (1 kuni 8).
  2. Teine on roheliste valgusdioodide katoodide väljundi jaoks (8 x) >> VEERGROHELINE (1 kuni 8).
  3. Viimane on kõigi LED -ide anoodide väljundiks (08 x punane ja roheline) >> LINES (1 kuni 8).

Näiteks kui soovite sisse lülitada ainult veeru 1 ja rea 1 rohelise valgusdioodi, peate saatma järgmise jadaandmete jada:

1º) Liinid

~ 10000000 (ainult esimene rida on sisse lülitatud) - sümbol ~ muudab kõik bitid 1 -st 0 -ks ja vastupidi.

2º) VEERG Roheline

10000000 (ainult rohelise LED -i esimene veerg on sisse lülitatud)

3º) VEERG PUNANE

00000000 (kõik punaste LED -ide veerud on välja lülitatud)

Arduino avaldused:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Negatiivne loogika ridade jaoks

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Roheliste veergude positiivne loogika

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Punaste veergude positiivne loogika

Märkus:

Mõlemat LED -i (roheline ja punane) saate kombineerida ka kollase värvi saamiseks järgmiselt:

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

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

7 segmentide kuvamine

Selliste näidikute puhul on järjestus sama. Ainus erinevus on see, et te ei pea kasutama rohelisi LED -e.

1º) DIGIT (1 kuni 4 vasakult paremale) ~ 10000000 (määratud number 1)

~ 01000000 (määratud number #2)

~ 00100000 (määratud number #3)

~ 00010000 (määratud number #4)

2º) EI KASUTA

00000000 (kõik bitid on nullitud)

3º) SEGMENDID (A kuni F ja DP - kontrollige oma kuva andmelehte)

10000000 (komplekti segment A)

01000000 (komplekt B)

00100000 (komplekti segment C)

00010000 (komplekti segment D)

00001000 (komplekti segment E)

00000100 (komplekti segment F)

00000010 (komplekti segment G)

00000001 (määrake DP)

Arduino näide, et määrata kuvar nr 2 numbriga 3:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Määra DISPLAY 2 (negatiivne loogika)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Määra andmed nulliks (ei kasutata)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Määrake segmendid A, B, C, D, G)

Lõpuks saate seda protsessi rakendades juhtida oma ekraani mis tahes LED -i ja luua ka vajalikud erimärgid.

Samm: testimine

Testimine
Testimine
Testimine
Testimine
Testimine
Testimine

Siin on näidismooduli funktsionaalsuse näitena kaks programmi.

1) Tagaplaaninäidik (999,9 sekundist nullini)

2) Punktmaatriks (numbrid 0 kuni 9 ja tähestik A kuni Z)

3) Digitaalkell RTC LED -ekraanil 4 numbrit ja 7 segmenti

See viimane on minu esimese digitaalse kella versiooni värskendus.

6. samm: järeldus ja järgmised sammud

Kokkuvõte ja järgmised sammud
Kokkuvõte ja järgmised sammud
Kokkuvõte ja järgmised sammud
Kokkuvõte ja järgmised sammud

See moodul on kasulik kõigis tulevastes projektides, mis nõuavad teatavat LED -ekraani.

Järgmiste sammudena panen kokku mõned tahvlid, et nendega kaskaadrežiimis töötada, ja töötan välja ka raamatukogu, et programmeerimist veelgi lihtsustada.

Loodan, et teile meeldis see projekt.

Palun saatke mulle oma kommentaarid, sest see on oluline projekti ja selle juhendi teabe täiustamiseks.

Lugupidamisega

LAGSILVA

26. mai.2016