Kazalo:

Arduino Fireflies: 11 korakov (s slikami)
Arduino Fireflies: 11 korakov (s slikami)

Video: Arduino Fireflies: 11 korakov (s slikami)

Video: Arduino Fireflies: 11 korakov (s slikami)
Video: Arduino - Fireflies in a jar 2024, Julij
Anonim
Image
Image
Kaj boste potrebovali
Kaj boste potrebovali

Ena izmed stvari, ki se jih veselim poleti v Pensilvaniji, so kresnice na mojem dvorišču. Pred kratkim sem se naučil programiranja Adruino za ta preprost projekt. To je odličen program za začetek in dovolj preprost za vsakega programerja, začetnika do strokovnjaka, da ga sestavi, spremeni in se zabava v samo nekaj minutah. Začnimo.

Korak: Kaj boste potrebovali

Kaj boste potrebovali
Kaj boste potrebovali

Če želite, da vaše napake utripajo, potrebujete te komponente:

  • Arduino. Začel sem z Nano, vendar bo ustrezal kateri koli mikro krmilnik, združljiv z Arduinom.
  • Rumene LED diode, 5 mm. Uporabite jih lahko do 6.
  • Upori. Za omejitev toka boste potrebovali en upor na LED. Uporabil sem 470 ohmov, vendar bi moralo biti vse nad 150 ohmov v redu za zaščito vašega mikrokrmilnika.
  • Ogledna plošča.
  • Mostična žica.

Za dokončanje projekta vašega dvorišča boste potrebovali:

  • Vremensko odporna projektna škatla.
  • 9-voltna baterija s priključkom. (Glejte opombe na dnu tega razdelka.)
  • Preklopite. (Izbral sem ta vodotesna stikala. Če tega ne uporabljate zunaj, bo katero koli stikalo ustrezalo.)
  • Nekaj jardov žice za namestitev LED diod po vrtu. Uporabil sem približno 10 čevljev Ethernet žice Cat5 na LED.
  • Majhna plošča ali kakšna deska.
  • Kabelska uvodnica, odporna na vremenske vplive, skozi katero vodijo LED žice. (Če tega ne uporabljate tudi zunaj, lahko to izpustite.)
  • Termoskrčljive cevi za zaščito vaših zadnjic LED hroščev.
  • Zeleni trakovi s kavlji in zankami (tj. Velkro) za pritrditev LED kresnic na rastline in stebre na vašem vrtu.
  • Moške glave za priključitev komponent na majhno ploščo.

Orodja:

  • Vrtalniki za škatlo projekta. (Izkoristite to priložnost, da si naredite lep korak. Veseli boste, da ste to storili).
  • Pištola za vroče lepilo.
  • Spajkalnik.
  • Rotacijsko orodje (npr. Dremel) za rezanje prostora v projektni škatli, če ga potrebujete.

Nekaj opomb tukaj:

1. Izbira baterije je bila za hiter in enostaven zagon. Trajna uporaba 9-voltne baterije je nekoliko potratna. Za daljšo življenjsko dobo raje uporabite držalo za baterije 4x AA (vendar boste potrebovali večjo škatlo, v katero ga boste namestili).

2. Če se odločite za razgradnjo kabla Ethernet Ether 5 za žice, se prepričajte, da so iz bakrenega jedra in jih lepo ovijete okoli PVC -ja, da bodo med delom ohranjeni. Spet sem uporabil približno 10 čevljev žice na LED. Če želite luči razširiti daleč naokoli, vsekakor uporabite daljše žice!

3. Nazadnje so vse povezave, ki sem jih navedel, zgolj predlogi. Preden zgradite ali kupite karkoli, preberite celotno navodilo, saj boste bolje razumeli, kako želite osebno nadaljevati.

2. korak: Zgradite vezje

Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje

Ta projekt uporablja zatiče za modulacijo širine impulza na vašem Arduinu. Mikro krmilnik ima 6 teh zatičev, zato jih lahko uporabite, kolikor želite. Vezje je precej naravnost. Priključite vso moč iz zatičev D3, D5, D6, D9, D10 in D11 za impulzne širinske modulacije (PWM) na pozitivne konce LED. Negativne konce povežite z upori in nato na skupno ozemljitev. (Upori lahko gredo pred ali za LED. Ni razlike, razen če se želite zavarovati pred kratkimi stiki pri višjih tokovih.) Priložil sem nekaj shem za ožičenje. (Diagrami so bili ustvarjeni s programsko opremo za oblikovanje Fritzing.)

3. korak: Koda

Image
Image

Če ste izkušen programer, se vam bo ta koda poenostavila. To je odlična koda za začetek učenja, saj vas seznani z uporabo spremenljivk, pinmodov, funkcij in celo generatorja naključja. Koda ni tako kompaktna, kot je lahko, prepričan sem, da je enak učinek mogoče doseči z matrikami itd.

Pripombe kode opisujejo logiko vsakega razdelka. Celotna koda je vdelana tukaj in skico lahko prenesete spodaj.

/*

Ta skript utripa 6 LED (seveda rumenih) v naključnem vrstnem redu v naključnih intervalih s pomočjo PWM. Vsako LED diodo nadzira lastna funkcija. */ int led1 = 3; // LED priključen na PWM pin 3 itd. Uporabil sem vseh 6 pin PWM. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; dolg randnum; // randnum nadzoruje časovni interval med bliski in dolgim randbugom; // randbug nadzoruje, katera hrošč zasveti. void setup () {pinMode (led1, OUTPUT); // Nastavitev vseh izhodov PWM za izhode. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = naključno (3, 12); // randbug naključno izbere funkcijo za izvedbo, // tako naključno izbere hrošča, ki se prižge. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Vsaka od teh funkcij deluje na enak način. 'za zanke' povečajte in nato zmanjšajte * izhod tega zatiča za nadzor svetlosti LED. * 'randnum' je naključni časovni interval med 10 in 3000 ms * in izbere časovni interval med utripanjem hroščev. * 'zakasnitev 10' je samo za učinek zbledi. */ void bug1 () {randnum = naključno (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); zamuda (10); } zamuda (randnum); } void bug2 () {randnum = naključno (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); zamuda (10); } zamuda (randnum); } void bug3 () {randnum = naključno (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); zamuda (10); } zamuda (randnum); } void bug4 () {randnum = naključno (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); zamuda (10); } zamuda (randnum); } void bug5 () {randnum = naključno (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); zamuda (10); } zamuda (randnum); } void bug6 () {randnum = naključno (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); zamuda (10); } zamuda (randnum); }

4. korak: Zgradite škatlo

Gradimo zadnjice!
Gradimo zadnjice!

Ko svoj Arduino označite s kodo in svoje kresnice delujete tako, kot želite, jih boste morda želeli postaviti na vrt; to pomeni projektno škatlo in nekaj toplotnega krčenja, da ostanejo Arduino in LED suhi. Naredimo!

5. korak: Ustvarite napake

Gradimo zadnjice!
Gradimo zadnjice!
Gradimo zadnjice!
Gradimo zadnjice!
Gradimo zadnjice!
Gradimo zadnjice!
  • Odrežite LED vodnike do približno 5 mm.
  • Odstranite in pokosite konce žic, ki jih uporabljate, tudi približno 5 mm.
  • Po vsakem koncu žice potisnite 1 mm toplotno skrčljivo cev.
  • Spajkajte LED na žico. (Na tej točki bi morali izbrati, katera žica v vašem paru bo vaša pozitivna in katera negativna. Jaz sem izbrala trdno žico kot pozitivno, belo pa kot negativno. Ohranite to strategijo skozi projekt, da se pozneje ne boste glavoboli!)
  • Toplotno krčenje potisnite do konca po goli žici in LED vodilih. Zaženite hiter plamen, da jih skrčite do žic.
  • Potisnite še en kos toplotno skrčljivega dioda preko LED in žic z LED lečo, ki štrlijo na koncu, in ga stopite na mestu.
  • Na žico potisnite nekaj kosov toplotno skrčene žice skozi celotno dolžino in jo stopite na vsakih nekaj čevljev, da bo žica urejena.

6. korak: Pripravite škatlo za projekt

Pripravite škatlo za projekt
Pripravite škatlo za projekt
Pripravite škatlo projekta
Pripravite škatlo projekta
  • Z vrtljivim orodjem z brusnim bobnom očistite vso nepotrebno plastiko v škatli za projekt. (Pazite, da ne odrežete vijačnih nosilcev, ki jih boste morda morali znova sestaviti.)
  • Odločite se, kje želite stikalo in LED žice. Predlagam strani, vendar uporabite tisto, kar vam ustreza.
  • S svedrom ustrezne velikosti naredite luknje za kabelsko uvodnico in stikalo.

Opomba: Na zgornji fotografiji boste videli, da sem naredil "lažni kabel". To je sveženj 6 parov žice, ki sem jo uporabil za LED s toplotno krčenjem, da jih povežem. Uporabil sem ga, da sem se prepričal, da se kabelska uvodnica lepo prilega dejanskemu sklopu kablov, in tudi, da preizkusim vodoodpornost škatle, ko so stikalo, kabelska uvodnica in pokrov vklopljeni. (Ko je bil 24 ur potopljen v 6 palcev vode, je bilo v njem zelo malo vlage. Z veseljem bi to škatlo poimenoval "vremensko odporna".)

7. korak: Prinesite moč

Prinesite moč!
Prinesite moč!
Prinesite moč!
Prinesite moč!
  • Določite, koliko baterije in stikalne žice boste potrebovali, da dosežete svoj Arduino, tako da vse tri komponente okvirno postavite v škatlo za projekt. Odrežite žice stikala in 9V konektor akumulatorja. Odstranite in kosite konce. Za naslednji korak vstavite toplotno skrčenje.
  • S traku odrežite dva moška zatiča za glavo (vendar ju držite skupaj).
  • Rdeči kabel priključka 9V baterije spajkajte na en konec stikala. Drugi konec stikala spajkajte na moški zatič glave. Črni kabel akumulatorja spajkajte na drugi moški zatič glave.
  • Kot je prikazano na zgornjem diagramu, bodo zatiči glave šli v mizo za napajanje Nano pri VIN (pozitivno) in GND (negativno). VIN pin lahko prenese 7 do 12 voltov. Če nameravate Arduino napajati na način, ki ni 9V baterija, uporabite drug napajalni zatič.

8. korak: Po potrebi spremenite Nano

Po potrebi spremenite Nano
Po potrebi spremenite Nano

Ker je bila moja projektna škatla precej plitka, sem moral odstraniti zatiče glave ICSP, da so se prilegali. Ti zatiči so sekundarni vmesnik z vašim Arduinom. Če jih odstranite, ne boste poškodovali Nano, saj lahko skripte vedno naložite skozi vrata USB.

Opomba: Če je vaš Nano potreboval spajkanje zatičev glave, jih pri sestavljanju Arduina preprosto izpustite.

9. korak: Ožičite notranjost

