Innholdsfortegnelse:

Trykknapp LED -matrise: 4 trinn
Trykknapp LED -matrise: 4 trinn

Video: Trykknapp LED -matrise: 4 trinn

Video: Trykknapp LED -matrise: 4 trinn
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Trykknapp LED Matrix
Trykknapp LED Matrix

Dette prosjektet kan betraktes som et annet innledende Arduino -prosjekt som er litt mer avansert enn ditt typiske "blinkende LED" -prosjekt. Dette prosjektet inneholder en LED -matrise, trykknapper, skiftregistre (som kan lagre pinner på Arduino -kortet) og et nøkkelkonsept som kalles multiplexing. Jeg håper du synes opplæringen er opplysende og utfordrer deg selv til å forbedre den!

Rekvisita

(1x) Arduino Uno

(5x) Taktile trykknapper

(2x) 0,1 uF kondensatorer

(2x) 1 uF -kondensatorer

(8x) 1k motstander

(5x) 10k motstander

(2x) 74HC595 skiftregistre

Jumper Wires

Black Wire

Red Wire

Trinn 1: Trinn 1: Lag en LED -matrise

Trinn 1: Lag en LED -matrise
Trinn 1: Lag en LED -matrise
Trinn 1: Lag en LED -matrise
Trinn 1: Lag en LED -matrise
Trinn 1: Lag en LED -matrise
Trinn 1: Lag en LED -matrise

Opplæringen jeg brukte til å lage 8x8 LED -matrisen i dette prosjektet finner du her. Det er vanlige konfigurasjoner for en LED -matrise:

a) Vanlig rad -anode

b) Common Row -katode

Siden jeg brukte Common Row Cathode -arrangementet til matrisen, vil jeg hovedsakelig diskutere det her, og du kan utvide den samme logikken til Common Row Anode -arrangementet. I Common Row Cathode -arrangementet er LED -katodene (eller negative terminaler som er det kortere benet på en LED) koblet sammen i rader mens anodene (eller positive terminaler som er det lengre benet på en LED) er koblet sammen i kolonner. For å adressere en bestemt LED, trekk i katoderaden som LED -katoden er lavt og dra i anodesøylen som LED -anoden er på.

Merk: Når du lager LED -matrisen vist i lenken ovenfor, må du sørge for å koble anodekolonnene med 1 k ohm -motstandene før du påfører spenning på lysdiodene.

Trinn 2: Trinn 2: Koble opp trykknappene og skiftregistrene

Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene
Trinn 2: Koble opp trykknappene og skiftregistrene

Kablingene for trykknappene og skiftregistrene er vist ovenfor. Jeg vil merke at skiftregistrene i kretsdiagrammet ikke viser bakken (pinne 8 på IC) og Vcc eller strømforsyning (pinne 16 på IC) pinnene for brikkene; jordpinnen er koblet til GND -pinnen på Arduino -kortet og Vcc er koblet til 5V -pinnen på Arduino -kortet. Vcc -pinnen til hvert skiftregister er også koblet til en 0.1uF kondensator koblet til jord.

Merk: Utgangene til hvert skiftregister er oppført som QA til QH (ignorer QH*). De er oppført i form av den minst signifikante biten (LSB) (for QA) til den mest signifikante biten (MSB) (for QH) dvs. QA ville kontrollere den niende raden eller kolonnen, etc.

Trinn 3: Trinn 3: Last opp koden

Koden for å kontrollere LED -matrisen er vedlagt denne opplæringen. Jeg prøvde å kommentere så mye av koden som jeg kunne, så det ville være veldig klart hvordan programmet fungerer. Hovedgrunnlaget for programmet er at det er en matrise som holder oversikt over hvilke lysdioder som skal være på eller av. For å få de forskjellige lysdiodene til å vises korrekt uten å slå på uønskede dioder ved et uhell, er det å bruke et konsept som kalles multipleksing. Multiplexing er i hovedsak å lyse opp individuelle lysdioder i bestemt rad, mens alle andre lysdioder i andre rader, og deretter gjøre det samme for de resterende radene. Trikset er at hvis lysdiodene blar raskt gjennom radene, kan øynene dine fortelle at individuelle rader lyser en om gangen. Hvis du ønsker å utforske flere måter du kan lure øynene dine med lysdioder på, kan det være lurt å se nærmere på begrepet vedvarende syn (lett søkbart på Google eller Instructables).

Måten anodekolonnene og katoderadene oppdateres er gjennom en brukerdefinert funksjon som heter 'UpdateShiftRegisters'. Denne funksjonen snur først låsepinnen, som styrer om en ny byte (8 bits) sendes til utgangen, lav, så ingen endringer i utgangene er mulig mens nye biter skrives til brikken. Ved å bruke en innebygd Arduino-funksjon kalt 'ShiftOut', som spesifikt håndterer sending av data til skiftregistre, skriver programmet hvilken (katode) rad som er lav og hvilke (anode) kolonner som skal være høye. Til slutt trekkes låsepinnen høyt for å oppdatere utgangen (lysdiodene).

Trinn 4: Tilleggsinformasjon/ressurser

Her er noen lenker til nettsteder eller bøker som kan gi tilleggsinformasjon om dette prosjektet:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Komme i gang med Arduino, andre utgave av Massimo Banzi

Anbefalt: