Sisällysluettelo:

Painikkeen LED -matriisi: 4 vaihetta
Painikkeen LED -matriisi: 4 vaihetta

Video: Painikkeen LED -matriisi: 4 vaihetta

Video: Painikkeen LED -matriisi: 4 vaihetta
Video: 220 В от автомобильного генератора переменного тока 12 В с солнечной панелью 2024, Heinäkuu
Anonim
Painike LED -matriisi
Painike LED -matriisi

Tätä projektia voidaan pitää toisena Arduino -esittelyprojektina, joka on hieman kehittyneempi kuin tyypillinen "vilkkuva LED" -projekti. Tämä projekti sisältää LED -matriisin, painikkeet, siirtorekisterit (jotka voivat säästää nastoja Arduino -kortillesi) ja avainkonseptin nimeltä multipleksointi. Toivon, että pidät opetusohjelmaa valaisevana ja haastat itsesi parantamaan sitä!

Tarvikkeet

(1x) Arduino Uno

(5x) Kosketuspainikkeet

(2x) 0,1 uF kondensaattorit

(2x) 1 uF kondensaattorit

(8x) 1k vastukset

(5x) 10k vastukset

(2x) 74HC595 -siirtorekisterit

Hyppyjohdot

Musta lanka

Punainen lanka

Vaihe 1: Vaihe 1: LED -matriisin luominen

Vaihe 1: LED -matriisin luominen
Vaihe 1: LED -matriisin luominen
Vaihe 1: LED -matriisin luominen
Vaihe 1: LED -matriisin luominen
Vaihe 1: LED -matriisin luominen
Vaihe 1: LED -matriisin luominen

Opetusohjelma, jota käytin 8x8 LED -matriisin tekemiseen tässä projektissa, löytyy täältä. LED -matriisille on yleisiä kokoonpanoja:

a) Yhteinen rivianodi

b) Yhteinen rivikatodi

Koska käytin matriisin Common Row Cathode -järjestelyä, keskustelen siitä lähinnä täällä ja voit laajentaa samaa logiikkaa Common Row -anodijärjestelyyn. Yhteisessä rivikatodijärjestelmässä LEDien katodit (tai negatiiviset liittimet, jotka ovat LEDin lyhyempi jalka) on kytketty toisiinsa riveiksi, kun taas anodit (tai positiiviset liittimet, jotka ovat LEDin pidempi jalka) on yhdistetty sarakkeisiin. Voit käsitellä tiettyä LEDiä vetämällä katodirivistä, että LED -katodi on alhaalla, ja vetämällä anodipylvästä, jonka LED -anodi on korkealla.

Huomautus: Kun teet yllä olevan linkin mukaista LED -matriisia, varmista, että liität anodipylväät 1 k ohmin vastuksiin, ennen kuin liität jännitteitä LEDeihin.

Vaihe 2: Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen

Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen

Painikkeiden ja siirtorekisterien johdotus on esitetty yllä. Haluan huomata, että kytkentäkaavion siirtorekisterit eivät näytä sirujen maata (IC: n nasta 8) ja Vcc: tä tai virtalähteen (IC: n nasta 16); maadoitusnasta on kytketty Arduino -kortin GND -nastaan ja Vcc on liitetty Arduino -kortin 5V -napaan. Jokaisen siirtorekisterin Vcc -nasta on myös kytketty maahan maadoitettuun 0,1uF -kondensaattoriin.

Huomautus: Jokaisen siirtorekisterin lähdöt on lueteltu QA - QH (ohita QH*). Ne on lueteltu vähiten merkittävän bitin (LSB) (QA) ja merkittävimmän bitin (MSB) (QH) kannalta, eli QA hallitsisi 0. riviä tai saraketta jne.

Vaihe 3: Vaihe 3: Lataa koodi

LED -matriisin ohjauskoodi on liitetty tähän opetusohjelmaan. Yritin kommentoida mahdollisimman paljon koodia, jotta ohjelma olisi hyvin selvä. Ohjelman pääasiallinen perusta on matriisi, joka seuraa, mitkä LEDit sytytetään tai sammutetaan. Jotta eri LED -valot näkyvät oikein ilman, että vahingossa kytketään päälle ei -toivotut diodit, on käytettävä multipleksointia. Multipleksointi on lähinnä yksittäisten LEDien sytyttämistä tietyllä rivillä, kun taas kaikki muut LEDit muilla riveillä, ja sitten sama sama jäljellä oleville riveille. Temppu on, että jos LEDit kiertävät rivit riittävän nopeasti, silmäsi voivat kertoa, että yksittäiset rivit palavat yksi kerrallaan. Jos haluat tutkia lisää tapoja, joilla voit huijata silmiäsi LED -valolla, sinun kannattaa ehkä tarkastella näkemyksen pysyvyyden käsitettä (helposti haettavissa Googlesta tai Instructablesista).

Anodisarakkeiden ja katodirivien päivitys tapahtuu käyttäjän määrittämän UpdateShiftRegisters-toiminnon kautta. Tämä toiminto kääntää ensin salvatappia, joka ohjaa, jos ulostuloon lähetetään uusi tavu (8 bittiä). Sitten käyttämällä sisäänrakennettua Arduino-toimintoa nimeltä 'ShiftOut', joka käsittelee nimenomaan tietojen lähettämistä siirtorekisteriin, ohjelma kirjoittaa sen mukaan, kumpi (katodi) rivi olisi alhainen ja mitkä (anodi) sarakkeet tulisi olla korkeat. Lopuksi salvatappi vedetään korkealle, jotta ulostulo (LEDit) päivitetään.

Vaihe 4: Lisätietoja/resursseja

Tässä on joitain linkkejä verkkosivustoille tai kirjoihin, jotka voivat antaa lisätietoja tästä projektista:

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

Arduinon käytön aloittaminen, 2. painos, Massimo Banzi

Suositeltava: