Përmbajtje:

Moduli i ekranit të shumëfishtë LED: 6 hapa (me fotografi)
Moduli i ekranit të shumëfishtë LED: 6 hapa (me fotografi)

Video: Moduli i ekranit të shumëfishtë LED: 6 hapa (me fotografi)

Video: Moduli i ekranit të shumëfishtë LED: 6 hapa (me fotografi)
Video: Часть 2 - Трипланетная аудиокнига Э. Э. Смита (главы 5–8) 2024, Nëntor
Anonim
Image
Image
Modul i shumëfishtë i ekranit LED
Modul i shumëfishtë i ekranit LED
Modul i shumëfishtë i ekranit LED
Modul i shumëfishtë i ekranit LED

Përshëndetje të gjithë, Më pëlqen të punoj me ekrane LED me 7 segmente ose me matricë pika dhe tashmë kam bërë shumë projekte të ndryshme me to.

Çdo herë ato janë interesante sepse ka një lloj magjie se si mund të funksionojnë sepse ajo që po shihni është një iluzion optik!

Ekranet kanë shumë kunja për t'u lidhur me një Arduino (ose një mikrokontrollues tjetër) dhe zgjidhja më e mirë është të aplikoni teknikat e shumëfishimit të të dhënave për të minimizuar përdorimin e porteve të tyre.

Kur e bëni këtë, secili segment ose secila LED do të ndizet për disa çaste (milisekonda ose më pak), por përsëritja e asaj në kaq shumë herë në sekondë krijon iluzionin e imazhit që dëshironi të shfaqni.

Për mua gjëja më interesante është zhvillimi i logjikës, programit në mënyrë që të zbuloni se si ata mund të tregojnë informacionin e saktë sipas projektit tuaj.

Në një projekt të vetëm, përdorimi i ekraneve kërkon shumë kohë për të mbledhur të gjithë përbërësit në një tabelë me shumë tela për lidhje.

Unë e di se ka shumë ekrane të ndryshme në treg që funksionojnë me I2C, me mënyra të thjeshtuara (ose jo), për t'i programuar ato dhe i kam përdorur ato gjithashtu, por preferoj të punoj me komponentë standardë si 74HC595 (IC multiplexer) dhe ULN2803 (driver) sepse ato ju japin më shumë kontroll në programin tuaj dhe gjithashtu më shumë qëndrueshmëri dhe besueshmëri në përdorimin tuaj.

Për të thjeshtuar procesin e montimit, unë kam zhvilluar një Modul LED Dipslay për qëllime të shumta duke përdorur përbërës të thjeshtë dhe të zakonshëm në botën e Arduino.

Me këtë modul mund të punoni me matricë me pika me LED të dyfishtë me ngjyra në dy madhësi standarde (më të mëdha dhe më të vogla) dhe gjithashtu mund të kontrolloni ekranin 7 Seg x 4 Shifra që janë shumë të zakonshme dhe të lehta për tu gjetur në treg.

Dhe gjithashtu mund të punoni me këto module në kaskadë në mënyrë serike (të dhëna të ndryshme në ekrane) ose në mënyrë paralele (të njëjtat të dhëna në ekrane).

Pra, le të shohim se si ky modul mund të funksionojë dhe t'ju ndihmojë në zhvillimet tuaja!

Video (Moduli i ekranit LED)

Video (Testi i Matricës së Pikës)

Të fala, LAGSILVA

Hapi 1: Përbërësit

Komponentët
Komponentët
Komponentët
Komponentët
Komponentët
Komponentët
Komponentët
Komponentët

PCB (Bordi i Qarkut të Shtypur)

- 74HC595 (03 x)

- ULN2803 (02 x)

- Transistor PNP - BC327 (08 x)

- Rezistencë 150 Ohms (16 x)

- Rezistenca 470 Ohms (08 x)

- Kondensator 100 nF (03 x)

- Socket IC 16 kunja (03 x)

- IC Socket 18 kunja (02 x)

- lidhës pin femër - 6 kunja (8 x)

- Shkruani titujt 90º (01 x)

- Shkruani titujt 180º (01 x)

- Conector Borne KRE 02 kunjat (02 x)

- PCB (01 x) - Prodhuar

Të tjerët

- Arduino Uno R3 / Nano / të ngjashme

- Ekran LED 04 Pjesë Shifrore x 7 - (Anodë e zakonshme)

- LED Dot Matrix Dual Color (Green & Red) - (Anode e zakonshme)

Vërejtje të rëndësishme:

  1. Unë e vendos fletën e të dhënave të të gjithë përbërësve më të rëndësishëm vetëm si referencë, por ju duhet të kontrolloni fletën e të dhënave të përbërësve tuaj para se t'i përdorni ato.
  2. Ky tabelë u krijua për të përdorur vetëm ekranet e ANODE TMM PMMRBASHKT.

Hapi 2: Prototipet e para

Prototipet e para
Prototipet e para
Prototipet e para
Prototipet e para
Prototipet e para
Prototipet e para
Prototipet e para
Prototipet e para

