Sisällysluettelo:

Useita LED -näyttömoduuleja: 6 vaihetta (kuvien kanssa)
Useita LED -näyttömoduuleja: 6 vaihetta (kuvien kanssa)

Video: Useita LED -näyttömoduuleja: 6 vaihetta (kuvien kanssa)

Video: Useita LED -näyttömoduuleja: 6 vaihetta (kuvien kanssa)
Video: Джентльмены удачи (FullHD, комедия, реж. Александр Серый, 1971 г.) 2024, Marraskuu
Anonim
Image
Image
Useita LED -näyttömoduuleja
Useita LED -näyttömoduuleja
Useita LED -näyttömoduuleja
Useita LED -näyttömoduuleja

Hei kaikki, Tykkään työskennellä LED -näyttöjen kanssa, joissa on 7 segmenttiä tai pistematriisin kanssa, ja olen jo tehnyt monia erilaisia projekteja heidän kanssaan.

Aina kun ne ovat mielenkiintoisia, koska niiden toiminnassa on jonkinlainen taikuus, koska se, mitä näet, on optinen harha!

Näyttöissä on paljon nastoja Arduinon (tai muun mikro -ohjaimen) liittämistä varten, ja paras ratkaisu on soveltaa datan multipleksoinnin tekniikkaa porttien käytön minimoimiseksi.

Kun teet tämän, jokainen segmentti tai jokainen LED -valo syttyy muutaman hetken (millisekuntia tai vähemmän), mutta sen toistaminen niin monta kertaa sekunnissa luo illuusion kuvasta, jonka haluat näyttää.

Minusta mielenkiintoisin asia on kehittää logiikka, ohjelma, jotta voidaan selvittää, kuinka he voivat näyttää oikeat tiedot projektisi mukaan.

Yhdessä projektissa, jossa käytetään näyttöjä, tarvitaan paljon aikaa kaikkien osien kokoamiseen leipälevylle, jossa on monia johtoja liitäntöjä varten.

Tiedän, että markkinoilla on monia erilaisia näyttöjä, joissa on I2C, yksinkertaistetuilla tavoilla (tai ei) niiden ohjelmoimiseen, ja olen käyttänyt niitä myös, mutta mieluummin työskentelen vakio -osien, kuten 74HC595 (multiplexer IC) ja ULN2803 (ajurit) kanssa, koska ne antavat sinulle enemmän hallintaa ohjelmassasi ja myös kestävyyttä ja luotettavuutta käytössäsi.

Asennusprosessin yksinkertaistamiseksi olen kehittänyt LED -Dipslay -moduulin useisiin tarkoituksiin käyttämällä yksinkertaisia ja yleisiä komponentteja Arduinon maailmassa.

Tämän moduulin avulla voit työskennellä pikselimatriisin kanssa, jossa on kaksiväriset LED -valot kahdessa vakiokoossa (isompi ja pienempi), ja voit myös ohjata 7 Seg x 4 -numeroista näyttöä, jotka ovat hyvin yleisiä ja helposti löydettävissä markkinoilla.

Ja voit myös työskennellä näiden moduulien kanssa sarjassa (eri tiedot näytöiksi) tai rinnakkain (samat tiedot näyttöihin).

Joten katsotaanpa, kuinka tämä moduuli voi toimia ja auttaa sinua kehityksessäsi!

Video (LED -näyttömoduuli)

Video (pistematriisitesti)

Terveiset, LAGSILVA

Vaihe 1: Komponentit

Komponentit
Komponentit
Komponentit
Komponentit
Komponentit
Komponentit
Komponentit
Komponentit

Piirilevy (painettu piirilevy)

- 74HC595 (03 x)

- ULN2803 (02 x)

- Transistori PNP - BC327 (08 x)

- Vastus 150 ohmia (16 x)

- Vastus 470 ohmia (08 x)

- Kondensaattori 100 nF (03 x)

- IC -kanta 16 nastaa (03 x)

- IC -kanta 18 nastaa (02 x)

- Nastaliitin naaras - 6 nastaa (8 x)

- Pin -otsikot 90º (01 x)

- Pin -otsikot 180º (01 x)

- Conector Borne KRE 02 nastaa (02 x)

- PCB (01 x) - valmistettu

Muut

- Arduino Uno R3 / Nano / vastaava

- LED -näyttö 04 numeroa x 7 segmenttiä - (yhteinen anodi)

- LED -pistematriisin kaksivärinen (vihreä ja punainen) - (yhteinen anodi)

Tärkeitä huomautuksia:

  1. Laitan kaikkien tärkeimpien komponenttien tietolomakkeen vain viitteeksi, mutta sinun on tarkistettava omien komponenttien tietolomake ennen niiden käyttöä.
  2. Tämä kortti on suunniteltu käyttämään vain COMMON ANODE -näyttöjä.

