Sisällysluettelo:

Ohjelmoitava RGB -LED -sekvensseri (Arduinon ja Adafruit -ristikkojen avulla): 7 vaihetta (kuvien kanssa)
Ohjelmoitava RGB -LED -sekvensseri (Arduinon ja Adafruit -ristikkojen avulla): 7 vaihetta (kuvien kanssa)

Video: Ohjelmoitava RGB -LED -sekvensseri (Arduinon ja Adafruit -ristikkojen avulla): 7 vaihetta (kuvien kanssa)

Video: Ohjelmoitava RGB -LED -sekvensseri (Arduinon ja Adafruit -ristikkojen avulla): 7 vaihetta (kuvien kanssa)
Video: Arduino tuplauskone 2024, Heinäkuu
Anonim
Image
Image
Johdot ohjainkorttiin
Johdot ohjainkorttiin

Poikani halusivat värillisiä LED -nauhoja valaisemaan työpöydänsä, enkä halunnut käyttää purkitettua RGB -nauhaohjainta, koska tiesin, että he kyllästyisivät näiden ohjaimien kiinteisiin kuvioihin. Ajattelin myös, että se olisi loistava tilaisuus luoda heille opetusväline, jolla he voisivat terävöittää ohjelmointi- ja elektroniikkataitojani, joita olen heille opettanut. Tämä on tulos.

Aion näyttää sinulle, kuinka rakentaa tämä yksinkertainen, ohjelmoitava RGB -LED -nauhaohjain käyttämällä Arduino Unoa (tai Nano), Adafruit -säleikköä ja kourallinen muita osia.

Adafruit Trellis on yksi suosikki uusista leluistani Lady Adalta ja miehistöltä. Ensinnäkin se on vain 9,95 dollaria taululle ja toinen 4,95 dollaria silikonielastomeeripainikkeelle (hinnat tämän kirjoituksen mukaan). Se on loistava 16-painikkeisella 4x4-matriisilla, jossa on LED-ominaisuus. Sen mukana ei tule LED -valoja, vaan ne on toimitettava, mutta se antaa sinulle joustavuuden valita haluamasi värit (ja pitää kustannukset ja monimutkaisuuden alhaisina verrattuna osoitettavien LED -valojen rakentamiseen). Tämän projektin rakentamiseksi kuten minun, tarvitset kourallisen 3 mm: n LED -valoja. Käytin 2 punaista, 2 vihreää, 2 sinistä, 4 keltaista ja 6 valkoista.

Trellis käyttää I2C: tä kommunikointiin, joten se tarvitsee vain kaksi I/O -nastaa (data ja kello) 16 painikkeen ja 16 LED: n ohjaamiseen.

Voit tehdä tämän projektin laitteisto -osan pienellä proto -levyllä, jolla tein prototyyppini. Ymmärsin nopeasti, että tarvitsen jotain siistimpää ja pidemmälle heidän työpöydälleen (paljas Arduino- ja proto -kortti olisi liian hauras), joten tein oman kilven LED -nauhojen ajamiseen. Ohjeet ja tiedostot kilven rakentamiseen sisältyvät viimeiseen vaiheeseen.

Ohjain käyttää kolmea IRLB8721 MOSFET -laitetta ja kolmea vastusta. Ja tietysti tarvitset LED -nauhan ajaaksesi; melkein mikä tahansa tavallinen 12 V: n RGB -LED -nauha sopii. Nämä ovat yksinkertaisia LED-valoja, kuten SMD 5050, eivät hienoja yksilöllisesti osoitettavia (ei NeoPixelejä jne.)-se on toinen projekti! Tarvitset myös 12 V: n virtalähteen, joka on riittävän suuri käyttämäänsi LED -merkkivalojen määrää.