Prototipi im i parë u bë në një dërrasë buke për të testuar qarkun.

Pas kësaj bëra një prototip tjetër duke përdorur një tabelë universale siç mund ta shihni në fotografi.

Ky lloj bordi është interesant për të prodhuar një prototip të shpejtë, por e kupton që ende mban shumë tela.

Shtë një zgjidhje funksionale por jo aq elegante në krahasim me një PCB të prodhuar përfundimisht (ajo blu).

Unë nuk jam i mirë me saldimin sepse nuk kam përvojë të mjaftueshme me këtë proces, por edhe kjo kam marrë rezultate të mira me të dy përvojat dhe më e rëndësishmja: Unë nuk kam djegur asnjë përbërës dhe as duart e mia!

Ndoshta rezultatet në tabelën time të ardhshme do të jenë më të mira për shkak të praktikës.

Për shkak të kësaj ju inkurajoj të provoni këtë lloj eksperience sepse do të jetë e shkëlqyeshme për ju.

Vetëm mbani në mend të kujdeseni për hekurin e nxehtë dhe përpiquni të mos shpenzoni më shumë se disa sekonda në një përbërës për të shmangur djegien e tij !!

Dhe së fundi, në Youtube mund të gjeni shumë video rreth saldimit që mund të mësoni para se të shkoni në botën reale.

Hapi 3: Dizajni i PCB

Dizajni i PCB
Dizajni i PCB
Dizajni i PCB
Dizajni i PCB
Dizajni i PCB
Dizajni i PCB
Dizajni i PCB
Dizajni i PCB

Unë e projektova këtë PCB duke përdorur një softuer të dedikuar për të prodhuar një bord me dy shtresa dhe u zhvillua disa versione të ndryshme para këtij të fundit.

Në fillim kisha një version për çdo lloj shfaqjeje dhe në fund të fundit vendosa të kombinoja gjithçka në vetëm një version.

Synimet e Dizajnit:

  • E thjeshtë dhe e dobishme për prototipet.
  • Konfigurim i lehtë dhe i zgjerueshëm.
  • Aftësia për të përdorur 3 lloje të ndryshme të ekraneve.
  • Gjerësia maksimale e matricës së madhe të pikave të LED.
  • Gjatësia maksimale në 100 mm për të minimizuar kostot e prodhimit të bordit.
  • Aplikoni përbërës tradicionalë në vend të SMD për të shmangur më shumë vështirësi gjatë procesit të bashkimit manual.
  • Bordi duhet të jetë modular për t'u lidhur me një dërrasë tjetër në kaskadë.
  • Prodhimi serik ose paralel për bordet e tjera.
  • Disa borde duhet të kontrollohen vetëm nga një Arduino.
  • Vetëm 3 tela të dhënash për lidhjen e Arduino.
  • Lidhja e jashtme 5V e energjisë.
  • Rritni fuqinë elektrike duke përdorur transistorë dhe drejtues (ULN2803) për të kontrolluar LEDS.

Vërejtje:

Në lidhje me këtë artikull të fundit, ju rekomandoj të lexoni udhëzimet e mia të tjera për këto përbërës:

Duke përdorur Shift Register 74HC595 me ULN2803, UDN2981 dhe BC327

Prodhimi i PCB:

Pasi përfundova dizajnin, ia dërgova një prodhuesi të PCB në Kinë pas shumë kërkimesh me furnizues të ndryshëm vendas dhe në vende të ndryshme.

Çështja kryesore lidhej me sasinë e bordeve kundrejt kostos sepse më duhen vetëm disa prej tyre.

Më në fund vendosa të bëj një porosi të rregullt (jo një porosi të shprehur për shkak të kostove më të larta) të vetëm 10 bordeve me një kompani në Kinë.

Pas vetëm 3 ditësh bordet u prodhuan dhe më dërgoheshin duke kaluar botën në më shumë se 4 ditë.

Rezultatet ishin të shkëlqyera !!

Brenda një jave pas porosisë së blerjes, dërrasat ishin në duart e mia dhe isha vërtet i impresionuar me cilësinë e lartë të tyre dhe me shpejtësinë e shpejtë!

Hapi 4: Programimi

Programimi
Programimi
Programimi
Programimi

Për programim duhet të keni parasysh disa koncepte të rëndësishme në lidhje me dizajnin e harduerit dhe në lidhje me regjistrin e ndërrimit 74HC595.

Funksioni kryesor i 74HC595 është transformimi i serisë 8-bitësh në 8 ndërrime paralele-dalëse.

Të gjitha të dhënat serike futen në Pin #14 dhe në secilin sinjal të orës bitët shkojnë në kunjat e tij paralel-out përkatës (Qa në Qh).

Nëse vazhdoni të dërgoni më shumë të dhëna, bitet do të zhvendosen një nga një në Pin #9 (Qh ') si dalje serike përsëri dhe për shkak të këtij funksionaliteti mund të vendosni një tjetër patate të skuqura të lidhura në kaskadë.

