Sisällysluettelo:
- Vaihe 1: Komponentit
- Vaihe 2: Ensimmäiset prototyypit
- Vaihe 3: Piirilevyjen suunnittelu
- Vaihe 4: Ohjelmointi
- Vaihe 5: Testaus
- Vaihe 6: Johtopäätös ja seuraavat vaiheet
Video: Useita LED -näyttömoduuleja: 6 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
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
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:
- Laitan kaikkien tärkeimpien komponenttien tietolomakkeen vain viitteeksi, mutta sinun on tarkistettava omien komponenttien tietolomake ennen niiden käyttöä.
- Tämä kortti on suunniteltu käyttämään vain COMMON ANODE -näyttöjä.
Vaihe 2: 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
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
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
- Ensimmäinen koskee punaisten merkkivalojen (8 x) katodien lähtöjä >> COLUMN RED (1-8).
- Toinen koskee vihreiden merkkivalojen katodien lähtöä (8 x) >> COLUMN GREEN (1-8).
- 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
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
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:
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Automaattinen lataus (tyhjiö) -kytkin ACS712: n ja Arduinon kanssa: 7 vaihetta (kuvien kanssa)
Automaattinen kuorman (tyhjiö) kytkin ACS712: n ja Arduinon kanssa: Hei kaikki! Sähkötyökalun käyttäminen suljetussa tilassa on kiire, koska kaikki ilmassa oleva pöly ja ilmassa oleva pöly tarkoittaa pölyä keuhkoissasi. Vac -myymälän suorittaminen voi poistaa osan tästä riskistä, mutta kytkeä sen päälle ja pois päältä joka kerta
GPS-moduulin (NEO-6m) liittäminen Arduinon kanssa: 7 vaihetta (kuvien kanssa)
GPS-moduulin (NEO-6m) liittäminen Arduinon kanssa: Tässä projektissa olen osoittanut, kuinka liittää GPS-moduuli Arduino UNO: n kanssa. Pituus- ja leveysasteiden tiedot näkyvät nestekidenäytössä ja sijaintia voi tarkastella sovelluksessa. Luettelo materiaalista Arduino Uno == > 8 dollarin Ublox NEO-6m GPS -moduuli == > 15 dollaria 16x
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): 11 vaihetta (kuvien kanssa)
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): Jos yrität "Tee saumaton" -laajennusta GIMP: ssä, se tekee kuvasta saumattoman sekä vaaka- että pystysuunnassa samanaikaisesti. Se ei salli sinun tehdä siitä saumatonta vain yhdessä ulottuvuudessa. Tämä ohje auttaa sinua saamaan kuvan