Joten yhteenvetona, tässä ovat tämän projektin peruslaitetarpeet:

  • Yksi Arduino Uno tai Nano (nämä ohjeet koskevat Unoa, johon on asennettu naarasotsikot, mutta leipälauta Nano toimii hyvin) (Adafruit, Amazon, Mouser);
  • Yksi Adafruit -ristikkolevy ja silikonipainike (Adafruit);
  • Kolme IRLB8721 N-kanavan MOSFETia (Adafruit, Amazon, Mouser);
  • Kolme 1K -vastusta (Amazon, Mouser);
  • Kolme 220 ohmin vastusta (Amazon, Mouser)
  • Yksi pieni proto-levy (ensimmäinen oli 1/4 koko-valitse mikä tahansa koko, jolla voit työskennellä mukavasti) (Adafruit, Amazon);
  • 12 V: n RGB -LED -nauha (SMD 5050) (Adafruit, Amazon);
  • 12 V: n virtalähde - valitse teho, joka vastaa ajettavien LED -valojen määrää.

Pakollinen vastuuvapauslauseke: yllä olevat linkit on tarkoitettu avuksesi, eivätkä ne ole minkään tuotteen tai myyjän hyväksyntää; enkä hyöty mistään ostoista, jotka on tehty näiden linkkien kautta. Jos sinulla on myyjiä, joista pidät enemmän, tue heitä kaikin tavoin!

Aloitetaan…

Vaihe 1: Liitä ohjainkortti

Johdot ohjainkorttiin
Johdot ohjainkorttiin

Tässä on LED -ohjainpiiri. Se on hyvin yksinkertaista. Se käyttää IRBLxxx N-kanavan MOSFET-tekniikkaa kullekin LED-nauhan kanavalle. LED -nauha on yleinen anodi, mikä tarkoittaa, että LED -nauhalle lähetetään +12 V. Joten liitämme MOSFET -laitteiden viemärin LED -värikanaviin ja lähteen maahan. Portit yhdistetään Arduino-digitaalilähtöihin, ja vastukset tarjoavat alasvetämisen, joka varmistaa, että jokainen MOSFET kytkeytyy kokonaan päälle tai pois päältä tarpeen mukaan.

Arduino tarjoaa pulssileveysmodulaatiota joillekin digitaalisille lähdöilleen, joten käytämme niitä (erityisesti D9, D10, D11), jotta kunkin värikanavan voimakkuutta voidaan hallita.

Jos olet hämmentynyt siitä, mihin liittää IRLB8721 MOSFET -laitteet, pidä sitä kädessäsi etupuoli itseesi päin, kuten yllä olevassa kuvassa näkyy. Vasemmanpuoleinen nasta (nasta 1) on portti, ja se liitetään Arduinon digitaaliseen ulostulotappiin ja vastukseen (vastuksen toisen pään tulee liittää maahan). Keskellä oleva tappi (nasta 2) on viemäri ja se liitetään LED -nauhan värikanavaan. Oikealla oleva nasta (nasta 3) on lähde ja se on kytketty maahan. Muista seurata, mikä transistori liitetään mihin LED -värikanavaan.

En mene yksityiskohtiin protolevyjen juottamisesta. Rehellisesti sanottuna vihaan sitä, enkä ole hyvä siinä. Mutta parempi tai huonompi, se toimii, ja se on nopea ja likainen tapa saada vankka prototyyppi tai kertaluonteinen tehtävä. Ensimmäinen lautani näkyy tässä.

Voit myös leikata tämän ylös. Se olisi varmasti nopeampaa kuin kaiken juottaminen proto -levylle, mutta vähemmän pysyvää.

Kun ohjain on kytketty, liitä MOSFET -porttitulot Arduinon digitaalisiin ulostulonappeihin: D9 vihreälle kanavalle, D10 punaiselle kanavalle ja D11 siniselle kanavalle. Liitä LED -nauha myös proto -korttiisi.

Varmista myös, että ohjainkortillasi on erillinen liitäntä maasta johonkin Arduinon maadoitustapeista.

Lopuksi LED -virran kytkemiseksi kytke 12 V: n virran negatiivinen (maadoitus) johto ohjainkortin maahan. Kytke sitten 12 V: n virran positiivinen johdin LED -nauhan anodijohtoon (tämä on musta johto kaapeleissani kuvassa).