Image
Image
Ožičite notranjost
Ožičite notranjost
Ožičite notranjost
Ožičite notranjost
  • Odprtino za kabelsko uvodnico pritrdite na škatlo projekta v luknji, ki ste jo izvrtali. Če ste zmedeni glede uporabe kabelske uvodnice, ta videoposnetek, ki sem ga našel na YouTubu, prikazuje, kako se sestavlja. (hitro naprej do 0:57.) Vaš ima morda gumijasto podložko. To gre med projektno škatlo in zunanjo matico kabelske uvodnice.
  • Zberite ohlapne konce žic LED. Vzemite si čas, da jih obrežete na enako dolžino, konce odstranite in kosite. Konce napeljite skozi pokrovček kabelske uvodnice in s kosom toplote skrčite konce skupaj, pri čemer pustite dovolj dolžine, da doseže ohišje na notranji strani škatle.
  • Žico žice vstavite skozi odprtino za kabelske uvodnice v škatlo za projekt in zasukajte pokrovček uvodnice, da se žice zaskočijo, po možnosti okrog toplotno skrčenega materiala, ki ste ga uporabili za povezovanje.
  • Ločite ozemljitvene žice od pozitivnih žic (ne pozabite, katere ste izbrali prej). Spajite vse ozemljitvene žice v eno skupno maso. S tega grozda pritrdite kratko žico in jo dokončajte z 1 moško glavo. Za zaščito golih spajkalnih spojev uporabite toplotno skrčljivo.
  • Spajate moške glave na koncih vsake pozitivne žice. Ponovno uporabite toplotno skrčenje.
  • Vstavite moške glave pozitivnega konca v ploščo, da se povežete z zatiči PWM na Arduinu.
  • Skupno podlago vstavite v ploščo, tako da gre skozi upor za omejevanje toka in nato do GND na Arduinu.
  • Vstavite baterijo in vstavite stikalo skozi luknjo v škatli, ki ste jo prej izvrtali. Gumijasto podložko namestite med škatlo za projekt in pokrovček z vijakom. Priključite napajalne kable v mizo.
  • Pokrov pritrdite ali privijte na škatlo. Končal si!

Opomba: Opomba v shemah in v razvojnih fazah sem uporabil en upor za omejevanje toka na LED. Običajno mora imeti vsaka LED svoj upor, saj običajno sveti več LED hkrati. Koda ne dovoljuje, da se hkrati prižge več kot ena LED, zato je za zaščito Arduina v redu uporabiti samo en upor. To tudi prihrani prostor na majhni plošči ali čas spajkanja vsake LED z linijskim uporom. To je reklo … OPOZORILO !!! Če nameravate kodo spremeniti tako, da hkrati sveti več LED, boste za vsako LED potrebovali ločene upore.

10. korak: Uporabite ga

Uporabi
Uporabi

Uporabite Velcro trakove ali vroče lepilo, da LED pritrdite na rastline, ograje, rožnate flaminge ali karkoli drugega na vašem dvorišču. Uporabite jih tako, da jih spravite v stojala za vino, za zavese ali celo obesite žice s stropa za 3D plavajoči učinek v temi! To bi bil odličen dotik za zabave, poroke, film in fotografijo.

11. korak: Nadaljujte…

Kot smo že omenili, je to zgodnja različica tega projekta, vendar je polna toliko potenciala! Zaženite več LED diod tako, da priključite register premikov (glejte ta navodila, ki jih je izvedel JColvin91, če želite izvedeti, kako.) Dodajte senzor svetlobe, sončni polnilnik in časovnik za funkcijo "nastavi in pozabi"! Zapletite se s kodo, če želite hroščem dodati svoj lasten znak. Delite, kar izdelate, in uživajte !!

Posodobitev: V zadnjih dveh tednih, odkar je bil ta Instructable objavljen, so številni sodelavci predlagali briljantne izboljšave kode, strojne opreme in izvedbe tega projekta. Močno vam svetujem, če nameravate to zgraditi, preberete komentarje in odgovore za ideje, kako narediti te strelovodne hrošče na načine, ki jih nisem načrtoval. V duhu odprtokodnosti sprejemam vse ideje, ki pomagajo pri razvoju tega projekta v več, kot sem mislil, da je mogoče … in se zahvaljujem vsem, ki so mi to omogočili.

Pojdi. Naredite !!!

Priporočena: