Keli LED ekrano moduliai: 6 žingsniai (su paveikslėliais)
Keli LED ekrano moduliai: 6 žingsniai (su paveikslėliais)
Anonim
Image
Image
Keli LED ekrano moduliai
Keli LED ekrano moduliai
Keli LED ekrano moduliai
Keli LED ekrano moduliai

Sveiki visi, Man patinka dirbti su LED ekranais su 7 segmentais arba su taškiniu matricu, ir aš su jais jau padariau daug įvairių projektų.

Kiekvieną kartą jie yra įdomūs, nes yra tam tikra magija, kaip jie gali veikti, nes tai, ką matote, yra optinė apgaulė!

Ekranuose yra daug kaiščių, skirtų prijungti prie „Arduino“(ar kito mikrovaldiklio), o geriausias sprendimas yra taikyti duomenų multipleksavimo techniką, kad būtų kuo mažiau naudojamas jų prievadas.

Kai tai padarysite, kiekvienas segmentas arba kiekvienas šviesos diodas bus įjungtas keletą akimirkų (milisekundžių ar mažiau), tačiau tai kartojant tiek kartų per sekundę sukuriamas norimo parodyti vaizdo iliuzija.

Man įdomiausia yra sukurti logiką, programą, siekiant išsiaiškinti, kaip jie gali parodyti teisingą informaciją pagal jūsų projektą.

Viename projekte naudojant ekranus reikia daug laiko surinkti visus komponentus ant duonos lentos su daugybe laidų jungtims.

Žinau, kad rinkoje yra daug įvairių ekranų, kuriuose veikia I2C, supaprastintais būdais (ar ne) juos programuoti, ir aš juos taip pat naudojau, bet man labiau patinka dirbti su standartiniais komponentais, tokiais kaip 74HC595 (multiplekserio IC) ir ULN2803 (tvarkyklės), nes jie suteikia jums daugiau kontrolės jūsų programoje, taip pat daugiau patikimumo ir patikimumo naudojant.

Norėdami supaprastinti surinkimo procesą, sukūriau LED Dipslay modulį įvairiems tikslams, naudojant paprastus ir įprastus „Arduino“pasaulio komponentus.

Naudodami šį modulį galite dirbti su dviejų standartinių dydžių (didesnių ir mažesnių) taškinių matricų su dviejų spalvų šviesos diodais, taip pat galite valdyti 7 Seg x 4 skaitmenų ekraną, kuris yra labai įprastas ir lengvai randamas rinkoje.

Taip pat galite dirbti su šiais moduliais kaskadiniu būdu (skirtingi duomenys į ekranus) arba lygiagrečiai (tie patys duomenys į ekranus).

Taigi pažiūrėkime, kaip šis modulis gali veikti ir padėti jums tobulėti!

Vaizdo įrašas (LED ekrano modulis)

Vaizdo įrašas (taškų matricos testas)

Pagarbiai, LAGSILVA

1 žingsnis: komponentai

Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai

PCB (spausdintinė plokštė)

- 74HC595 (03 x)

- ULN2803 (02 x)

- tranzistorius PNP - BC327 (08 x)

- Rezistorius 150 omų (16 x)

- Rezistorius 470 omų (08 x)

- Kondensatorius 100 nF (03 x)

- IC lizdas 16 kaiščių (03 x)

- IC lizdas 18 kaiščių (02 x)

- smeigtuko jungties patelė - 6 kaiščiai (8 x)

- Smeigtukų antraštės 90º (01 x)

- kaiščių antgaliai 180º (01 x)

- „Conector Borne KRE 02“kaiščiai (02 x)

- PCB (01 x) - Pagaminta

Kiti

- Arduino Uno R3 / Nano / panašus

- LED ekranas 04 skaitmenų x 7 segmentai - (bendras anodas)

- Dviejų spalvų LED taškų matrica (žalia ir raudona) - (bendras anodas)

Svarbios pastabos:

  1. Visų svarbiausių komponentų duomenų lapą pateikiu tik kaip nuorodą, tačiau prieš naudodami turite patikrinti savo komponentų duomenų lapą.
  2. Ši plokštė buvo sukurta naudoti tik COMMON ANODE ekranus.

2 žingsnis: pirmieji prototipai

Pirmieji prototipai
Pirmieji prototipai
Pirmieji prototipai
Pirmieji prototipai
Pirmieji prototipai
Pirmieji prototipai
Pirmieji prototipai
Pirmieji prototipai

Mano pirmasis prototipas buvo padarytas ant duonos lentos, kad būtų galima išbandyti grandinę.