Lopulta suunnittelin PC -kortin kilven, joka kiinnitetään Unoon ja jossa on myös asennustuki Trellisille. Tämä antoi paljon enemmän lopputuotetta. Jos haluat tehdä sen, voit ohittaa proto -levyn käytön tässä kuvatulla tavalla ja saada suojalevy valmiiksi. Tämä kaikki kuvataan viimeisessä vaiheessa.

Vaihe 2: Aseta LEDit säleikköön

Aseta LED -valot säleikköön
Aseta LED -valot säleikköön

Ristikkolevyssä on tyhjät tyynyt 3 mm: n LED -valolle, jotka meidän on täytettävä. Huomaa tyynyjen symbolit huolellisesti-tyynyn vieressä on erittäin hieno "+", joka osoittaa anodipuolen. Jos pidät taulua niin, että teksti on oikea puoli ylöspäin, levyn ylä- ja alareunassa on myös merkintä, joka ilmoittaa, että LED-anodit ovat vasemmalla.

Juotos 3 mm: n LEDit levylle. Taulun etuosaa katsottaessa teksti oikea puoli ylöspäin, vasen yläkytkin/LED-asento on #1, oikea yläkulma on #4, vasen alareuna on #13 ja oikea ala on #16. Tässä ovat värit, joita käytin kussakin asennossa (ja siihen on syy, joten suosittelen, että noudatat malliani ainakin kahden ylimmän rivin osalta):

1 - punainen2 - vihreä3 - sininen4 - valkoinen5 - punainen6 - vihreä7 - sininen8 - valkoinen9 - valkoinen10 - valkoinen11 - keltainen12 - keltainen13 - valkoinen14 - valkoinen15 - keltainen16 - keltainen

CC Attribution: Yllä oleva Trellis -kuva on Adafruutin käytössä ja sitä käytetään Creative Commons - Attribution/ShareAlike -lisenssillä.

Vaihe 3: Yhdistä ristikot Arduinoon

Yhdistä ristikot Arduinoon
Yhdistä ristikot Arduinoon

Trelliksessä on viisi johdotustyynyä, mutta tässä projektissa käytetään vain neljää. Trellis tarvitsee SDA: n ja SCL: n kommunikoidakseen Arduinon kanssa (käyttäen I2C: tä) ja 5V ja GND virran saamiseksi. Viimeistä tyynyä, INT, ei käytetä. Ristikkotyynyt näkyvät levyn kaikilla neljällä reunalla. Voit käyttää mitä tahansa tyynyjä, joita haluat.

Juotos kiinteä liitäntäjohto 5V-, GND-, SDA- ja SCL -tyynyihin. Kytke sitten 5V -johto Arduinon 5V -nastaan, GND maadoitusnastaan, SDA -johto A4 -liitäntään ja SCL -johto A5 -liitäntään.

Seuraavaksi käynnistämme Arduinon ja lataamme luonnoksen siihen. Nyt on hyvä aika laittaa silikonipainatyyny Trellis -levylle. Se vain istuu taululla (huomioi tyynyn pohjassa olevat "nupit", jotka sopivat levyn reikiin), joten sinun kannattaa ehkä käyttää pari teippiä pitämään tyynyn reunat levyssä nyt.

CC Attribution: Yllä oleva Trellis -kytkentäkuva on Adafruitin rajaama versio tästä kuvasta, ja sitä käytetään Creative Commons - Attribution/ShareAlike -lisenssillä.

Vaihe 4: Lataa projektiluonnos ja lähetä se Arduinolle

Voit ladata luonnoksen Github -repostani tätä projektia varten.

Kun olet saanut sen, avaa se Arduino IDE: ssä, liitä Arduino USB -kaapelilla ja lataa luonnos Arduinolle.

Jos luonnos on ladattu ja ristikko on liitetty oikein, minkä tahansa ristikon painikkeen pitäisi vilkkua nopeasti kolme kertaa, kun sitä painetaan. Tämä on merkki siitä, että olet painanut virheellistä painiketta, koska järjestelmä tulee "pois" -tilaan, joten ainoa kelvollinen näppäimen painallus on se, joka tarvitaan sen käynnistämiseen.

Käynnistä järjestelmä painamalla vasenta alakulmaa (#13) vähintään yhden sekunnin ajan. Kun vapautat painikkeen, kaikkien merkkivalojen pitäisi syttyä hetkeksi, ja sitten alimmat kaksi riviä sammuvat, paitsi numero 13 (vasen alareuna). Järjestelmä on nyt päällä ja valmiustilassa.

Ensimmäisenä testinä voit yrittää kirkastaa ja himmentää LED -kanavia kahden ylimmän rivin avulla. Jos tämä toimii, voit jatkaa seuraavaan vaiheeseen. Jos ei, tarkista:

  1. LED -virtalähde on kytketty ja päällä;
  2. Ohjainkortin MOSFETit on kytketty oikein. Jos käytät samoja IRLB8721 -laitteita kuin minä, tarkista:

    • Ohjainkortin signaalitulot (MOSFET -portit, IRLB8721 nasta 1) on liitetty Arduinoon D9 = vihreä, D10 = punainen, D11 = sininen (katso alla oleva huomautus);
    • LED -nauha on kytketty ohjainkorttiin ja LED -värikanavat MOSFET -viemäreihin (IRLB8721 nasta 2);
    • MOSFET -lähdetapit (IRLB8721 nasta 3) on kytketty ohjainkortin maahan;
  3. Maaliitäntä ohjainkortin ja Arduinon maadoitusnastan välillä.

Seuraavassa vaiheessa pelaamme joidenkin painikkeiden käyttöliittymän toimintojen kanssa.

HUOMAUTUS: Jos ohjain toimii, mutta voimakkuuspainikkeet eivät hallitse oikeita värejä, älä huoli äläkä kytke johtoja uudelleen! Siirry vain Arduino IDE: n luonnokseen ja muokkaa PUNAINEN, VIHREÄ ja SININEN nastamääritelmiä lähellä tiedoston yläosaa.

Vaihe 5: Perustoiminnot

Perustoiminnot
Perustoiminnot

Nyt kun järjestelmään on kytketty virta, voimme pelata joillakin painikkeilla ja saada sen tekemään asioita.

Kuten sanoin edellisessä vaiheessa, järjestelmä käynnistyy, kun se kytketään päälle. Tässä tilassa voit lisätä ja vähentää kahden punaisen, vihreän ja sinisen LED -kanavan värin voimakkuutta kahden ylimmän rivin painikkeilla. Jos käytät valkoisia lisäys-/vähennyspainikkeita, järjestelmä lisää tai pienentää kaikkien kolmen kanavan voimakkuutta tasaisesti ja samalla tasolla.

Kahta alinta riviä käytetään esiasetettujen kuvioiden toistamiseen. Nämä kuviot tallennetaan Arduinon EEPROMiin. Kun luonnos suoritetaan ensimmäistä kertaa, se näkee, että EEPROMiin ei ole tallennettu kuvioita, ja se tallentaa joukon oletuskuvioita. Sen jälkeen voit muuttaa näitä malleja, ja tekemäsi muutokset tallennetaan Arduinon EEPROM -järjestelmään korvaamalla esiasetettu kuvio. Tämä varmistaa, että kuviosi selviävät sähkökatkoksista. Muokkaustoiminto kuvataan seuraavassa vaiheessa.

Paina toistaiseksi mitä tahansa esiasetuspainiketta (kahdeksan painiketta kahdessa alimmalla rivillä) suorittaaksesi painikkeelle tallennetun kuvion. Painike vilkkuu kuvion ollessa käynnissä. Pysäytä kuvio painamalla kuviopainiketta lyhyesti uudelleen. Kun kuvio on käynnissä, ylärivien valkoisia ylös/alas -painikkeita voidaan käyttää kuvionopeuden muuttamiseen.

Jos jätät projektin rauhaan muutamaksi sekunniksi koskematta mitään painikkeita, huomaat, että LED -valot himmenevät. Tämä on sekä virransäästöä että sitä varten, että ristikot eivät valaise liikaa "mielialaa", jota LEDit yrittävät luoda. Kun painat ritilän painiketta, se herää takaisin.

Sammuta järjestelmä painamalla vasenta alakulmaa (#13) vähintään yhden sekunnin ajan ja vapauttamalla se. Säleikkö ja LED -nauha pimenevät.

Vaihe 6: Kuvioiden muokkaaminen näppäimistöllä

Kuvioiden muokkaaminen näppäimistöllä
Kuvioiden muokkaaminen näppäimistöllä

Kuten sanoin edellisessä vaiheessa, luonnos tallentaa kahdeksan oletusmallia EEPROMissa ensimmäisen kerran, kun se suoritetaan. Voit vaihtaa 7 näistä kuvioista johonkin muuhun, jos haluat käyttää näppäimistön kuvion muokkaustilaa.

Pääset kuvion muokkaustilaan päättämällä ensin, mitä painiketta haluat muokata. Voit valita minkä tahansa muun painikkeen kuin vasemman alakulman. Siirry kuvion muokkaustilaan painamalla pitkään (pitämällä painettuna yli sekunnin ajan) valitsemasi kuvion painiketta. Kun painike vapautetaan, se palaa tasaisesti ja kaksi ylintä riviä alkavat vilkkua. Tämä osoittaa, että olet muokkaustilassa.

Muokkaustila alkaa kuvion ensimmäisestä vaiheesta ja jatkuu, kunnes lopetat muokkaamisen tai lopetat muokkaamisen 16. vaiheen (enintään 16 askelta kuviota kohti). Valitse jokaisessa vaiheessa kahden ylimmän rivin kanavanvoimakkuuspainikkeilla haluamasi väri. Paina sitten kuvion esiasetuspainiketta lyhyesti tallentaaksesi värin ja siirtyäksesi seuraavaan vaiheeseen. Viimeisessä vaiheessa poistu muokkauksesta lyhyen painalluksen sijasta painamalla pitkään.

Kun lopetat kuvion muokkaamisen, kuvio toistetaan automaattisesti.

Se siitä! Sinulla on nyt RGB -LED -ohjain, joka järjestää kuvioita, jotka voit ohjelmoida näppäimistöllä. Voit pysähtyä tähän tai jos haluat muodostaa muodollisemman version tästä projektista, jatka loput vaiheet.

Vaihe 7: Parempi laitteisto: RGB LED -ohjainkilpi ja kotelo

Image
Image
Parempi laitteisto: RGB LED -ohjainkilpi ja kotelo
Parempi laitteisto: RGB LED -ohjainkilpi ja kotelo
Parempi laitteisto: RGB LED -ohjainkilpi ja kotelo
Parempi laitteisto: RGB LED -ohjainkilpi ja kotelo

Kun minulla oli toimiva prototyyppi, tiesin, etten voinut jättää paljaita Arduinoa ja protolevyjä lasteni työpöydille pysyväksi ratkaisuksi. Tarvitsin kotelon projektille. Päätin myös, että teen paremman ohjainkortin, ja ajattelin, että se oli täydellinen tilaisuus tehdä oma kilpi.

Puhdistin paperikaavioni kirjoittamalla sen ExpressSCH: hen, joka on ilmainen työkalu, jonka tarjoaa ExpressPCB, kartonkivalmistaja, joka tarjoaa edullisia lyhyitä PC -levyjä. Olen käyttänyt ExpressPCB: tä yli kymmenen vuoden ajan projekteissa, mutta käytä mitä tahansa haluamiasi työkaluja ja valmistajaa.

Lisäsin pari pientä ominaisuutta peruskaavioon, jotta se toimisi hyvin tämän projektin suojana. Lisäsin johdotustyynyjä ristikkojen kytkemiseksi, virtaliittimen, merkkivalon ja LED -nauhan liitännän. Lisäsin myös paikan kondensaattorille virtalähteen poikki. Lopullinen piiri näkyy tässä.

Päätin, että projektin voiman pitäisi tulla kilpestä. Suojaan toimitettu 12 V toimii sekä LED -nauhalla että Arduinolla. Virta Arduinoon saadaan kytkemällä syöttötulo Arduinon VIN-nastaan, joka on kaksisuuntainen (voit syöttää virtaa Arduinoon tällä tapilla tai jos liität virran Arduinoon muualla, se antaa sinulle mukana toimitetun virta tähän nastaan). Suojadiodi D1 estää suoraan Arduinoon kytketyn virran (esim. USB) yrittämästä syöttää virtaa LED -valolle.

Miksi et käytä Arduinon virtaliitintä ja liitä vain 12 V sinne? Vaikka olisin voinut syöttää 12 V: n virran Arduinon virtaliitäntään ja käyttänyt VIN -tappia kaapataksesi tämän tehon kilpeen, olin huolissani siitä, että Arduinon D1 -diodi ja jäljet eivät tule olemaan korkeita mahdollisia virtauksia ajaessa LED -valoa nauhat. Niinpä päätin, että kilveni ottaa virransyötön ja syöttää sen sijaan virtaa Arduinolle. Säleikkö. Se pelasti minut asettamasta säätimen piirin kilpeen.

Asensin sitten piirilevyn. Käytin joitakin löytämiäni resursseja saadakseni tarkat mitat nastojen sijoittamisesta Arduino Unon otsikoiden täyttämiseksi. Pientä huolellisuutta ja se sopi ensimmäisellä yrityksellä. Suojapiirissä ei ole paljon, joten minulla oli paljon tilaa. Laitoin leveät jäljet LED-kuormille, joten tarvittavaa virtaa olisi riittävästi. Asetin MOSFETit paikkaan, jossa ne voidaan asentaa tasaisiksi, jäähdytyselementtien kanssa tai ilman. Toistaiseksi en ole tarvinnut jäähdytyselementtejä käyttämiäni LED -valoja lukuun ottamatta, mutta tilaa on tarvittaessa.

Lisäsin myös reikiä, jotka sopivat ristikkojen kiinnitysreikiin, jotta voisin käyttää stand-off-kiinnityksiä ristikon kiinnittämiseen kilpeeni. Kun kilpi on kytketty Arduinoon ja ritilät ripustetaan seisomaan kilven päälle, kaiken pitäisi olla mukavaa ja kiinteää.

Tulostin sitten levyn asettelun ja liimasin sen vaahtomuovipalaan ja asetin osat varmistaakseni, että kaikki sopivat. Kaikki hyvin, joten lähetin tilauksen.

Sitten aloin työskennellä kotelon parissa. Suunnittelin Fusion 360: n avulla yksinkertaisen kotelon sisältämään kolme levyä (Arduino Uno, kilpi ja ristikko). Kotelon reiät mahdollistavat yhteyden Arduinon USB -porttiin ja tietysti pääsyn LED -nauhaliitäntään ja suojaamaan virtaliitintä. Arduinon virtaliitin on kotelon peitossa, jotta sitä ei käytetä. Muutaman testiasennuksen prototyypin jälkeen minulla oli vihdoin malli, johon olin tyytyväinen. Olen lähettänyt kotelon STL -tiedostot Thingiverselle.

Jatkossa teen levystä version, johon Nano voidaan kytkeä suoraan. Tämä tekisi projektista vieläkin pienemmän. Siihen asti voit käyttää myös Nano -Uno -kilpasovitinta.

Jos aiot tehdä kilven, tässä on mitä tarvitset vaiheessa 1 mainittujen osien lisäksi:

  • RGB LED Driver Shield PC -levy (ExpressPCB: ltä tai muilta; voit ladata tiedostot Github -repoistani projektille);
  • 1N4002 -diodi;
  • 100uF 25V säteittäinen elektrolyyttikondensaattori (käytä 220uF tai 470uF, jos suuri LED -kuorma);
  • Virtaliitin, PJ202-AH (5A-luokiteltu malli).

Seuraavat osat ovat valinnaisia:

  • 3 mm LED - mikä tahansa väri, merkkivalolle (voidaan jättää pois)
  • 1500 ohmin vastus - tarvitaan vain, jos käytetään LED -merkkivaloa

Suositeltava: