Satura rādītājs:
- 1. darbība: sastāvdaļas
- 2. solis: pirmie prototipi
- 3. solis: PCB dizains
- 4. solis: programmēšana
- 5. darbība: pārbaude
- 6. darbība. Secinājums un nākamās darbības
Video: Vairāki LED displeja moduļi: 6 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Sveiki visiem, Man patīk strādāt ar LED displejiem ar 7 segmentiem vai ar punktu matricu, un es ar tiem jau veicu daudz dažādu projektu.
Katru reizi tie ir interesanti, jo to darbībā ir sava veida maģija, jo tas, ko jūs redzat, ir optiska ilūzija!
Displejiem ir daudz tapas savienošanai ar Arduino (vai citu mikrokontrolleru), un labākais risinājums ir izmantot datu multipleksēšanas tehniku, lai pēc iespējas samazinātu to portu izmantošanu.
To darot, katrs segments vai katra gaismas diode tiks ieslēgta uz dažām reizēm (milisekundēm vai mazāk), bet tā atkārtošana tik daudz reižu sekundē rada attēla ilūziju, kuru vēlaties parādīt.
Man interesantākais ir izstrādāt loģiku, programmu, lai noskaidrotu, kā viņi var parādīt pareizo informāciju atbilstoši jūsu projektam.
Vienā projektā displeju izmantošana prasa daudz laika, lai visas sastāvdaļas saliktu uz maizes dēļa ar daudziem vadiem savienojumiem.
Es zinu, ka tirgū ir daudz dažādu displeju, kas darbojas ar I2C, ar vienkāršotiem veidiem (vai ne), lai tos programmētu, un es arī tos esmu izmantojis, bet es labprātāk strādāju ar standarta komponentiem, piemēram, 74HC595 (multipleksora IC) un ULN2803 (draiveri), jo tie sniedz jums lielāku kontroli pār jūsu programmu, kā arī lielāku izturību un uzticamību jūsu lietošanā.
Lai vienkāršotu montāžas procesu, esmu izstrādājis LED Dipslay moduli vairākiem mērķiem, izmantojot vienkāršas un izplatītas sastāvdaļas Arduino pasaulē.
Ar šo moduli jūs varat strādāt ar punktu matricu ar divu krāsu gaismas diodēm divos standarta izmēros (lielākos un mazākos), kā arī kontrolēt 7 seg x 4 ciparu displeju, kas ir ļoti izplatīts un viegli atrodams tirgū.
Un jūs varat arī strādāt ar šiem moduļiem kaskādē sērijveidā (dažādi dati displejos) vai paralēli (tie paši dati displejos).
Tātad, redzēsim, kā šis modulis var darboties, un palīdzēs jums jūsu attīstībā!
Video (LED displeja modulis)
Video (punktu matricas tests)
Sveicieni, LAGSILVA
1. darbība: sastāvdaļas
PCB (iespiedshēmas plate)
- 74HC595 (03 x)
- ULN2803 (02 x)
- tranzistors PNP - BC327 (08 x)
- Rezistors 150 omi (16 x)
- Rezistors 470 omi (08 x)
- Kondensators 100 nF (03 x)
- IC ligzda 16 tapas (03 x)
- IC ligzda 18 tapas (02 x)
- tapas savienotāja mātīte - 6 tapas (8 x)
- Tapu galvenes 90º (01 x)
- Tapu galvenes 180º (01 x)
- Conector Borne KRE 02 tapas (02 x)
- PCB (01 x) - ražots
Citi
- Arduino Uno R3 / Nano / līdzīgs
- LED displejs 04 cipari x 7 segmenti - (parastais anods)
- LED punktu matricas divkrāsu (zaļa un sarkana) - (parastais anods)
Svarīgas piezīmes:
- Visu svarīgāko komponentu datu lapu ievietoju tikai kā atsauci, bet pirms to izmantošanas jums jāpārbauda savu komponentu datu lapa.
- Šī tāfele tika izstrādāta, lai izmantotu tikai COMMON ANODE displejus.
2. solis: pirmie prototipi
Mans pirmais prototips tika veikts uz maizes dēļa, lai pārbaudītu ķēdi.
Pēc tam es izveidoju citu prototipu, izmantojot universālu dēli, kā redzams attēlos.
Šāda veida plāksne ir interesanta, lai izveidotu ātru prototipu, taču jūs saprotat, ka joprojām ir daudz vadu.
Tas ir funkcionāls risinājums, bet ne tik elegants, salīdzinot ar galīgo PCB (zilo).
Man nav labi ar lodēšanu, jo man nav pietiekamas pieredzes ar šo procesu, bet pat tad es guvu labus rezultātus gan ar pieredzi, gan vēl svarīgāk: es nededzināju nevienu komponentu un ne rokas!
Iespējams, rezultāti manā nākamajā padomē būs labāki prakses dēļ.
Tāpēc es aicinu jūs izmēģināt šāda veida pieredzi, jo tā jums būs lieliska.
Vienkārši paturiet prātā rūpēties par karsto gludekli un mēģiniet netērēt vairāk nekā dažas sekundes detaļai, lai to nededzinātu !!
Un, visbeidzot, vietnē Youtube varat atrast daudz video par lodēšanu, ko varat uzzināt pirms došanās uz reālo pasauli.
3. solis: PCB dizains
Es izveidoju šo PCB, izmantojot īpašu programmatūru, lai izveidotu divslāņu plāksni, un pirms šīs pēdējās tā tika izstrādātas vairākas dažādas versijas.
Sākumā man bija viena versija katram displeja veidam, un galu galā es nolēmu visu apvienot tikai vienā versijā.
Dizaina mērķi:
- Vienkāršs un noderīgs prototipiem.
- Vienkārša uzstādīšana un paplašināma.
- Spēja izmantot 3 dažāda veida displejus.
- LED lielās punktu matricas maksimālais platums.
- Maksimālais garums 100 mm, lai samazinātu plākšņu ražošanas izmaksas.
- SMD vietā izmantojiet tradicionālos komponentus, lai izvairītos no lielākām grūtībām manuālās lodēšanas procesā.
- Plātnei jābūt modulārai, lai to savienotu ar citiem dēļiem kaskādē.
- Sērijveida vai paralēla izeja citiem dēļiem.
- Vairāki dēļi jāpārvalda tikai Arduino.
- Tikai 3 vadi datu Arduino savienojumam.
- Ārējais 5V barošanas savienojums.
- Palieliniet elektrisko izturību, izmantojot gaismas diodes, izmantojot tranzistorus un draiverus (ULN2803).
Piezīme:
Saistībā ar šo pēdējo vienumu es iesaku jums izlasīt manu citu pamācību par šīm sastāvdaļām:
Izmantojot maiņu reģistru 74HC595 ar ULN2803, UDN2981 un BC327
PCB ražošana:
Pēc dizaina pabeigšanas es to nosūtīju PCB ražotājam Ķīnā pēc daudziem meklējumiem ar dažādiem vietējiem piegādātājiem un dažādās valstīs.
Galvenais jautājums bija saistīts ar dēļu daudzumu pret izmaksām, jo man vajag tikai dažus no tiem.
Visbeidzot, es nolēmu veikt regulāru pasūtījumu (nevis tiešu pasūtījumu augstāku izmaksu dēļ) tikai 10 dēļiem ar uzņēmumu Ķīnā.
Tikai pēc 3 dienām dēļi tika izgatavoti un nosūtīti man, šķērsojot pasauli vēl 4 dienu laikā.
Rezultāti bija lieliski !!
Nedēļas laikā pēc pirkuma pasūtīšanas dēļi bija manās rokās, un es biju patiesi pārsteigts par to augsto kvalitāti un ātro ātrumu!
4. solis: programmēšana
Programmēšanai jums jāpatur prātā daži svarīgi jēdzieni par aparatūras dizainu un par maiņu reģistru 74HC595.
74HC595 galvenā funkcija ir pārveidot 8 bitu seriālo ieeju 8 paralēlas izejas maiņās.
Visi sērijas dati tiek ievadīti tapā Nr. 14, un pie katra pulksteņa signāla biti nonāk atbilstošajās paralēlās izejas tapās (no Qa līdz Qh).
Ja nepārtraukti sūtīsit vairāk datu, biti atkal tiks pārvietoti pa vienam uz tapu #9 (Qh ') kā sērijveida izeja, un šīs funkcionalitātes dēļ jūs varat ievietot citas mikroshēmas, kas savienotas kaskādē.
Svarīgs:
Šajā projektā mums ir trīs 74HC595 IC. Pirmie divi darbojas, lai kontrolētu kolonnas (ar POSITĪVU loģiku), un pēdējais kontrolē līnijas (ar NEGATĪVU loģiku, jo darbojas PNP tranzistori).
Pozitīva loģika nozīmē, ka jums ir jānosūta HIGH level signāls (+5V) no Arduino, un negatīvā loģika nozīmē, ka jums jānosūta ZEMA līmeņa signāls (0V).
LED punktu matrica
- Pirmais ir sarkano gaismas diodes katodu izejām (8 x) >> SLEJA SARKANA (1 līdz 8).
- Otrais ir paredzēts zaļo gaismas diožu katodu izvadamL (8 x) >> SLEJA ZAĻA (1 līdz 8).
- Pēdējais ir paredzēts visu LED (08 x sarkans un zaļš) anodu izvadīšanai >> LINES (1 līdz 8).
Piemēram, ja vēlaties ieslēgt tikai 1. slejas un 1. rindas zaļo gaismas diodi, jums jānosūta šāda sērijas datu secība:
1º) LĪNIJAS
~ 10000000 (ieslēgta tikai pirmā rinda) - simbols ~ apvērš visus bitus no 1 uz 0 un otrādi.
2º) SLEJA Zaļa
10000000 (ieslēgta tikai pirmā zaļā LED kolonna)
3º) SLEJA SARKANA
00000000 (visas sarkano gaismas diožu kolonnas ir izslēgtas)
Arduino paziņojumi:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Negatīva līniju loģika
shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Zaļo kolonnu pozitīvā loģika
shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Pozitīvā loģika sarkanajām kolonnām
Piezīme:
Varat arī apvienot abas gaismas diodes (zaļo un sarkano), lai iegūtu dzeltenīgu krāsu šādi:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
7 segmentu displejs
Šāda veida displejiem secība ir tāda pati. Vienīgā atšķirība ir tā, ka jums nav jāizmanto zaļās gaismas diodes.
1º) DIGIT (1 līdz 4 no kreisās uz labo) ~ 10000000 (iestatīts cipars #1)
~ 01000000 (iestatītais cipars #2)
~ 00100000 (kopas cipars #3)
~ 00010000 (kopas cipars #4)
2º) NELIETO
00000000 (visi biti ir iestatīti uz nulli)
3º) SEGMENTI (no A līdz F un DP - pārbaudiet displeja datu lapu)
10000000 (komplekts A segments)
01000000 (B segmenta komplekts)
00100000 (C segments)
00010000 (komplekta segments D)
00001000 (E segmenta komplekts)
00000100 (komplekta segments F)
00000010 (komplekta segments G)
00000001 (iestatiet DP)
Arduino piemērs, lai iestatītu 2. displeju ar numuru 3:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Iestatīt DISPLAY 2 (negatīvā loģika)
shiftOut (dataPin, clockPin, LSBFIRST, 0); // Iestatīt datus uz nulli (netiek izmantots)
shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Iestatiet segmentus A, B, C, D, G)
Visbeidzot, izmantojot šo procesu, jūs varat kontrolēt jebkuru displeja gaismas diodi, kā arī izveidot nepieciešamās īpašās rakstzīmes.
5. darbība: pārbaude
Šeit ir divas programmas kā displeja moduļa funkcionalitātes piemērs.
1) Atpakaļskaitīšanas displejs (no 999,9 sekundēm līdz nullei)
2) Punktu matrica (cipari no 0 līdz 9 un alfabēts no A līdz Z)
3) Digitālais pulkstenis RTC 4 ciparu un 7 segmentu LED displejā
Šis pēdējais ir manas pirmās digitālā pulksteņa versijas atjauninājums.
6. darbība. Secinājums un nākamās darbības
Šis modulis būs noderīgs visos turpmākajos projektos, kas prasa zināmu LED displeju.
Nākamajos soļos es salikšu vēl dažus dēļus, lai strādātu ar tiem kaskādes režīmā, un izveidošu arī bibliotēku, lai vēl vairāk vienkāršotu programmēšanu.
Es ceru, ka jums patika šis projekts.
Lūdzu, atsūtiet man savus komentārus, jo tas ir svarīgi, lai uzlabotu projektu un šīs pamācības informāciju.
Sveicieni, LAGSILVA
26. maijs.2016
Ieteicams:
Arduino displeja temperatūra TM1637 LED displejā: 7 soļi
Arduino displeja temperatūra TM1637 LED displejā: šajā apmācībā mēs iemācīsimies parādīt temperatūru, izmantojot LED displeju TM1637 un DHT11 sensoru un Visuino. Noskatieties video
Arduino displeja laiks TM1637 LED displejā, izmantojot RTC DS1307: 8 soļi
Arduino displeja laiks TM1637 LED displejā, izmantojot RTC DS1307: Šajā apmācībā mēs iemācīsimies parādīt laiku, izmantojot RTC DS1307 moduli un LED displeju TM1637 un Visuino. Noskatieties video
Arduino un TM1638 LED displeja moduļi: 11 soļi
Arduino un TM1638 LED displeja moduļi: ja jums ir nepieciešams ātrs un vienkāršs veids, kā projektam pievienot lietotāja ievadi un izvadi, šie displeja moduļi ir interesanti un jautri. Tajos ir astoņi 7 segmentu sarkani LED cipari, astoņi sarkani/zaļi gaismas diodes un arī astoņas pogas lietotāja ievadīšanai. Vienības var arī
Vairāki 7 segmentu displeja skaitītāji ar CloudX mikrokontrolleru: 4 soļi
Vairāki 7 segmentu displeja skaitītāji ar CloudX mikrokontrolleru: Šis projekts izskaidro, kā attēlot datus divos 7 segmentos, izmantojot CloudX mikrokontrolleru
Displeja temperatūra P10 LED displeja modulī, izmantojot Arduino: 3 soļi (ar attēliem)
Displeja temperatūra P10 LED displeja modulī, izmantojot Arduino: Iepriekšējā apmācībā ir teikts, kā parādīt tekstu Dot Matrix LED displeja P10 modulī, izmantojot Arduino un DMD savienotāju, ko varat pārbaudīt šeit. Šajā apmācībā mēs sniegsim vienkāršu projekta apmācību, izmantojot displeja līdzekli P10 moduli