Kazalo:

LED matrika s tipkami: 4 koraki
LED matrika s tipkami: 4 koraki

Video: LED matrika s tipkami: 4 koraki

Video: LED matrika s tipkami: 4 koraki
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Julij
Anonim
LED matrika s pritiskom na gumb
LED matrika s pritiskom na gumb

Ta projekt si lahko omislimo kot še en uvodni projekt Arduino, ki je nekoliko naprednejši od vašega tipičnega projekta "utripa LED". Ta projekt vključuje LED matriko, gumbe, registre premikov (ki lahko shranijo zatiče na vaši plošči Arduino) in ključni koncept, imenovan multipleksiranje. Upam, da vam bo vadnica razsvetlila in se izzvala, da jo izboljšate!

Zaloge

(1x) Arduino Uno

(5x) otipni gumbi

(2x) 0,1 uF kondenzatorji

(2x) 1 uF kondenzatorji

(8x) 1k uporov

(5x) 10k uporov

(2x) 74HC595 registri premikov

Mostične žice

Črna žica

Rdeča žica

1. korak: 1. korak: Izdelava LED matrike

1. korak: Izdelava LED matrike
1. korak: Izdelava LED matrike
1. korak: Izdelava LED matrike
1. korak: Izdelava LED matrike
1. korak: Izdelava LED matrike
1. korak: Izdelava LED matrike

Vadnico, ki sem jo uporabil za izdelavo matrike LED 8x8 v tem projektu, najdete tukaj. Za LED matriko obstajajo običajne konfiguracije:

a) Navadna anodna vrstica

b) Skupna vrstna katoda

Ker sem uporabil matriko Common Row Cathode, bom o tem predvsem razpravljal in isto logiko lahko razširite na razporeditev Common Row Anode. V razporeditvi skupne vrstne katode so katode LED (ali negativni priključki, ki so krajši kraki na LED), povezane skupaj v vrstice, medtem ko so anode (ali pozitivni priključki, ki so daljši kraki na LED), povezani skupaj v stolpce. Če želite nasloviti določeno LED, povlecite vrstico katode, na kateri je katoda LED nizka, in povlecite anodni stolpec, na katerem je anoda LED visoko.

Opomba: Pri izdelavi matrike LED, prikazane na zgornji povezavi, obvezno povežite anodne stebre z upori 1k ohm, preden na LED nanesete kakršno koli napetost.

2. korak: 2. korak: Ožičenje tipk in registrov premikov

2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov
2. korak: Ožičenje tipk in registrov premikov

Ožičenje tipk in registrov premikov je prikazano zgoraj. Rad bi opozoril, da registri premikov v vezju ne prikazujejo ozemljitvenih (pin 8 IC) in Vcc ali napajalnih (pin 16 IC) zatičev za čipe; ozemljitveni zatič je povezan z zatičem GND na plošči Arduino, Vcc pa na 5V pin Arduino plošče. Vcc pin vsakega premičnega registra je povezan tudi z 0,1uF kondenzatorjem, priključenim na ozemljitev.

Opomba: Izhodi vsakega premičnega registra so navedeni kot QA do QH (prezrite QH*). Navedeni so v smislu od najmanj pomembnega bita (LSB) (za QA) do najpomembnejšega bita (MSB) (za QH), to je, da bi QA nadzoroval 0. vrstico ali stolpec itd.

3. korak: 3. korak: nalaganje kode

Koda za nadzor LED matrike je priložena tej vadnici. Poskušal sem komentirati čim več kode, da bi bilo zelo jasno, kako program deluje. Glavna osnova programa je matrika, ki spremlja, katere LED morajo biti vklopljene ali izklopljene. Če želite, da se različne LED diode pravilno prikažejo, ne da bi po naključju vklopili nezaželene diode, uporabite koncept, imenovan multipleksiranje. Multipleksiranje v bistvu prižge posamezne LED v določeni vrstici, medtem ko vse druge LED v drugih vrstah, nato pa enako naredi za preostale vrstice. Trik je v tem, da če LED diode krožijo po vrsticah dovolj hitro, vaše oči lahko povedo, da se posamezne vrstice prižgejo ena za drugo. Če želite raziskati več načinov, kako si lahko z LED -jami očistite oči, si oglejte koncept vztrajnosti vida (enostavno iskanje v Googlu ali Instructables).

Način posodabljanja anodnih stolpcev in vrstic katode je uporabniško definirana funkcija, imenovana 'UpdateShiftRegisters'. Ta funkcija najprej obrne zapah, ki nadzoruje, ali se na izhod pošlje nov bajt (8 bitov), tako nizko, da niso možne spremembe izhodov, medtem ko se novi čipi zapisujejo na čip. Nato z vgrajeno funkcijo Arduino, imenovano 'ShiftOut', ki posebej obravnava pošiljanje podatkov v registre premikov, program zapiše, katera (katodna) vrstica bi bila nizka in kateri (anodni) stolpci bi morali biti visoki. Nazadnje, zapah zatiča povlečemo visoko, da posodobimo izhod (LED).

4. korak: Dodatne informacije/viri

Tu je nekaj povezav do spletnih mest ali knjig, ki lahko dajo dodatne informacije o tem 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

Prvi koraki z Arduinom, 2. izdaja Massima Banzija

Priporočena: