Indholdsfortegnelse:
- Trin 1: Komponenter
- Trin 2: Første prototyper
- Trin 3: PCB -design
- Trin 4: Programmering
- Trin 5: Test
- Trin 6: Konklusion og næste trin
Video: Flere LED -displaymoduler: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Hej alle, Jeg kan godt lide at arbejde med LED -skærme med 7 segmenter eller med dotmatrix, og jeg har allerede lavet mange forskellige projekter med dem.
Hver gang er de interessante, fordi der er en slags magi i, hvordan de kan fungere, fordi det du ser, er en optisk illusion!
Skærme har mange stifter til forbindelse med en Arduino (eller en anden mikrokontroller), og den bedste løsning er at anvende teknikken til datamultiplexering for at minimere brugen af deres porte.
Når du gør dette, vil hvert segment eller hver LED blive tændt i et par øjeblikke (milisekunder eller mindre), men gentagelsen af det i så mange gange i sekundet skaber en illusion af det billede, du vil vise.
For mig er det mest interessante at udvikle logikken, programmet for at finde ud af, hvordan de kan vise de korrekte oplysninger i henhold til dit projekt.
I et enkelt projekt kræver brug af displays mange tid at samle alle komponenter på et brødbræt med mange ledninger til forbindelser.
Jeg ved, at der er mange forskellige skærme på markedet, der kører med I2C, med forenklede måder (eller ej), for at programmere dem, og jeg har også brugt dem, men jeg foretrækker at arbejde med standardkomponenter som 74HC595 (multiplexer IC) og ULN2803 (drivere) fordi de giver dig mere kontrol i dit program og også mere robusthed og pålidelighed i din udnyttelse.
For at forenkle monteringsprocessen har jeg udviklet et LED Dipslay -modul til flere formål ved hjælp af enkle og almindelige komponenter i Arduinos verden.
Med dette modul kan du arbejde med dot matrix med tofarvede lysdioder i to standardstørrelser (større og mindre), og du kan også styre 7 Seg x 4 cifre display, der er meget almindelige og lette at finde dem på markedet.
Og du kan også arbejde med disse moduler i kaskade på en seriel måde (forskellige data til displays) eller på en parallel måde (samme data til displays).
Så lad os se, hvordan dette modul kan fungere og hjælpe dig i din udvikling!
Video (LED -displaymodul)
Video (Dot Matrix Test)
Hilsen, LAGSILVA
Trin 1: Komponenter
PCB (printkort)
- 74HC595 (03 x)
- ULN2803 (02 x)
- Transistor PNP - BC327 (08 x)
- Modstand 150 ohm (16 x)
- Modstand 470 Ohm (08 x)
- Kondensator 100 nF (03 x)
- IC -fatning 16 ben (03 x)
- IC -fatning 18 ben (02 x)
- Pin -stik hun - 6 ben (8 x)
- Pin -overskrifter 90º (01 x)
- Pin -overskrifter 180º (01 x)
- Conector Borne KRE 02 pins (02 x)
- PCB (01 x) - Fremstillet
Andre
- Arduino Uno R3 / Nano / lignende
- LED Display 04 Digit x 7 Segments - (Common Anode)
- LED Dot Matrix Dual Color (grøn og rød) - (Almindelig anode)
Vigtige bemærkninger:
- Jeg satte kun databladet over alle de vigtigste komponenter som reference, men du skal kontrollere databladet for dine egne komponenter, før du bruger dem.
- Dette kort er designet til kun at bruge displays af FÆLLES ANODE.
Trin 2: Første prototyper
Min første prototype blev udført på et brødbræt for at teste kredsløbet.
Derefter lavede jeg en anden prototype ved hjælp af et universalbræt, som du kan se på billederne.
Denne slags bræt er interessant at producere en hurtig prototype, men du indser, at der stadig holder mange ledninger.
Det er en funktionel løsning, men ikke så elegant at sammenligne med et endeligt fremstillet printkort (det blå).
Jeg er ikke god til lodning, fordi jeg ikke har nok erfaring med denne proces, men selv dette fik jeg gode resultater med både erfaringer og vigtigere: Jeg brændte ikke nogen komponent og heller ikke mine hænder!
Sandsynligvis vil resultaterne på mit næste bord blive bedre på grund af øvelsen.
På grund af dette opfordrer jeg dig til at prøve denne slags oplevelser, fordi det vil være fremragende for dig.
Bare husk at passe på med det varme jern og prøv ikke at bruge mere end få sekunder på en komponent for at undgå at brænde det !!
Og endelig kan du på Youtube finde mange videoer om lodning, som du kan lære, før du går til den virkelige verden.
Trin 3: PCB -design
Jeg designede dette printkort ved hjælp af en dedikeret software til at producere et dobbeltlags bord, og det blev udviklet flere forskellige versioner før denne sidste.
I begyndelsen havde jeg en version til hver slags displays, og jeg besluttede trods alt at kombinere alt i bare en version.
Designmål:
- Enkel og nyttig til prototyper.
- Let opsætning og udvidelig.
- Kan bruges til 3 forskellige slags skærme.
- Maksimal bredde på LED -matrixen med stor prik.
- Maksimal længde på 100 mm for at minimere omkostningerne ved produktion af tavlen.
- Anvend traditionelle komponenter i stedet for SMD for at undgå flere vanskeligheder under manuel lodning.
- Brættet skal være modulopbygget for at blive forbundet med et andet bræt i kaskade.
- Seriel eller parallel udgang til andre tavler.
- Flere tavler må kun kontrolleres af en Arduino.
- Kun 3 ledninger med data til Arduinos forbindelse.
- Ekstern 5V strømforbindelse.
- Forøg den elektriske robusthed ved anvendelse af transistorer og drivere (ULN2803) for at styre LED'erne.
Bemærkning:
I forbindelse med dette sidste element anbefaler jeg, at du læser min anden instruks om disse komponenter:
Brug af skiftregister 74HC595 med ULN2803, UDN2981 og BC327
PCB fremstilling:
Efter at have afsluttet designet, sendte jeg det til en PCB -producent i Kina efter mange søgninger med forskellige lokale leverandører og i forskellige lande.
Hovedproblemet var relateret til mængden af tavler kontra omkostninger, fordi jeg kun har brug for et par af dem.
Endelig besluttede jeg at lægge en almindelig ordre (ikke en ekspressordre på grund af højere omkostninger) på kun 10 bestyrelser hos et selskab i Kina.
Efter kun 3 dage blev brædderne fremstillet og sendt til mig på kryds og tværs af verden på mere end 4 dage.
Resultaterne var fremragende !!
På en uge efter købsordren var tavlerne i mine hænder, og jeg var virkelig imponeret over den høje kvalitet af dem og med den hurtige hastighed!
Trin 4: Programmering
For programmering skal du huske på nogle vigtige begreber om hardwaredesign og om skiftregistret 74HC595.
Hovedfunktionen for 74HC595 er at transformere 8-bit Serial-In til 8 Parallel-Out Shift.
Alle serielle data går ind i Pin #14, og ved hvert ur-signal går bitene til de tilsvarende parallel-out pins (Qa til Qh).
Hvis du fortsætter med at sende flere data, flyttes bitene en efter en til Pin #9 (Qh ') som seriel output igen, og på grund af denne funktionalitet kan du sætte en anden chips forbundet i kaskade.
Vigtig:
I dette projekt har vi tre IC'er på 74HC595. De to første arbejder med at styre kolonnerne (med POSITIV logik) og den sidste til at styre linjerne (med NEGATIV logik, fordi PNP -transistorer fungerer).
Positiv logik betyder, at du skal sende et HIGH -niveau -signal (+5V) fra Arduino, og negativ logik betyder, at du skal sende et LOW -niveau -signal (0V).
Punktmatrix af lysdioder
- Den første er for output fra katoderne af røde lysdioder (8 x) >> COLUMN RED (1 til 8).
- Den anden er for outputL af katoderne af grønne lysdioder (8 x) >> COLUMN GREEN (1 til 8).
- Den sidste er til output af anoder for alle lysdioder (08 x rød og grøn) >> LINJER (1 til 8).
Hvis du f.eks. Kun vil tænde den grønne LED i kolonne 1 og linje 1, skal du sende følgende sekvens af serielle data:
1º) LINJER
~ 10000000 (kun den første linje er sat til) - Symbolet ~ er at invertere alle bits fra 1 til 0 og omvendt.
2º) KOLONNE Grøn
10000000 (kun den første kolonne med grøn LED er slået til)
3º) SØLLE RØD
00000000 (alle kolonner med røde lysdioder er slukket)
Arduino -udsagn:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Negativ logik for linjerne
shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Positiv logik for de grønne kolonner
shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Positiv logik for de røde kolonner
Bemærkning:
Du kan også kombinere begge lysdioder (grøn og rød) for at producere farven GUL som følger:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
7 segmenter vises
For denne slags displays er sekvensen den samme. Den eneste forskel er, at du ikke behøver at bruge de grønne lysdioder.
1º) DIGIT (1 til 4 fra venstre mod højre) ~ 10000000 (indstil ciffer #1)
~ 01000000 (sæt ciffer #2)
~ 00100000 (sæt ciffer #3)
~ 00010000 (sæt ciffer #4)
2º) IKKE BRUGT
00000000 (alle bits er sat til nul)
3º) SEGMENTER (A til F og DP - tjek dit displaydatablad)
10000000 (sæt segment A)
01000000 (sæt segment B)
00100000 (sæt segment C)
00010000 (sæt segment D)
00001000 (sæt segment E)
00000100 (sæt segment F)
00000010 (sæt segment G)
00000001 (sæt DP)
Arduino -eksempel for at indstille Display #2 med nummer 3:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Indstil DISPLAY 2 (negativ logik)
shiftOut (dataPin, clockPin, LSBFIRST, 0); // Sæt data til nul (bruges ikke)
shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Indstil segmenter A, B, C, D, G)
Endelig kan du ved hjælp af denne proces styre enhver LED på din skærm, og du kan også oprette de specialtegn, du har brug for.
Trin 5: Test
Her er to programmer som et eksempel på funktionaliteten af displaymodulet.
1) Nedtællingsvisning (fra 999,9 sekunder til nul)
2) Punktmatrix (cifre 0 til 9 & alfabet A til Z)
3) Digital Ur RTC i LED Display med 4 cifre og 7 segmenter
Denne sidste er en opdatering af min første version af Digital Clock.
Trin 6: Konklusion og næste trin
Dette modul vil være nyttigt i alle fremtidige projekter, der kræver noget LED -display.
Som de næste trin vil jeg samle flere tavler til at arbejde med dem i kaskadetilstand, og jeg vil også udvikle et bibliotek til at forenkle programmeringen endnu mere.
Jeg håber du har nydt dette projekt.
Send mig venligst dine kommentarer, fordi det er vigtigt for at forbedre projektet og oplysningerne i denne instruks.
Hilsen, LAGSILVA
26. maj 2016
Anbefalede:
Fjern baggrund for flere billeder ved hjælp af Photoshop 2020: 5 trin
Fjern baggrund for flere billeder ved hjælp af Photoshop 2020: Fjernelse af baggrunden for et billede er super let nu! Sådan bruges Adobe Photoshop 2020 til at fjerne baggrunden for flere (batch) billeder ved hjælp af et simpelt script
Sådan læses flere analoge værdier ved hjælp af en analog pin: 6 trin (med billeder)
Sådan læses flere analoge værdier ved hjælp af en analog pin: I denne vejledning vil jeg vise dig, hvordan du læser flere analoge værdier ved hjælp af kun en analog input -pin
Styring af flere lysdioder med Python og din Raspberry Pi's GPIO -pins: 4 trin (med billeder)
Styring af flere lysdioder med Python og din Raspberry Pi's GPIO -pins: Denne instruktion viser, hvordan du styrer flere GPIO -ben på din RaspberryPi for at drive 4 lysdioder. Det vil også introducere dig til parametre og betingede udsagn i Python. Vores tidligere instruerbare brug af din Raspberry Pi's GPIO -pins til at kon
TILSLUTNING AF FLERE SENSORER TIL RASPBERRY PI: 6 trin (med billeder)
TILSLUTNING AF FLERE SENSORER TIL RASPBERRY PI: I dette projekt vil vi forbinde tre af Atlas Scientifics EZO -sensorer (pH, opløst ilt og temperatur) til en Raspberry Pi 3B+. I stedet for at koble kredsløbene til Raspberry Pi, bruger vi Whitebox Labs Tentacle T3 -skjoldet. T
Third Hand ++: en hjælpende hånd til flere formål til elektronik og andet sart arbejde .: 14 trin (med billeder)
Tredje hånd ++: en hjælpende hånd til flere anvendelser til elektronik og andet sart arbejde .: Tidligere har jeg brugt de tredje hænder/hjælpende hænder, der er tilgængelige i kædeelektronikbutikker og har været frustreret over deres anvendelighed. Jeg kunne aldrig få klipene præcis der, hvor jeg ville have dem, eller det tog mere tid, end det egentlig burde at få opsat