Po to aš padariau kitą prototipą, naudodamas universalią plokštę, kaip matote nuotraukose.

Tokia plokštė yra įdomi, kad būtų sukurtas greitas prototipas, tačiau jūs suprantate, kad vis dar yra daug laidų.

Tai funkcionalus sprendimas, bet ne toks elegantiškas, palyginti su galutinai pagaminta PCB (mėlyna).

Man nesiseka litavimas, nes neturiu pakankamai patirties atliekant šį procesą, tačiau net ir tai pasiekiau gerų rezultatų tiek su patirtimi, tiek su dar svarbesniu dalyku: nesudeginau nei vieno komponento, nei rankų!

Tikriausiai rezultatai mano kitoje lentoje bus geresni dėl praktikos.

Todėl raginu išbandyti tokią patirtį, nes ji jums bus puiki.

Tiesiog nepamirškite pasirūpinti karštu lygintuvu ir stenkitės nepraleisti daugiau nei kelias sekundes prie komponento, kad nesudegtumėte !!

Ir galiausiai „Youtube“galite rasti daug vaizdo įrašų apie litavimą, kuriuos galite išmokti prieš eidami į realų pasaulį.

3 žingsnis: PCB projektavimas

PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas

Aš sukūriau šią PCB naudodamas specialią programinę įrangą, skirtą dviejų sluoksnių plokštei gaminti, ir ji buvo sukurta prieš kelias paskutines.

Pradžioje turėjau vieną versiją kiekvienam ekranui ir galiausiai nusprendžiau viską sujungti tik į vieną versiją.

Dizaino tikslai:

  • Paprasta ir naudinga prototipams.
  • Lengvas nustatymas ir išplėtimas.
  • Galima naudoti 3 skirtingų tipų ekranus.
  • Didžiausias LED šviesos diodų matricos plotis.
  • Maksimalus 100 mm ilgis, kad būtų sumažintos plokštės gamybos sąnaudos.
  • Naudokite tradicinius komponentus, o ne SMD, kad išvengtumėte daugiau sunkumų rankinio litavimo metu.
  • Plokštė turi būti modulinė, kad būtų sujungta su kitomis plokštėmis kaskadoje.
  • Serijinis arba lygiagretus išėjimas kitoms plokštėms.
  • Kelias plokštes turi valdyti tik „Arduino“.
  • Tik 3 laidai duomenų „Arduino“prijungimui.
  • Išorinė 5 V maitinimo jungtis.
  • Padidinkite elektrinį tvirtumą taikydami tranzistorius ir tvarkykles (ULN2803), kad valdytumėte šviesos diodus.

Pastaba:

Dėl šio paskutinio elemento rekomenduoju perskaityti kitą instrukciją apie šiuos komponentus:

„Shift Register 74HC595“naudojimas su ULN2803, UDN2981 ir BC327

PCB gamyba:

Baigęs dizainą, po daugelio paieškų su įvairiais vietiniais tiekėjais ir skirtingose šalyse nusiunčiau jį Kinijos PCB gamintojui.

Pagrindinė problema buvo susijusi su lentų kiekiu ir kaina, nes man reikia tik kelių iš jų.

Galiausiai nusprendžiau pateikti įprastą užsakymą (ne skubų užsakymą dėl didesnių išlaidų) tik 10 lentų su Kinijos įmone.

Tik po 3 dienų plokštės buvo pagamintos ir išsiųstos man per pasaulį per daugiau nei 4 dienas.

Rezultatai buvo puikūs !!

Per savaitę po pirkimo užsakymo lentos buvo mano rankose, ir aš buvau tikrai sužavėtas jų aukšta kokybe ir greitu greičiu!

4 žingsnis: programavimas

Programavimas
Programavimas
Programavimas
Programavimas

Programuodami turite nepamiršti kai kurių svarbių sąvokų apie aparatūros dizainą ir apie pamainų registrą 74HC595.

Pagrindinė 74HC595 funkcija yra paversti 8 bitų nuoseklųjį įvestį į 8 lygiagrečių išėjimų.

Visi serijiniai duomenys patenka į kaištį Nr. 14 ir kiekvieno laikrodžio signalo metu bitai pereina prie atitinkamų lygiagrečių kaiščių (nuo Qa iki Qh).

