Satura rādītājs:

Spiedpogas LED matrica: 4 soļi
Spiedpogas LED matrica: 4 soļi

Video: Spiedpogas LED matrica: 4 soļi

Video: Spiedpogas LED matrica: 4 soļi
Video: Blinky and Running LEDs 🔴 ATmega328P Programming #4 AVR microcontroller with Atmel Studio 2024, Jūlijs
Anonim
Spiedpogas LED matrica
Spiedpogas LED matrica

Šo projektu var uzskatīt par vēl vienu Arduino ievada projektu, kas ir nedaudz progresīvāks par jūsu tipisko “mirgojošo LED” projektu. Šajā projektā ir iekļauta LED matrica, spiedpogas, maiņu reģistri (kas var ietaupīt tapas jūsu Arduino plāksnē) un galvenā koncepcija, ko sauc par multipleksēšanu. Es ceru, ka apmācība jums būs izgaismojoša un izaicināsit sevi uzlabot!

Piegādes

(1x) Arduino Uno

(5x) taustes spiedpogas

(2x) 0,1 uF kondensatori

(2x) 1 uF kondensatori

(8x) 1k rezistori

(5x) 10k rezistori

(2x) 74HC595 maiņu reģistri

Jumper vadi

Melnais vads

Sarkanais vads

1. darbība: 1. darbība: LED matricas izveide

1. darbība: LED matricas izveide
1. darbība: LED matricas izveide
1. darbība: LED matricas izveide
1. darbība: LED matricas izveide
1. darbība: LED matricas izveide
1. darbība: LED matricas izveide

Pamācību, ko es izmantoju, lai šajā projektā izveidotu 8x8 LED matricu, var atrast šeit. Pastāv izplatītas LED matricas konfigurācijas:

a) Kopējais rindas anods

b) Kopējais rindas katods

Tā kā es izmantoju matricas kopējo rindu katoda izkārtojumu, es to galvenokārt apspriedīšu šeit, un jūs varat attiecināt to pašu loģiku uz kopējās rindas anoda izkārtojumu. Kopējā rindas katoda izkārtojumā gaismas diožu katodi (vai negatīvie spailes, kas ir īsākā gaismas diodes kājiņa) ir savienoti kopā rindās, bet anodi (vai pozitīvie spailes, kas ir LED garāka daļa) ir savienoti kopā kolonnās. Lai uzrunātu konkrētu gaismas diodi, pavelciet katoda rindu, kurā LED katods ir ieslēgts, un velciet anoda kolonnu, kurā ir augsts LED anoda statuss.

Piezīme. Veidojot iepriekš redzamajā saitē redzamo LED matricu, pirms jebkura sprieguma pievienošanas gaismas diodēm noteikti savienojiet anoda kolonnas ar 1k omu rezistoriem.

2. darbība: 2. darbība: spiedpogu un maiņu reģistru savienošana

2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana
2. darbība: spiedpogu un maiņu reģistru savienošana

Spiedpogu un maiņu reģistru vadi ir parādīti iepriekš. Es gribētu atzīmēt, ka shēmas shēmas nobīdes reģistros nav redzama mikroshēmu zeme (IC 8. tapa) un Vcc vai strāvas padeves (IC 16. tapa) tapas; zemes tapa ir savienota ar Arduino plates GND tapu un Vcc ir pievienota Arduino plates 5V tapai. Katra maiņu reģistra Vcc tapa ir pievienota arī 0,1uF kondensatoram, kas savienots ar zemi.

Piezīme. Katras maiņu reģistra izejas ir uzskaitītas kā QA - QH (ignorēt QH*). Tie ir uzskaitīti pēc vismazāk nozīmīgā bita (LSB) (kvalitātes nodrošināšanai) līdz visnozīmīgākajam bitam (MSB) (kvalitātes nodrošināšanai), t.i., kvalitātes kontrole kontrolētu 0. Rindu vai kolonnu utt.

3. darbība: 3. darbība: koda augšupielāde

Kods LED matricas vadīšanai ir pievienots šai apmācībai. Es centos pēc iespējas vairāk komentēt kodu, lai būtu ļoti skaidrs, kā programma darbojas. Programmas galvenais pamats ir matrica, kas izseko, kurām gaismas diodēm jābūt ieslēgtām vai izslēgtām. Lai dažādas gaismas diodes tiktu parādītas pareizi, nejauši neieslēdzot nevēlamās diodes, ir jāizmanto jēdziens, ko sauc par multipleksēšanu. Multipleksēšana būtībā iedegas atsevišķas gaismas diodes konkrētā rindā, kamēr visas pārējās gaismas diodes citās rindās, pēc tam darot to pašu ar atlikušajām rindām. Triks ir tāds, ka, ja gaismas diodes pietiekami ātri pārvietojas pa rindām, acis var pateikt, ka atsevišķas rindas tiek izgaismotas pa vienai. Ja vēlaties izpētīt vairāk veidu, kā apmānīt acis ar gaismas diodēm, iespējams, vēlēsities izpētīt redzes noturības jēdzienu (viegli meklējams Google vai Instructables).

Anoda kolonnas un katoda rindas tiek atjauninātas, izmantojot lietotāja definētu funkciju “UpdateShiftRegisters”. Šī funkcija vispirms pagriež slēdzenes tapu, kas kontrolē, vai izejai tiek nosūtīts jauns baits (8 biti), tāpēc zema, tāpēc izejas izmaiņas nav iespējamas, kamēr mikroshēmā tiek ierakstīti jauni biti. Tad, izmantojot iebūvētu Arduino funkciju ar nosaukumu “ShiftOut”, kas īpaši apstrādā datu nosūtīšanu uz maiņu reģistriem, programma raksta, kura (katoda) rinda būtu zema un kurām (anoda) kolonnām vajadzētu būt augstām. Visbeidzot, fiksatora tapa ir pavilkta augstu, lai atjauninātu izeju (gaismas diodes).

4. darbība: papildu informācija/resursi

Šeit ir dažas saites uz vietnēm vai grāmatām, kas var sniegt papildu informāciju par šo projektu:

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

Darba sākšana ar Arduino, Massimo Banzi 2. izdevums

Ieteicams: