Sisukord:
- Tarvikud
- 1. samm: 1. samm: LED -maatriksi tegemine
- 2. samm: 2. samm: nuppude ja vahetusregistrite ühendamine
- 3. samm: 3. samm: koodi üleslaadimine
- 4. samm: lisateave/ressursid
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Seda projekti võib pidada veel üheks sissejuhatavaks Arduino projektiks, mis on veidi arenenum kui teie tüüpiline LED -i vilkuv projekt. See projekt sisaldab LED -maatriksit, nuppe, vahetusregistreid (mis võivad teie Arduino tahvlile tihvte salvestada) ja võtmekontseptsiooni, mida nimetatakse multipleksimiseks. Loodan, et leiate, et õpetus on valgustav ja esitate endale väljakutse seda parandada!
Tarvikud
(1x) Arduino Uno
(5x) kombatavad nupud
(2x) 0,1 uF kondensaatorit
(2x) 1 uF kondensaatorit
(8x) 1k takistid
(5x) 10k takistid
(2x) 74HC595 vahetuste registrid
Jumper juhtmed
Must traat
Punane traat
1. samm: 1. samm: LED -maatriksi tegemine
Õpetuse, mida ma selles projektis 8x8 LED -maatriksi valmistamiseks kasutasin, leiate siit. LED -maatriksi jaoks on tavalised konfiguratsioonid:
a) Ühine ridaanood
b) Ühine rea katood
Kuna ma kasutasin maatriksi ühise rea katoodi paigutust, arutan seda peamiselt siin ja saate sama loogikat laiendada ka ühise rea anoodi paigutusele. Ühise rea katoodi paigutuses on valgusdioodide katoodid (või negatiivsed klemmid, mis on LED -i lühem jalg) ühendatud ridadesse, samas kui anoodid (või positiivsed klemmid, mis on LED -i pikem jalg) on ühendatud veergudes. Konkreetse LED -i käsitlemiseks tõmmake katoodirida, et LED -katood on madalal, ja tõmmake anoodikolonni, mille LED -anood on kõrgel.
Märkus. Ülaltoodud lingil näidatud LED -maatriksi tegemisel ühendage anoodikolonnid kindlasti 1k -oomi takistitega, enne kui LED -idele pinget rakendate.
2. samm: 2. samm: nuppude ja vahetusregistrite ühendamine
Nuppude ja vahetusregistrite juhtmestik on näidatud ülal. Tahaksin märkida, et lülitusskeemidel olevad nihkeregistrid ei näita kiipide maandust (IC 8. tihvt) ja Vcc -d ega toiteallika (IC 16. tihvti) kontakte; maandusnõel on ühendatud Arduino plaadi GND tihvtiga ja Vcc on ühendatud Arduino plaadi 5 V kontaktiga. Iga nihkeregistri Vcc tihvt on ühendatud ka maapinnaga ühendatud 0,1uF kondensaatoriga.
Märkus: Iga vahetuste registri väljundid on loetletud kui QA kuni QH (ignoreerige QH*). Need on loetletud kõige vähem olulise bitina (LSB) (QA jaoks) kuni kõige olulisemas bitis (MSB) (QH jaoks), st QA kontrolliks 0 -ndat rida või veergu jne.
3. samm: 3. samm: koodi üleslaadimine
Selle õpetuse juurde on lisatud LED -maatriksi juhtimise kood. Proovisin võimalikult palju koodi kommenteerida, nii et oleks väga selge, kuidas programm töötab. Programmi peamine alus on maatriks, mis jälgib, millised LED -id peaksid olema sisse või välja lülitatud. Erinevate valgusdioodide õige kuvamiseks ilma soovimatute dioodide kogemata sisse lülitamata on kasutada kontseptsiooni, mida nimetatakse multipleksimiseks. Multipleksimine sisuliselt süttib konkreetse rea üksikuid LED -e, samal ajal kui kõik teised LED -id teistes ridades, ja teeb sama ülejäänud ridade puhul. Trikk on selles, et kui valgusdioodid liiguvad ridadest piisavalt kiiresti läbi, võivad teie silmad öelda, et üksikuid ridu süttib ükshaaval. Kui soovite uurida rohkem viise, kuidas oma silmi LED -idega petta, võiksite uurida nägemise püsivuse kontseptsiooni (hõlpsasti otsitav Google'ist või Instructablesist).
Anoodiveergude ja katoodiridade värskendamise viis on kasutaja määratud funktsioon nimega „UpdateShiftRegisters”. See funktsioon pöörab esmalt riivi tihvti, mis kontrollib, kas väljundisse saadetakse uus bait (8 bitti), madal, nii et kiibile uute bittide kirjutamise ajal pole väljundites muudatusi võimalik teha. Kasutades siis sisseehitatud Arduino funktsiooni nimega „ShiftOut”, mis tegeleb spetsiaalselt andmete saatmisega vahetusregistritesse, kirjutab programm, kumb (katood) rida oleks madal ja millised (anood) veerud peaksid olema kõrged. Lõpuks tõmmatakse riivi tihvt kõrgele, et värskendada väljundit (valgusdioodid).
4. samm: lisateave/ressursid
Siin on mõned lingid veebisaitidele või raamatutele, mis võivad selle projekti kohta lisateavet anda:
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
Arduino alustamine, 2. väljaanne, autor Massimo Banzi
Soovitan:
Microsofti meeskondade vaigistamise nupp: 4 sammu
Microsoft Teamsi vaigistamisnupp: looge hõlpsasti ligipääsetav nupp, et vaigistada/vaigistada Microsoft Teamsi kõne ajal! Kuna 2020. aastal. See projekt kasutab Adafruit Circuit Playground Expressi (CPX) ja suurt nuppu, et luua Microsoft Teamsi jaoks kiirklahvi abil vaigistusnupp
FPGA Cyclone IV DueProLogic - nupp ja LED: 5 sammu
FPGA Cyclone IV DueProLogic - nupp ja LED: selles õpetuses kasutame välise LED -ahela juhtimiseks FPGA -d. Me rakendame järgmisi ülesandeid (A) Kasutage LED -i juhtimiseks FPGA Cyclone IV DuePrologic nuppe. (B) Välklamp põleb & perioodiliselt välja lülitatud Video demolabor
Raspberry Pi nupp LED -idega, paljas metall: 8 sammu
Raspberry Pi nupp LED -idega Bare Metal: See on minu teine õpetus vaarika pi 3 palja metalli programmeerimisest! Vaata minu esimest siin. Viimati näitasin teile, kuidas luua vaarika pi 3 jaoks operatsioonisüsteemi pilti, mis vilgutas ühte LED -i, selles õpetuses näitan teile, et
Arduino LED -nupp, mis juhib animatsioonide töötlemist: 36 sammu (piltidega)
Arduino LED -nupp, mis juhib töötlusanimatsioone: See nupp on valmistatud PCB -st ja muudest Sparkfuni toodetud komponentidest. Seda juhib Arduino Mega. Iga nupp on kena ja sihvakas ning rahuldustpakkuv ning selle sees on RGB LED! Olen seda kasutanud animatsioonide juhtimiseks
Tehke valgustatud nupp LED -lamplambist: 4 sammu
Tehke LED -pucklambist valgustatud nupp: leidsite ehituspoest soodushinnaga prügikastist mõned LED -kettalambid. Need on tuled, mille külge te millegi külge kleepite ja neid sisse ja välja lülitamiseks surute. Ma arvasin, et nad teevad häid valgustatud hetke lüliteid