E rëndësishme:

Në këtë projekt ne kemi tre IC të 74HC595. Dy të parat punojnë për të kontrolluar kolonat (me logjikë POSITIVE) dhe e fundit për të kontrolluar linjat (me logjikë NEGATIVE për shkak të funksionimit të transistorëve PNP).

Logjika pozitive do të thotë që ju duhet të dërgoni një sinjal të nivelit të Lartë (+5V) nga Arduino dhe logjika negative do të thotë që ju duhet të dërgoni një sinjal të nivelit të ulët (0V).

Matrica e pikave të LED -ve

  1. E para është për daljet e katodave të LED -ve të Kuq (8 x) >> KOLONA E KUQE (1 deri në 8).
  2. E dyta është për daljenL të katodave të LED -ve të Gjelbër (8 x) >> KOLONA E GJELBR (1 deri në 8).
  3. E fundit është për daljen e anodave të të gjitha LED -ve (08 x Kuqe & Gjelbër) >> LINES (1 deri në 8).

Për shembull, nëse doni të ndizni vetëm LED -in e Gjelbër të kolonës 1 dhe rreshtit 1, duhet të dërgoni sekuencën e mëposhtme të të dhënave serike:

1º) LINJA

00 10000000 (vetëm rreshti i parë është vendosur në) - Simboli ~ është të përmbysë të gjitha bitët nga 1 në 0 dhe anasjelltas.

2º) KOLONA E gjelbër

10000000 (vetëm kolona e parë e LED të Gjelbër është e ndezur)

3º) KUQ I KOLONS

00000000 (të gjitha kolonat e LED -ve të kuqe janë fikur)

Deklaratat Arduino:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Logjika negative për linjat

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Logjikë pozitive për kolonat e Gjelbra

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Logjikë pozitive për kolonat e Kuqe

Vërejtje:

Ju gjithashtu mund të kombinoni të dy LED -të (E Gjelbër dhe e Kuqe) për të prodhuar ngjyrën YELLOW si më poshtë:

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

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

7 segmente shfaqen

Për këto lloj shfaqjesh sekuenca është e njëjtë. Dallimi i vetëm është se nuk keni nevojë të përdorni LED të Gjelbër.

1º) DIGJIT (1 deri në 4 nga e majta në të djathtë) ~ 10000000 (vendosni shifrën #1)

00 01000000 (vendos shifrën #2)

1 00100000 (vendos shifrën #3)

00010000 ((përcakto shifrën #4)

2º) NUK P USRDORET

00000000 (të gjitha bitet janë vendosur në zero)

3º) SEGMENTET (A në F dhe DP - kontrolloni fletën e të dhënave të ekranit tuaj)

10000000 (segmenti A i vendosur)

01000000 (cakto segmentin B)

00100000 (cakto segmentin C)

00010000 (cakto segmentin D)

00001000 (cakto segmentin E)

00000100 (cakto segmentin F)

00000010 (cakto segmentin G)

00000001 (vendos PD)

Arduino shembull për të vendosur Ekranin #2 me numrin 3:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Vendosni DISPLAY 2 (Logjika negative)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Vendosni të dhënat në zero (nuk përdoren)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Vendosni segmentet A, B, C, D, G)

Së fundi, duke aplikuar këtë proces ju mund të kontrolloni çdo LED të ekranit tuaj dhe gjithashtu mund të krijoni ndonjë personazh të veçantë që ju nevojitet.

Hapi 5: Testimi

Duke testuar
Duke testuar
Duke testuar
Duke testuar
Duke testuar
Duke testuar

Këtu janë dy programe si shembull i funksionalitetit të Modulit të Ekranit.

1) Ekran i numërimit mbrapsht (nga 999.9 sekonda në zero)

2) Matrica me pika (Shifrat 0 deri në 9 dhe alfabeti A deri në Z)

3) Ora Dixhitale RTC në Ekran LED me 4 Shifra dhe 7 Segmente

Ky i fundit është një azhurnim i versionit tim të parë të Ora Dixhitale.

Hapi 6: Përfundimi & Hapat e ardhshëm

Përfundim & Hapat e ardhshëm
Përfundim & Hapat e ardhshëm
Përfundim & Hapat e ardhshëm
Përfundim & Hapat e ardhshëm

Ky Modul do të jetë i dobishëm në të gjitha projektet e ardhshme që kërkojnë një ekran LED.

Si hapat e ardhshëm unë do të mbledh më shumë borde për të punuar me ta në modalitetin kaskadë dhe do të krijoj një bibliotekë për të thjeshtuar edhe më shumë programimin.

Shpresoj se ju ka pëlqyer ky projekt.

Ju lutemi, më dërgoni komentet tuaja sepse kjo është e rëndësishme për të përmirësuar projektin dhe informacionin e këtij Udhëzuesi.

Të fala, LAGSILVA

26. Maj.2016

Recommended: