Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Trinn 1: Lag en LED -matrise
- Trinn 2: Trinn 2: Koble opp trykknappene og skiftregistrene
- Trinn 3: Trinn 3: Last opp koden
- Trinn 4: Tilleggsinformasjon/ressurser
Video: Trykknapp LED -matrise: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
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
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
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:
FPGA Cyclone IV DueProLogic - Trykknapp og LED: 5 trinn
FPGA Cyclone IV DueProLogic - Trykknapp og LED: I denne opplæringen skal vi bruke FPGA til å kontrollere ekstern LED -krets. Vi skal implementere følgende oppgaver (A) Bruk trykknappene på FPGA Cyclone IV DuePrologic for å kontrollere LED. (B) Flash LED på & av periodisk Video demo Lab
Hjemmeautomatisering WiFi-lysbryter med ESP-01 og relemodul med trykknapp: 7 trinn
Hjemmeautomatisering WiFi-lysbryter med ESP-01 og relemodul med trykknapp: Så i de tidligere instruksjonene programmerte vi en ESP-01 med Tasmota ved hjelp av en ESP-blinker og koblet ESP-01 til våre wifi-nettverk. Nå kan vi begynne å programmere den for å slå på/av en lysbryter ved hjelp av WiFi eller trykknappen. For det elektriske arbeidet
Teller med trykknapp - Tinker Cad: 3 trinn
Teller med trykknapp | Tinker Cad: Når du har en trykknapp som fungerer, vil du ofte gjøre noen handlinger basert på hvor mange ganger knappen trykkes. For å gjøre dette må du vite når knappen endrer tilstand fra av til på, og telle hvor mange ganger denne endringen av tilstanden skjer. Det
Stort sett 3D -trykt trykknapp: 4 trinn (med bilder)
Stort sett 3D -trykt trykknapp: De siste par årene har jeg bygget kopier av pedagogiske datamaskiner " leker " fra 50- og 60 -tallet. En av utfordringene jeg møter er å finne periodedeler, eller i det minste deler som er like nok til å bestå som autentiske. Ta
Dobbel trykknapp LED -krets: 5 trinn
Dobbel trykknapp LED -krets: Jeg skal prøve mitt ytterste for å høres ut som en gammel hånd på programmering og arbeid med arduinoer, men sant å si, i virkeligheten ble jeg bare introdusert for disse tingene for noen dager siden, derav min overveldende glede over lykkes med å lage og programmere min