Sisällysluettelo:

Arduino Fireflies: 11 vaihetta (kuvilla)
Arduino Fireflies: 11 vaihetta (kuvilla)

Video: Arduino Fireflies: 11 vaihetta (kuvilla)

Video: Arduino Fireflies: 11 vaihetta (kuvilla)
Video: Arduino - Fireflies in a jar 2024, Marraskuu
Anonim
Image
Image
Mitä tarvitset
Mitä tarvitset

Yksi niistä asioista, joita odotan kesältä Pennsylvaniassa, ovat tulikärpäset takapihallani. Olen äskettäin opettanut itselleni Adruino -ohjelmoinnin tämän yksinkertaisen projektin tekemiseksi. Se on loistava ohjelma aloittaa, ja se on tarpeeksi helppo jokaiselle ohjelmoijalle, aloittelijalta asiantuntijalle, rakentaa, muokata ja pitää hauskaa vain muutamassa minuutissa. Aloitetaan.

Vaihe 1: Mitä tarvitset

Mitä tarvitset
Mitä tarvitset

Jotta saat virheet vilkkumaan, tarvitset seuraavat komponentit:

  • Arduino. Aloitin nanolla, mutta mikä tahansa Arduino-yhteensopiva mikro-ohjain tekee.
  • Keltaiset LEDit, 5 mm. Voit käyttää niitä enintään 6.
  • Vastukset. Tarvitset yhden vastuksen per LED rajoittaaksesi virtaa. Käytin 470 ohmia, mutta kaiken yli 150 ohmin pitäisi olla hyvä mikro-ohjaimen suojaamiseksi.
  • Leipälauta.
  • Hyppyjohdin.

Takapihasi projektin loppuun saattamiseksi tarvitset:

  • Säänkestävä projektilaatikko.
  • 9 voltin akku, jossa on liitin. (Katso huomautukset tämän osan alareunasta.)
  • Vaihtaa. (Valitsin nämä vedenpitävät kytkimet. Jos et käytä tätä ulkona, kaikki kytkimet tekevät sen.)
  • Muutaman metrin lanka LEDien sijoittamiseksi puutarhaan. Käytin noin 10 metriä Cat5 Ethernet -johtoa LEDiä kohti.
  • Pieni leipälauta tai jokin perf -lauta.
  • Sääsuojattu kaapelitiiviste, jonka läpi LED -johdot kulkevat. (Voit jättää tämän pois, jos et käytä sitä myös ulkona.)
  • Lämpökutistuvat letkut suojaavat LED -bugeja.
  • Vihreät tarranauhat (eli tarranauhat) LED-tulikärpästen kiinnittämiseen puutarhan kasveihin ja pylväisiin.
  • Urosliittimet komponenttien liittämiseen pieneen leipälautaan.

Työkalut:

  • Poranterät projektilaatikkoon. (Käytä tätä tilaisuutta hankkiaksesi itsellesi mukava askel. Olet iloinen siitä.)
  • Kuuma liimapistooli.
  • Juotin.
  • Pyörivä työkalu (esim. Dremel), jonka avulla voit leikata tilaa projektiruudusta tarvittaessa.

Tässä muutama huomio:

1. Akun valinta oli nopea ja helppo käyttöönotto. 9 voltin pariston käyttö pysyvästi on vähän turhaa. Sinun on parempi käyttää 4x AA-paristopidikettä pidempään (tarvitset kuitenkin suuremman projektikotelon, johon se voidaan sijoittaa).

2. Jos päätät purkaa Cat 5 Ethernet -kaapelin johtoja varten, varmista, että ne ovat kuparisydämiä ja kiedo ne siististi jonkin PVC: n ympärille, jotta ne pysyvät järjestyksessä työn aikana. Jälleen käytin noin 10 metriä lankaa per LED. Jos haluat levittää valot kauas, käytä pitkiä johtoja!

3. Lopuksi kaikki antamani linkit ovat vain ehdotuksia. Lue tämä koko ohje, ennen kuin rakennat tai ostat mitään, niin saat paremman käsityksen siitä, miten haluat edetä henkilökohtaisesti.

Vaihe 2: Rakenna piiri

Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri

Tämä projekti käyttää Arduinon pulssileveysmodulaatiotappeja. Mikro-ohjaimessa on 6 näistä nastoista ja voit käyttää niin monta kuin haluat. Kierros on melko suoraviivainen. Kytke kaikki virta pulssinleveysmodulaatio (PWM) nastoista D3, D5, D6, D9, D10 ja D11 LED -valojen positiivisiin päihin. Johda negatiiviset päät vastuksiin ja sitten yhteiseen maahan. (Vastukset voivat mennä LED -valon eteen tai taakse. Sillä ei ole väliä, ellet halua suojautua oikosululta korkeammilla virroilla.) Lisäsin muutamia kaavioita johdotuksen helpottamiseksi. (Kaaviot on luotu Fritzing -suunnitteluohjelmistolla.)

Vaihe 3: Koodi

Image
Image

Jos olet kokenut ohjelmoija, tämä koodi on yksinkertainen. Se on loistava koodi oppimisen aloittamiseen, koska se esittelee muuttujien, pinmodeiden, toimintojen ja jopa satunnaisgeneraattorin käytön. Koodi ei ole niin kompakti kuin se voi olla, koska olen varma, että sama vaikutus voidaan saavuttaa matriiseilla jne.

Koodikommentit esittävät kunkin osan logiikan. Koko koodi on upotettu tänne ja voit ladata alla olevan luonnoksen.

/*

Tämä skripti vilkkuu 6 LEDiä (tietysti keltaista) satunnaisessa järjestyksessä satunnaisin väliajoin PWM: n avulla. Jokaista LEDiä ohjataan omalla toiminnollaan. */ int led1 = 3; // LED kytketty PWM -nastaan 3 jne. Käytin kaikkia 6 PWM -nastaa. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; pitkä randnum; // randnum ohjaa välähdysten ja pitkän randbugin välistä aikaväliä; // randbug ohjaa, mikä vika syttyy. void setup () {pinMode (led1, OUTPUT); // Kaikkien PWM -nastojen asettaminen lähtöiksi. pinMode (led2, OUTPUT); pinMode (led3, LÄHTÖ); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, LÄHTÖ); } void loop () {randbug = random (3, 12); // randbug valitsee satunnaisesti suoritettavan toiminnon, // valitsee siten satunnaisesti syttyvän virheen. jos (randbug == 3) {bug1 (); } jos (randbug == 5) {bug2 (); } jos (randbug == 6) {bug3 (); } jos (randbug == 9) {bug4 (); } jos (randbug == 10) {bug5 (); } jos (randbug == 11) {bug6 (); }} / * * Jokainen näistä toiminnoista toimii samalla tavalla. `` silmukoille '' lisää ja pienennä sitten * tämän tapin tehoa LED -kirkkauden säätämiseksi. * 'randnum' on satunnainen aikaväli 10 - 3000 ms * ja valitsee ajanjakson virheiden välähdysten välillä. * 'viive 10' on vain häivytysvaikutusta varten. */ void bug1 () {randnum = satunnainen (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); viive (10); } viive (randnum); } void bug2 () {randnum = satunnainen (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); viive (10); } viive (randnum); } void bug3 () {randnum = satunnainen (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); viive (10); } viive (randnum); } void bug4 () {randnum = satunnainen (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); viive (10); } viive (randnum); } void bug5 () {randnum = satunnainen (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); viive (10); } viive (randnum); } void bug6 () {randnum = satunnainen (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); viive (10); } viive (randnum); }

Vaihe 4: Rakenna laatikko

Rakentaminen Bug Butts!
Rakentaminen Bug Butts!

Kun olet väläyttänyt Arduinosi koodilla ja saanut tulikärpäsi toimimaan haluamallasi tavalla, saatat haluta laittaa ne puutarhaan; se tarkoittaa projektilaatikkoa ja lämpöä kutistumista, jotta Arduino ja LEDit pysyvät kuivina. Tehdään!

Vaihe 5: Bug Buttsin rakentaminen