Vaihe 2: Ensimmäiset prototyypit

Ensimmäiset prototyypit
Ensimmäiset prototyypit
Ensimmäiset prototyypit
Ensimmäiset prototyypit
Ensimmäiset prototyypit
Ensimmäiset prototyypit
Ensimmäiset prototyypit
Ensimmäiset prototyypit

Ensimmäinen prototyyppini tehtiin leipälaudalla piirin testaamiseksi.

Sen jälkeen tein toisen prototyypin käyttämällä yleislevyä, kuten kuvista näkyy.

Tällainen levy on mielenkiintoista tuottaa nopea prototyyppi, mutta ymmärrät, että siinä on edelleen paljon johtoja.

Se on toimiva ratkaisu, mutta ei niin tyylikäs verrattuna lopulliseen valmistettuun piirilevyyn (sininen).

En ole hyvä juottamisessa, koska minulla ei ole tarpeeksi kokemusta tästä prosessista, mutta tästä huolimatta sain hyviä tuloksia sekä kokemuksilla että mikä tärkeintä: en polttanut mitään komponenttia enkä käsiäni!

Todennäköisesti seuraavan hallitukseni tulokset ovat parempia harjoittelun vuoksi.

Tästä syystä kehotan teitä kokeilemaan tällaista kokemusta, koska se on sinulle erinomainen.

Muista vain huolehtia kuumasta silitysraudasta ja yritä käyttää vain muutama sekunti komponenttiin, jotta se ei polttaisi !!

Ja lopuksi Youtubesta löydät monia juottamiseen liittyviä videoita, jotka voit oppia ennen kuin siirryt todelliseen maailmaan.

Vaihe 3: Piirilevyjen suunnittelu

PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu

Suunnittelin tämän piirilevyn käyttämällä erillistä ohjelmistoa kaksikerroksisen levyn tuottamiseksi, ja se kehitettiin useita eri versioita ennen tätä viimeistä.

Alussa minulla oli yksi versio kullekin näytölle ja päätin yhdistää kaiken vain yhteen versioon.

Suunnittelutavoitteet:

  • Yksinkertainen ja hyödyllinen prototyypeille.
  • Helppo asentaa ja laajentaa.
  • Voidaan käyttää 3 erilaista näyttöä.
  • Suurin LED -pistematriisin leveys.
  • Enimmäispituus 100 mm levyn tuotantokustannusten minimoimiseksi.
  • Käytä perinteisiä komponentteja SMD: n sijasta, jotta vältyt vaikeuksilta manuaalisen juottamisen aikana.
  • Levyn on oltava modulaarinen, jotta se voidaan liittää toisiin levyihin kaskadissa.
  • Sarja- tai rinnakkaislähtö muille levyille.
  • Useita tauluja saa ohjata vain Arduino.
  • Vain 3 johtoa dataa Arduinon yhteydelle.
  • Ulkoinen 5V virtaliitäntä.
  • Lisää sähköistä lujuutta käyttämällä transistoreita ja ohjaimia (ULN2803) LEDien ohjaamiseen.

Huomautus:

Tähän viimeiseen kohtaan liittyen suosittelen, että luet toisen ohjeeni näistä komponenteista:

Vaihtorekisterin 74HC595 käyttö ULN2803, UDN2981 ja BC327 kanssa

PCB -valmistus:

Suunnittelun valmistuttua lähetin sen Kiinan piirilevyvalmistajalle monien eri paikallisten toimittajien ja eri maiden kanssa tehtyjen hakujen jälkeen.

Pääongelma liittyi levyjen määrään verrattuna hintaan, koska tarvitsen vain muutaman niistä.

Lopulta päätin tehdä tavallisen tilauksen (ei nimenomaista tilausta korkeampien kustannusten vuoksi) vain 10 levyltä Kiinassa sijaitsevalle yritykselle.

Vain 3 päivän kuluttua levyt valmistettiin ja lähetettiin minulle maailman ympäri 4 päivän kuluessa.

Tulokset olivat erinomaisia !!

Viikon sisällä ostotilauksesta levyt olivat käsissäni ja olin todella vaikuttunut niiden korkeasta laadusta ja nopeasta nopeudesta!

Vaihe 4: Ohjelmointi

Ohjelmointi
Ohjelmointi
Ohjelmointi
Ohjelmointi

Ohjelmointia varten on pidettävä mielessä joitakin tärkeitä käsitteitä laitteiston suunnittelusta ja siirtorekisteristä 74HC595.

74HC595: n päätehtävä on muuntaa 8-bittinen sarjaportti 8 rinnakkaislähtösiirtoksi.

Kaikki sarjatiedot menevät nastaan 14 ja jokaisella kellosignaalilla bitit menevät vastaaviin rinnakkaislähtötappeihin (Qa-Qh).

