Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Vaihe 1: LED -matriisin luominen
- Vaihe 2: Vaihe 2: Painikkeiden ja siirtorekisterien kytkeminen
- Vaihe 3: Vaihe 3: Lataa koodi
- Vaihe 4: Lisätietoja/resursseja
Video: Painikkeen LED -matriisi: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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
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
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:
Yhden painikkeen servo -jousituksen lukitus: 3 vaihetta
Yhden painikkeen servo -jousituksen lukitus: Täysjousitetut maastopyörät tarjoavat tasaisen ajon, mutta vaativat usein jousituksen lukitsemisen poljettaessa ylämäkeen. Muuten jousitus puristuu, kun seisot polkimilla, tuhlaamalla tämän vaivan. Pyörävalmistajat tietävät tämän ja tarjoavat
Kahden painikkeen relekytkin: 3 vaihetta
Kahden painikkeen relekytkin: Tässä artikkelissa kerrotaan, miten kytket päälle ja pois päältä painikekytkimen. Tämä piiri voidaan tehdä kahdella kytkimellä. Paina yhtä kytkintä ja lamppu syttyy. Painamalla toista kytkintä lamppu sammuu. Tämä Ins
Laskuri painikkeen avulla - Tinker Cad: 3 vaihetta
Laskuri painikkeen avulla | Tinker Cad: Kun olet saanut painikkeen toimimaan, haluat usein tehdä jotain sen mukaan, kuinka monta kertaa painiketta painetaan. Tätä varten sinun on tiedettävä, milloin painike vaihtaa tilan pois päältä päälle, ja laskettava, kuinka monta kertaa tämä tilan muutos tapahtuu. Th
Visuino Painikkeen käyttö tulona LED -valojen hallintaan: 6 vaihetta
Visuino Kuinka käyttää painiketta painikkeena esimerkiksi LED -valojen ohjaamiseen: Tässä opetusohjelmassa opimme LED -valon sytyttämisen ja sammuttamisen yksinkertaisella painikkeella ja Visuinolla
Laajennettavan painikkeen käyttö tärinäpalautteella: 7 vaihetta (kuvien kanssa)
Laajennettavan painikkeen sovellus, jossa on tärinäpalaute: Tässä opetusohjelmassa näytämme ensin, kuinka voit käyttää Arduino Unoa tärinämoottorin ohjaamiseen laajennetun painikkeen avulla. Useimmat painikkeiden opetusohjelmat sisältävät fyysisen leipälevyn painikkeen, kun taas tässä opetusohjelmassa painike on