Jei nuolat siunčiate daugiau duomenų, bitai po vieną bus vėl perkelti į kaištį Nr. 9 (Qh ') kaip serijinė išvestis ir dėl šios funkcijos galite į kaskadą prijungti dar vieną mikroschemą.

Svarbu:

Šiame projekte turime tris 74HC595 IC. Pirmieji du valdo stulpelius (su POSITIVE logika), o paskutiniai - su linijomis (su NEGATYVU logika dėl PNP tranzistorių veikimo).

Teigiama logika reiškia, kad turite siųsti AUKŠTO lygio signalą (+5 V) iš „Arduino“, o neigiama logika reiškia, kad turite siųsti žemo lygio signalą (0 V).

Šviesos diodų taškų matrica

  1. Pirmasis skirtas raudonų šviesos diodų katodų išėjimams (8 x) >> STULPELIO RAUDONA (nuo 1 iki 8).
  2. Antrasis skirtas žaliųjų šviesos diodų katodų išėjimui (8 x) >> ŽALTA SKILTIS (1–8).
  3. Paskutinis yra skirtas visų šviesos diodų anodams išvesti (08 x raudona ir žalia) >> LINES (1–8).

Pavyzdžiui, jei norite įjungti tik 1 stulpelio ir 1 eilutės žalią šviesos diodą, turite atsiųsti šią serijinių duomenų seką:

1º) LINIJOS

~ 10000000 (įjungta tik pirmoji eilutė) - Simbolis ~ yra visų bitų apvertimas nuo 1 iki 0 ir atvirkščiai.

2º) SKILTIS Žalia

10000000 (įjungtas tik pirmasis žalios šviesos diodo stulpelis)

3º) STulpelis raudonas

00000000 (visi raudonų šviesos diodų stulpeliai yra išjungti)

„Arduino“teiginiai:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Neigiama linijų logika

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Teigiama žaliųjų stulpelių logika

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Teigiama raudonų stulpelių logika

Pastaba:

Taip pat galite sujungti abu šviesos diodus (žalią ir raudoną), kad gautumėte GELTONĄ spalvą taip:

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

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

7 segmentų ekranas

Šių tipų ekranams seka yra ta pati. Vienintelis skirtumas yra tas, kad jums nereikia naudoti žalių šviesos diodų.

1º) Skaitmeninis (nuo 1 iki 4 iš kairės į dešinę) ~ 10000000 (nustatytas 1 numeris)

~ 01000000 (2 numeris)

~ 00100000 (3 numeris)

~ 00010000 (aibės numeris #4)

2º) NENAUDOTA

00000000 (visi bitai nustatyti į nulį)

3º) SEGMENTAI (nuo A iki F ir DP - patikrinkite ekrano duomenų lapą)

10000000 (A segmento rinkinys)

01000000 (B segmento rinkinys)

00100000 (C segmento rinkinys)

00010000 (D segmento rinkinys)

00001000 (rinkinys E segmentas)

00000100 (rinkinio segmentas F)

00000010 (rinkinio segmentas G)

00000001 (nustatyti DP)

„Arduino“pavyzdys, kaip nustatyti 2 ekraną su skaičiumi 3:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Nustatyti 2 ekraną (neigiama logika)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Nustatyti duomenis į nulį (nenaudojama)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Nustatykite segmentus A, B, C, D, G)

Galiausiai, taikydami šį procesą, galite valdyti bet kurį ekrano šviesos diodą, taip pat galite sukurti bet kokius specialius simbolius, kurių jums reikia.

5 žingsnis: bandymas

Testavimas
Testavimas
Testavimas
Testavimas
Testavimas
Testavimas

Pateikiame dvi programas, kaip vaizdo modulio funkcionalumo pavyzdį.

1) Atgalinės atskaitos laikas (nuo 999,9 sekundės iki nulio)

2) Taškų matrica (skaitmenys nuo 0 iki 9 ir abėcėlė nuo A iki Z)

3) Skaitmeninis laikrodis RTC 4 skaitmenų ir 7 segmentų LED ekrane

Šis paskutinis yra mano pirmosios skaitmeninio laikrodžio versijos atnaujinimas.

6 žingsnis: Išvados ir kiti veiksmai

Išvada ir tolesni veiksmai
Išvada ir tolesni veiksmai
Išvada ir tolesni veiksmai
Išvada ir tolesni veiksmai

Šis modulis bus naudingas visuose būsimuose projektuose, kuriems reikalingas tam tikras LED ekranas.

Kitu žingsniu aš surinksiu daugiau plokščių, kad galėčiau dirbti su jomis kaskadiniu režimu, ir sukursiu biblioteką, kuri dar labiau supaprastins programavimą.

Tikiuosi, kad jums patiko šis projektas.

Prašome atsiųsti man savo pastabas, nes tai svarbu tobulinant projektą ir šios instrukcijos informaciją.

Pagarbiai, LAGSILVA

26. Gegužės 2016 m