Jos lähetät jatkuvasti lisää dataa, bitit siirretään yksi kerrallaan nastalle 9 (Qh ') sarjaliitännäksi uudelleen, ja tämän toiminnon ansiosta voit liittää toisen sirun kaskadiin.

Tärkeä:

Tässä projektissa meillä on kolme 74HC595: n IC: tä. Kaksi ensimmäistä ohjaavat sarakkeita (positiivisella logiikalla) ja viimeiset linjoja (NEGATIIVISEL logiikalla, koska PNP -transistorit toimivat).

Positiivinen logiikka tarkoittaa, että sinun on lähetettävä KORKEA tasosignaali (+5 V) Arduinolta, ja negatiivinen logiikka tarkoittaa, että sinun on lähetettävä matalan tason signaali (0 V).

LED -pisteiden matriisi

  1. Ensimmäinen koskee punaisten merkkivalojen (8 x) katodien lähtöjä >> COLUMN RED (1-8).
  2. Toinen koskee vihreiden merkkivalojen katodien lähtöä (8 x) >> COLUMN GREEN (1-8).
  3. Viimeinen on kaikkien LED -valojen (08 x punainen ja vihreä) >> LINES (1-8) anodien lähtö.

Jos esimerkiksi haluat ottaa käyttöön vain sarakkeen 1 ja rivin 1 vihreän LED -valon, sinun on lähetettävä seuraava sarjatietojen sarja:

1º) LINJAT

~ 10000000 (vain ensimmäinen rivi on päällä) - Symboli ~ kääntää kaikki bitit 1: stä 0: een ja päinvastoin.

2º) SARAKE Vihreä

10000000 (vain vihreän LEDin ensimmäinen sarake on päällä)

3º) PALAINEN

00000000 (kaikki punaisten merkkivalojen sarakkeet eivät pala)

Arduinon lausunnot:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Rivien negatiivinen logiikka

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Positiivinen logiikka vihreille sarakkeille

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Positiivinen logiikka punaisille sarakkeille

Huomautus:

Voit myös yhdistää molemmat LED -valot (vihreä ja punainen) saadaksesi KELTAISEN värin seuraavasti:

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

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

7 segmenttinäyttö

Näiden näyttöjen järjestys on sama. Ainoa ero on, että sinun ei tarvitse käyttää vihreitä LED -valoja.

1º) DIGIT (1-4 vasemmalta oikealle) ~ 10000000 (aseta numero #1)

~ 01000000 (asetettu numero #2)

~ 00100000 (asetusnumero #3)

~ 00010000 (asetettu numero #4)

2º) EI KÄYTÄ

00000000 (kaikki bitit nollattu)

3º) SEGMENTIT (A - F ja DP - tarkista näytön tietolomake)

10000000 (sarja A)

01000000 (sarja B)

00100000 (sarja C)

00010000 (segmentti D)

00001000 (sarja E)

00000100 (asetettu segmentti F)

00000010 (segmentti G)

00000001 (aseta DP)

Arduino -esimerkki näytön #2 asettamiseksi numeroksi 3:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Aseta NÄYTTÖ 2 (negatiivinen logiikka)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Aseta tiedot nollaksi (ei käytössä)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Aseta segmentit A, B, C, D, G)

Lopuksi tätä prosessia käyttämällä voit ohjata mitä tahansa näytön LED -valoa ja voit myös luoda tarvitsemiasi erikoismerkkejä.

Vaihe 5: Testaus

Testaus
Testaus
Testaus
Testaus
Testaus
Testaus

Tässä on kaksi ohjelmaa esimerkkinä näyttömoduulin toiminnasta.

1) Ajastuksen näyttö (999,9 sekunnista nollaan)

2) Pistematriisi (numerot 0-9 ja aakkoset A - Z)

3) Digitaalinen kello RTC LED -näytössä 4 numeroa ja 7 segmenttiä

Tämä viimeisin on päivitys ensimmäisestä Digital Clock -versiostani.

Vaihe 6: Johtopäätös ja seuraavat vaiheet

Johtopäätös ja seuraavat vaiheet
Johtopäätös ja seuraavat vaiheet
Johtopäätös ja seuraavat vaiheet
Johtopäätös ja seuraavat vaiheet

Tämä moduuli on hyödyllinen kaikissa tulevissa projekteissa, jotka vaativat jonkin verran LED -näyttöä.

Seuraavina vaiheina aion koota lisää levyjä toimimaan niiden kanssa kaskaditilassa ja kehitän myös kirjaston, joka yksinkertaistaa ohjelmointia entisestään.

Toivottavasti pidit tästä projektista.

Ole hyvä ja lähetä minulle kommenttisi, koska tämä on tärkeää projektin ja tämän ohjeen tietojen parantamiseksi.

Terveiset, LAGSILVA

26. toukokuuta 2016

Suositeltava: