INHOUDSOPGAWE:
- Voorrade
- Stap 1: Stap 1: Maak 'n LED -matriks
- Stap 2: Stap 2: Bedrading van die drukknoppies en skuifregisters
- Stap 3: Stap 3: Laai die kode op
- Stap 4: Bykomende inligting/hulpbronne
Video: Knoppie LED Matrix: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hierdie projek kan beskou word as nog 'n inleidende Arduino -projek wat effens meer gevorderd is as u tipiese 'blink 'n LED -projek. Hierdie projek bevat 'n LED -matriks, drukknoppies, skuifregisters (wat penne op u Arduino -bord kan stoor) en 'n belangrike konsep genaamd multiplexing. Ek hoop dat u die tutoriaal verhelderend vind en dat u uself uitdaag om dit te verbeter!
Voorrade
(1x) Arduino Uno
(5x) Taktiele drukknoppies
(2x) 0,1 uF -kondensators
(2x) 1 uF -kondensators
(8x) 1k weerstande
(5x) 10k weerstande
(2x) 74HC595 skofregisters
Jumper Wires
Swart draad
Rooi draad
Stap 1: Stap 1: Maak 'n LED -matriks
Die handleiding wat ek gebruik het om die 8x8 LED -matriks in hierdie projek te maak, kan hier gevind word. Daar is algemene konfigurasies vir 'n LED -matriks:
a) Gewone ry -anode
b) Gewone ry katode
Aangesien ek die Common Row Cathode -rangskikking van die matriks gebruik het, sal ek dit hoofsaaklik hier bespreek, en u kan dieselfde logika tot die Common Row Anode -rangskikking uitbrei. In die Common Row katode -rangskikking word die LED's se katodes (of negatiewe terminale wat die korter been op 'n LED is) in rye aan mekaar verbind, terwyl die anodes (of positiewe terminale wat die langer been op 'n LED is) in kolomme aan mekaar gekoppel is. Om 'n spesifieke LED aan te spreek, trek die katode ry waarin die LED katode laag is en trek die anode kolom waarop die LED anode hoog is.
Opmerking: as u die LED -matriks wat in die skakel hierbo getoon word, maak, moet u die anodekolomme met die 1k ohm -weerstande verbind voordat u spanning op die LED's toepas.
Stap 2: Stap 2: Bedrading van die drukknoppies en skuifregisters
Die bedrading vir die drukknoppies en skofregisters word hierbo getoon. Ek wil daarop let dat die skofregisters in die kringdiagram nie die grond (pen 8 van die IC) en Vcc of kragtoevoer (pen 16 van die IC) penne vir die skyfies toon nie; die grondpen is gekoppel aan die GND -pen van die Arduino -bord en Vcc is gekoppel aan die 5V -pen van die Arduino -bord. Die Vcc -pen van elke skofregister is ook gekoppel aan 'n 0.1uF kapasitor wat op die aarde gekoppel is.
Let wel: Die uitsette van elke skofregister word as QA tot QH gelys (ignoreer QH*). Hulle word gelys in terme van die minste beduidende bietjie (LSB) (vir QA) tot die belangrikste bit (MSB) (vir QH), dit wil sê QA beheer die 0de ry of kolom, ens.
Stap 3: Stap 3: Laai die kode op
Die kode om die LED -matriks te beheer, is by hierdie tutoriaal aangeheg. Ek het probeer om soveel as moontlik van die kode kommentaar te lewer, sodat dit baie duidelik sou wees hoe die program werk. Die belangrikste basis van die program is dat daar 'n matriks is wat byhou watter LED's aan of uit moet wees. Om die verskillende LED's korrek te laat vertoon sonder om per ongeluk ongewenste diodes aan te skakel, moet u 'n konsep genaamd multiplexing gebruik. Multiplexing is in wese individuele LED's in die ry verlig, terwyl alle ander LED's in ander rye dan dieselfde doen vir die oorblywende rye. Die truuk is dat as die LED's vinnig genoeg deur die rye gaan, u oë kan sien dat individuele rye een vir een aangesteek word. As u meer maniere wil ontdek om u oë met LED's te bedrieg, wil u moontlik die konsep van volharding van visie ondersoek (maklik soekbaar op Google of Instructables).
Die manier waarop die anodekolomme en katode rye opgedateer word, is deur 'n gebruiker-gedefinieerde funksie genaamd 'UpdateShiftRegisters'. Hierdie funksie draai eers die grendelpen, wat bepaal of 'n nuwe byte (8 bis) na die uitset gestuur word, so laag dat daar geen veranderinge aan die uitsette moontlik is terwyl nuwe bisse na die skyfie geskryf word nie. Met behulp van 'n ingeboude Arduino-funksie genaamd 'ShiftOut', wat spesifiek die stuur van data na skofregisters hanteer, skryf die program watter (katode) ry laag is en watter (anode) kolomme hoog moet wees. Uiteindelik word die grendelpen hoog getrek om die uitset (die LED's) by te werk.
Stap 4: Bykomende inligting/hulpbronne
Hier is 'n paar skakels na webwerwe of boeke wat addisionele inligting oor hierdie projek kan gee:
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
Aan die gang met Arduino, 2de uitgawe deur Massimo Banzi
Aanbeveel:
$ 5 Home Automation -knoppie: 4 stappe
Knoppie vir outomatisering van $ 5: 'n Huis -outomatiseringsknoppie van $ 5 Soms is die eenvoudigste oplossing 'n enkele knoppie. Ons wou 'n maklike manier hê om 'n 'slaaptyd' -roetine in ons tuistomatiseringshub (die Hubitat Elevation) te aktiveer, wat die meeste ligte uitskakel, ander op spesifieke vlakke stel en
Uitsluiting van 'n servo -ophanging met een knoppie: 3 stappe
Een -knoppie -servo -ophanging: bergfietse met volledige vering bied 'n gladde rit, maar vereis dikwels dat die vering gesluit word wanneer u opdraande trap. Anders druk die vering saam terwyl u op die pedale staan, en vermors die moeite. Die fietsvervaardigers weet dit, en voorsien
LED Knipperend {Knoppie beheerd}: 5 stappe
LED Knipperend {knoppie beheerd}: ek is 'n student in Kang Chiao. Dit is my projek, ek gebruik Arduino en het 'n LED-flikkerlig gemaak met 'n knoppie wat dit kan laat knip. U kan dit op u lap sit en as sommige mense te naby aan u is, kan u op die knoppie en die gloeilamp druk
Visuino Hoe om 'n knoppie as 'n invoer te gebruik om dinge soos LED te beheer: 6 stappe
Visuino Hoe om 'n knoppie as 'n invoer te gebruik om dinge soos LED te beheer: in hierdie tutoriaal leer ons hoe om die LED aan en uit te skakel met 'n eenvoudige knoppie en Visuino
Maak 'n verligte knoppie uit 'n LED -lamp: 4 stappe
Maak 'n verligte knoppie uit 'n LED -lamp: vind 'n paar LED -lampe in die winskopie by die hardewarewinkel. Dit is die ligte waarop u iets vashou en dit druk om dit aan en uit te skakel. Ek het gedink dat hulle 'n goeie tydelike skakelaar sal maak