Rakentaminen Bug Butts!
Rakentaminen Bug Butts!
Rakentaminen Bug Butts!
Rakentaminen Bug Butts!
Rakentaminen Bug Butts!
Rakentaminen Bug Butts!
  • Leikkaa LED -johdot noin 5 mm: iin.
  • Kuori ja tina käyttämäsi johtojen päät, myös noin 5 mm.
  • Liu'uta 1 mm: n kutisteputki jokaisen langan pään yli.
  • Juotos LED johtoon. (Tässä vaiheessa sinun on valittava, mikä parisi lanka on positiivinen ja mikä negatiivinen. Valitsin kiinteän langan positiiviseksi ja valkoisen langan negatiiviseksi. Säilytä tämä strategia projektin aikana välttääksesi päänsärkyä myöhemmin!)
  • Liu'uta lämpökutistin kokonaan paljaan johdon ja LED -johtimien yli. Suorita nopea liekki niiden päälle kutistaaksesi ne johtoihin.
  • Liu'uta toinen lämpökutistumapala LED -valon ja johtojen päälle LED -linssin ollessa ulospäin ja sulata se paikalleen.
  • Liu'uta muutama lämpökutistuva kappale langan läpi koko pituudelta ja sulata se muutaman jalan välein pitääksesi langan siistinä.

Vaihe 6: Valmistele projektiruutu

Valmistele projektiruutu
Valmistele projektiruutu
Valmistele projektiruutu
Valmistele projektiruutu
  • Käytä pyörivää työkalua, jossa on hiomarumpu, puhdistaksesi tarpeettomat muovit projektilaatikostasi. (Varo leikkaamasta pois ruuvikiinnikkeitä, joita saatat tarvita laittaaksesi laatikon takaisin yhteen.)
  • Päätä, missä haluat kytkimen olevan ja LED -johdot tulevat ulos. Ehdotan sivuja, mutta käytä sitä, mikä toimii tarpeidesi mukaan.
  • Tee sopivan kokoisella poranterällä reikiä kaapeliläpiviennille ja kytkimelle.

Huomautus: Yllä olevassa kuvassa näet, että tein "tyhjän kaapelin". Tämä on nippu, jossa on 6 paria lankaa, jota käytin lämpökutistuvissa LED -valoissa niputtaa ne yhteen. Käytin sitä varmistaakseni, että kaapeliläpivienti sopii hyvin varsinaiseen kaapelijoukkoon ja testasin myös laatikon vedenkestävyyttä, kun kytkin, kaapelitiiviste ja kansi olivat päällä. (Kun se oli upotettu 24 tunniksi 6 tuuman veteen, sen sisällä oli hyvin vähän kosteutta. Haluaisin kutsua tämän laatikon "säänkestäväksi".)

Vaihe 7: Tuo voimaa

Tuo voimaa!
Tuo voimaa!
Tuo voimaa!
Tuo voimaa!
  • Määritä, kuinka paljon akkua ja kytkentäjohtoa tarvitset saavuttaaksesi Arduinoosi asettamalla karkeasti kaikki kolme komponenttia projektiruutuun. Leikkaa kytkimen ja 9 V: n akkuliittimen johdot. Kuori ja tina päät. Liu'uta lämpökutistetta paikalleen seuraavaan vaiheeseen.
  • Leikkaa nauhasta kaksi urospistoketta (mutta pidä ne kiinni toisistaan).
  • Juotos 9 V: n akkuliittimen punainen johto kytkimen toiseen päähän. Juotos kytkimen toinen pää urospistokkeeseen. Juotos musta akun johdin toiseen urosliittimen nastaan.
  • Kuten yllä olevasta kaaviosta näkyy, otsikkotapit menevät leipälevylle, jotta Nano saa virtaa VIN (positiivinen) ja GND (negatiivinen). VIN -tappi kestää 7–12 volttia. Jos aiot käyttää Arduinoa muulla kuin 9 V: n akulla, käytä toista syöttötappia.

Vaihe 8: Muokkaa nanoa tarvittaessa

Muuta nanoa tarvittaessa
Muuta nanoa tarvittaessa

Koska projektikoteloni oli melko matala, minun piti poistaa ICSP -otsikkotapit sopimaan. Nämä nastat ovat toissijainen käyttöliittymä Arduinon kanssa. Niiden poistaminen ei vahingoita Nanoasi, koska voit aina ladata skriptejä USB -portin kautta.

Huomautus: Jos Nano -laitteesi tarvitsi juotettavat otsatapit, jätä nämä nastat pois, kun kokoat Arduinoa.

Vaihe 9: Johto sisäpuolelle

