Innehållsförteckning:
- Tillbehör
- Steg 1: Steg 1: Gör en LED -matris
- Steg 2: Steg 2: Anslutning av tryckknappar och skiftregister
- Steg 3: Steg 3: Ladda upp koden
- Steg 4: Ytterligare information/resurser
Video: Tryckknapps LED -matris: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Detta projekt kan ses som ett annat inledande Arduino -projekt som är något mer avancerat än ditt typiska "blinkande LED -projekt". Detta projekt innehåller en LED -matris, tryckknappar, skiftregister (som kan spara stift på ditt Arduino -kort) och ett nyckelbegrepp som kallas multiplexing. Jag hoppas att du tycker att handledningen är upplysande och utmanar dig själv att förbättra den!
Tillbehör
(1x) Arduino Uno
(5x) Taktila tryckknappar
(2x) 0,1 uF kondensatorer
(2x) 1 uF -kondensatorer
(8x) 1k motstånd
(5x) 10k motstånd
(2x) 74HC595 skiftregister
Jumper Wires
Svart tråd
Röd tråd
Steg 1: Steg 1: Gör en LED -matris
Handledningen jag använde för att göra 8x8 LED -matrisen i det här projektet hittar du här. Det finns vanliga konfigurationer för en LED -matris:
a) Anod med vanlig rad
b) Katod med vanlig rad
Eftersom jag använde matrisen Common Row Cathode -arrangemang kommer jag främst att diskutera det här och du kan utvidga samma logik till Common Row -anodarrangemanget. I katodarrangemanget med vanlig rad är lysdiodernas katoder (eller negativa terminaler som är det kortare benet på en lysdiod) sammankopplade i rader medan anoderna (eller positiva terminaler som är det längre benet på en lysdiod) är anslutna ihop i kolumner. För att adressera en viss lysdiod, dra i katodraden där LED -katoden är låg och dra i anodkolonnen som LED -anoden är hög.
Obs! När du gör LED -matrisen som visas i länken ovan, se till att ansluta anodkolumnerna med 1k ohm -motstånden innan du applicerar någon spänning på lysdioderna.
Steg 2: Steg 2: Anslutning av tryckknappar och skiftregister
Ledningarna för tryckknapparna och skiftregistren visas ovan. Jag vill notera att skiftregistren i kretsschemat inte visar marken (stift 8 på IC) och Vcc eller strömförsörjning (stift 16 på IC) stiften för chipsen; jordstiftet är anslutet till GND -stiftet på Arduino -kortet och Vcc är anslutet till 5V -stiftet på Arduino -kortet. Vcc -stiftet i varje skiftregister är också anslutet till en 0.1uF kondensator ansluten till jord.
Obs! Utgångarna från varje skiftregister listas som QA till QH (ignorera QH*). De listas i termer av den minst signifikanta biten (LSB) (för QA) till den mest signifikanta biten (MSB) (för QH) dvs QA skulle styra den 0: e raden eller kolumnen etc.
Steg 3: Steg 3: Ladda upp koden
Koden för att styra LED -matrisen är bifogad denna handledning. Jag försökte kommentera så mycket av koden som möjligt så det skulle vara mycket tydligt hur programmet fungerar. Huvudbasen för programmet är att det finns en matris som håller reda på vilka lysdioder som ska vara på eller av. För att de olika lysdioderna ska visas korrekt utan att oavsiktligt sätta på oönskade dioder är att använda ett koncept som kallas multiplexing. Multiplexing är i huvudsak att lysa upp enskilda lysdioder i särskild rad medan alla andra lysdioder i andra rader och sedan göra samma sak för de återstående raderna. Tricket är att om lysdioderna går igenom raderna tillräckligt snabbt kan dina ögon se att enskilda rader tänds en i taget. Om du vill utforska fler sätt att lura dina ögon med lysdioder, kanske du vill titta på begreppet persistens av syn (lätt sökbart på Google eller Instructables).
Sättet som anodkolumnerna och katodraderna uppdateras är via en användardefinierad funktion som kallas 'UpdateShiftRegisters'. Denna funktion vrider först låspinnen, som styr om en ny byte (8 bitar) skickas till utgången, låg så inga ändringar i utgångarna är möjliga medan nya bitar skrivs till chipet. Med hjälp av en inbyggd Arduino-funktion som heter 'ShiftOut', som specifikt hanterar att skicka data till skiftregister, skriver programmet vilken (katod) rad som skulle vara låg och vilka (anod) kolumner som ska vara höga. Slutligen dras låspinnen högt för att uppdatera utgången (lysdioderna).
Steg 4: Ytterligare information/resurser
Här är några länkar till webbplatser eller böcker som kan ge ytterligare information om detta projekt:
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
Komma igång med Arduino, andra upplagan av Massimo Banzi
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)