Image
Image
Johto sisäpuolelle
Johto sisäpuolelle
Johto sisäpuolelle
Johto sisäpuolelle
  • Kiinnitä kaapeliläpivientiportti projektorilaatikkoon reikään, jonka porat. Jos olet hämmentynyt kaapeliläpiviennin käytöstä, tämä YouTubesta löytämäni video osoittaa, että yksi on koottava. (Pikakelaus eteenpäin 0:57.) Sinulla saattaa olla kumilevy. Tämä menee projektikotelon ja kaapelitiivisteen ulkomutterin väliin.
  • Kerää LED -johtimien löysät päät. Käytä tätä aikaa leikataksesi ne yhtä pitkiksi, kuori ja tinaa päät. Syötä päät kaapeliläpiviennin kannen läpi ja niputa päät yhteen lämpökutistussuikaleella, jättäen tarpeeksi pituutta päästäksesi laatikon sisäpuolella olevaan leipälautaan.
  • Vie langanippu kaapeliläpiviennin portin läpi projektikoteloon ja kierrä läpivientiholkkia lukitaksesi johdot paikalleen, mieluiten lämpökutisteen ympärille, jota käytit niputtamiseen yhteen.
  • Erota maadoitusjohdot positiivisista johtimista (muista, mitkä valitsit aiemmin). Juotos kaikki maadoitusjohdot yhteen yhteiseen maahan. Kiinnitä lyhyt lanka tästä joukosta ja lopeta se yhdellä urospäällä. Käytä lämpökutistusta paljaiden juotosliitosten suojaamiseen.
  • Juota urospäät kunkin positiivisen johdon päihin. Käytä jälleen lämpökutistusta.
  • Aseta positiiviset urosotsikot leipälautaan liittääksesi Arduinon PWM -nastoihin.
  • Aseta yhteinen maa leipälautaan niin, että se kulkee virranrajoitusvastuksen läpi ja sitten Arduinon GND: hen.
  • Aseta akku paikalleen ja aseta kytkin aiemmin poratun laatikon reiän läpi. Asenna kumialuslevy projektorirasian ja kierrekorkin väliin. Liitä virtajohdot leipälevyyn.
  • Napsauta tai ruuvaa kansi laatikkoon. Olet valmis!

Huomautus: Huomaa kaavioissa ja kehitysvaiheissa käytin yhtä virranrajoitusvastusta per LED. Tyypillisesti jokaisella LEDillä pitäisi olla oma vastus, kuten yleensä, useampi kuin yksi LED palaa kerralla. Koodi ei salli useamman kuin yhden LED -valon syttymistä kerrallaan, joten vain yhden vastuksen käyttäminen on hyvä Arduinon suojaamiseksi. Tämä säästää myös tilaa pienellä leipälevyllä tai juottaa aikaa jokaiselle LED-valolle linjavastuksella. Se sanoi… VAROITUS !!! Jos aiot muuttaa koodia niin, että useampi kuin yksi LED palaa kerrallaan, tarvitset erilliset vastukset kullekin LED -valolle.

Vaihe 10: Käytä sitä

Käytä sitä
Käytä sitä

Kiinnitä LED -valot pihasi kasveihin, aidoihin, vaaleanpunaisiin flamingoihin tai mihinkään tarrakiinnikkeillä tai kuumaliimalla. Käytä niitä sisällä työntämällä ne viinitelineisiin, verhojen taakse tai jopa ripustamalla johdot katosta 3D -kelluvaan efektiin pimeässä! Nämä olisivat hieno kosketus juhliin, häihin, elokuviin ja valokuvaukseen.

Vaihe 11: Siirry pidemmälle…

Kuten aiemmin todettiin, tämä on varhainen versio tästä projektista, mutta se on täynnä niin paljon potentiaalia! Käytä enemmän LED -valoja kytkemällä vuororekisteri (katso tästä JColvin91: n ohjeesta.) Sekoita koodilla lisätäksesi oman soihdun bugeihin. Jaa tekemäsi ja nauti !!

PÄIVITYS: Viimeisten kahden viikon aikana tämän Instructable -julkaisun jälkeen monet kirjoittajat ovat ehdottaneet loistavia parannuksia koodiin, laitteistoon ja tämän projektin toteuttamiseen. Suosittelen voimakkaasti, jos aiot rakentaa tämän, luet kommentit ja vastaukset saadaksesi ideoita siitä, miten tehdä nämä salamavirheet tavoilla, joita en suunnitellut. Avoimen lähdekoodin tekemisen hengessä otan mielelläni vastaan kaikki ideat, jotka auttavat kehittämään tätä projektia enemmän kuin luulin mahdolliseksi… ja kiitän kaikkia, jotka tekivät sen.

Mennä. Tehdä!!!

Suositeltava: