Sisukord:

Arduino Fireflies: 11 sammu (piltidega)
Arduino Fireflies: 11 sammu (piltidega)

Video: Arduino Fireflies: 11 sammu (piltidega)

Video: Arduino Fireflies: 11 sammu (piltidega)
Video: Энкодер + arduino - вращение с нажатием, нажатие, длинное нажатие и вращение без нажатия. 2024, Juuli
Anonim
Image
Image
Mida vajate
Mida vajate

Üks asi, mida ma Pennsylvania suvedega ootan, on tulekolded minu tagahoovis. Hiljuti õpetasin endale Adruino programmeerimist selle lihtsa projekti tegemiseks. See on suurepärane programm alustamiseks ja on piisavalt lihtne igale programmeerijale, algajale asjatundjale, vaid mõne minutiga ehitada, muuta ja lõbutseda. Alustame.

Samm: mida vajate

Mida vajate
Mida vajate

Vigade vilkumiseks vajate järgmisi komponente:

  • Arduino. Alustasin Nanoga, kuid iga Arduino ühilduv mikrokontroller teeb seda.
  • Kollased LED -id, 5 mm. Saate neid kasutada kuni 6.
  • Takistid. Voolu piiramiseks vajate ühte takisti LED -i kohta. Ma kasutasin 470 oomi, kuid kõik, mis ületab 150 oomi, peaks teie mikrokontrolleri kaitsmiseks sobima.
  • Leivalaud.
  • Jumper traat.

Oma koduaia projekti lõpuleviimiseks vajate:

  • Ilmastikukindel projektikarp.
  • 9-voldine aku koos pistikuga. (Palun vaadake märkusi selle jaotise allservas.)
  • Lüliti. (Valisin need veekindlad lülitid. Kui te seda väljaspool ei kasuta, sobib iga lüliti.)
  • Mõne meetri traat LED -ide paigutamiseks aia ümber. LED -i kohta kasutasin umbes 10 jalga Cat5 Etherneti traati.
  • Väike leivalaud või mõni perf -laud.
  • Ilmastikukindel kaablitihend, mille kaudu LED -juhtmed jooksevad. (Võite selle välja jätta, kui te seda ka väljaspool ei kasuta.)
  • Kuumalt kokkutõmbuvad torud, et kaitsta oma LED -i vigu.
  • Rohelised konks- ja silmusribad (st takjapaelad), et kinnitada LED-tulekärnad teie aia taimedele ja postidele.
  • Meeste päised komponentide ühendamiseks väikese leivalauaga.

Tööriistad:

  • Proovikarbi puurid. (Kasutage seda võimalust, et saada endale kena samm-sammult. Teil on hea meel, et tegite).
  • Kuum liimipüstol.
  • Jootekolb.
  • Pöördtööriist (st Dremel), et vajadusel projektikastis ruumi välja lõigata.

Mõned märkused siin:

1. Aku valik oli kiire ja lihtne käivitamine. 9-voldise aku püsiv kasutamine on natuke raiskav. Pikema eluea jaoks on parem kasutada 4x AA patareipesa (kuid selle mahutamiseks on vaja suuremat projektikarpi).

2. Kui otsustate Cat 5 Etherneti kaabli lahti ühendada juhtmete jaoks, veenduge, et need on vasksüdamikud, ja mähkige need korralikult ümber mõne PVC, et hoida need töö ajal korrastatuna. Jällegi kasutasin LED -i kohta umbes 10 jalga traati. Kui soovite tuled laiali laotada, kasutage igal juhul pikemaid juhtmeid!

3. Lõpuks on kõik minu esitatud lingid vaid soovitused. Palun lugege kogu see juhend läbi, enne kui midagi ehitate või ostate, sest saate paremini aru, kuidas soovite isiklikult jätkata.

Samm: ehitage vooluring

Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring

See projekt kasutab teie Arduino impulsi laiuse moduleerimise tihvte. Mikrokontrolleril on 6 sellist tihvti ja võite kasutada nii palju kui soovite. Ring on üsna sirgelt edasi. Ühendage kogu toide impulsi laiuse moduleerimise (PWM) tihvtidest D3, D5, D6, D9, D10 ja D11 oma LED -de positiivsetesse otstesse. Ühendage negatiivsed otsad takistite külge ja seejärel ühisesse maandusse. (Takistid võivad minna LED -i ette või taha. Sellel pole mingit vahet, kui te ei soovi kaitsta kõrgema voolu lühiste eest.) Lisasin juhtmestiku abistamiseks mõned skeemid. (Diagrammid on loodud Fritzzi disainitarkvara abil.)

3. samm: kood

Image
Image

Kui olete kogenud programmeerija, leiate selle koodi lihtsustatult. See on suurepärane kood õppimise alustamiseks, kuna see tutvustab teile muutujate, pinmode, funktsioonide ja isegi juhusliku generaatori kasutamist. Kood pole nii kompaktne kui see võib olla, kuna olen kindel, et sama efekti saab saavutada massiividega jne.

Koodikommentaarid sätestavad iga jaotise loogika. Kogu kood on siia manustatud ja saate alla laadida visandi allpool.

/*

See skript vilgutab 6 LED -i (muidugi kollane) juhuslikus järjekorras juhuslike intervallidega, kasutades PWM -i. Iga LED -i juhib oma funktsioon. */ int led1 = 3; // LED on ühendatud PWM tihvtiga 3 jne. Kasutasin kõiki 6 PWM tihvti. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; pikk randnum; // randnum kontrollib ajavahemikku välkude ja pika randbugi vahel; // randbug kontrollib, milline viga süttib. void setup () {pinMode (led1, VÄLJUND); // Kõigi PWM -nööpnõelte seadistamine väljunditeks. pinMode (led2, OUTPUT); pinMode (led3, VÄLJUND); pinMode (led4, OUTPUT); pinMode (led5, VÄLJUND); pinMode (led6, VÄLJUND); } void loop () {randbug = juhuslik (3, 12); // randbug valib juhuslikult täitmisfunktsiooni, // seega valib juhuslikult süttiva vea. kui (randbug == 3) {bug1 (); } kui (randbug == 5) {bug2 (); } kui (randbug == 6) {bug3 (); } kui (randbug == 9) {bug4 (); } kui (randbug == 10) {bug5 (); } kui (randbug == 11) {bug6 (); }} / * * Kõik need funktsioonid toimivad ühtemoodi. "silmuste jaoks" suureneb ja seejärel väheneb * selle tihvti väljund, et juhtida LED -i heledust. * 'randnum' on juhuslik ajavahemik 10 kuni 3000 ms * ja valib ajavahemiku vea vilkumise vahel. * 'viivitus 10' on lihtsalt tuhmumise efekti jaoks. */ void bug1 () {randnum = juhuslik (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); viivitus (10); } viivitus (randnum); } void bug2 () {randnum = juhuslik (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); viivitus (10); } viivitus (randnum); } void bug3 () {randnum = juhuslik (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); viivitus (10); } viivitus (randnum); } void bug4 () {randnum = juhuslik (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); viivitus (10); } viivitus (randnum); } void bug5 () {randnum = juhuslik (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); viivitus (10); } viivitus (randnum); } void bug6 () {randnum = juhuslik (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); viivitus (10); } viivitus (randnum); }

Samm: ehitage kast

Ehitusvigade tagumikud!
Ehitusvigade tagumikud!

Kui olete oma Arduino koodiga vilgutanud ja oma tulekärbsed soovitud viisil tööle pannud, võiksite need aeda panna; see tähendab projektikarpi ja mõningast kuumuse kokkutõmbumist, et hoida Arduino ja LED -id kuivad. Teeme!

Samm 5: Ehita Bug Butts

Ehitusvigade tagumikud!
Ehitusvigade tagumikud!
Ehitusvigade tagumikud!
Ehitusvigade tagumikud!
Ehitusvigade tagumikud!
Ehitusvigade tagumikud!
  • Kärpige LED -i läbimõõt umbes 5 mm.
  • Eemaldage ja tinake kasutatavate juhtmete otsad, ka umbes 5 mm.
  • Libistage 1 mm termokahanev toru üle iga juhtmeotsa.
  • Jootke LED juhtme külge. (Siinkohal peaksite valima, milline traat teie paarist on teie positiivne ja milline negatiivne. Valisin kindla juhtme positiivseks ja valge traadi negatiivseks. Säilitage see strateegia kogu projekti vältel, et vältida peavalu hiljem!)
  • Lükake kuumuse kahanemine täielikult üle palja juhtme ja LED -juhtmete. Laske neil kiire leek, et need juhtmeteks kokku tõmbuks.
  • Libistage veel üks kuumakahandustükk üle LED -i ja juhtmete, nii et LED -lääts jääb otsast välja ja sulatage see kohale.
  • Lükake paar kuumakahandustükki juhtmele läbi kogu pikkuse ja sulatage see iga paari jala tagant, et traat oleks korras.

6. samm: valmistage ette projektikast

Valmistage ette projektikast
Valmistage ette projektikast
Valmistage ette projektikast
Valmistage ette projektikast
  • Kasutage lihvimistrumliotsikuga pöörlevat tööriista, et puhastada projektikarbis olev mittevajalik plast. (Olge ettevaatlik ja ärge lõigake ära kruvikinnitusi, mis võivad osutuda vajalikuks karbi kokku panemiseks.)
  • Otsustage, kus soovite oma lülitit ja LED -juhtmed välja tulla. Ma soovitan külgi, kuid kasutage seda, mis kunagi sobib teie vajadustega.
  • Kasutage kaabli tihendi ja lüliti jaoks aukude tegemiseks sobiva suurusega puurit.

Märkus. Ülaltoodud fotol näete, et tegin "näivkaabli". See on 6 paari juhtmest koosnev kimp, mida ma kasutasin kuumuse kokkutõmbumiseks mõeldud LED -ide jaoks, et need kokku panna. Kasutasin seda veendumaks, et kaablitihend sobiks kenasti tegeliku kaablikimbuga, ja katsetasin ka karbi veekindlust, kui lüliti, kaablitihend ja kaas olid peal. (Pärast seda, kui see oli 24 tundi 6-tollises vees sukeldatud, oli selle sees väga vähe niiskust. Ma nimetaksin seda kasti hea meelega ilmastikukindlaks.)

Samm: tooge jõud

Võta võim kaasa!
Võta võim kaasa!
Võta võim kaasa!
Võta võim kaasa!
  • Määrake, kui palju akut ja lülitusjuhet vajate oma Arduino juurde jõudmiseks, paigutades kõik kolm komponenti projekti kasti. Katkestage lüliti ja 9V aku pistiku juhtmed. Riba ja tina otsad. Järgmise sammu jaoks lükake veidi kokku kahanemist.
  • Lõika ribalt ära kaks isast päise tihvti (kuid hoia need omavahel kinni).
  • Jootke 9V aku pistiku punane juhe lüliti ühte otsa. Jootke lüliti teine ots isase otsiku tihvti külge. Jootke must akujuhe teise isase otsiku tihvti külge.
  • Nagu ülaltoodud diagrammil näidatud, lähevad päise tihvtid leivaplaadile, et toita Nano VIN -i (positiivne) ja GND (negatiivne) juures. VIN -tihvt saab hakkama 7–12 voltiga. Kui kavatsete oma Arduino toita muul viisil kui 9 V patareiga, kasutage teist toitepistikut.

Samm: vajadusel muutke nanot

Vajadusel muutke nanot
Vajadusel muutke nanot

Kuna minu projektikarp oli üsna madal, pidin ma sobitamiseks eemaldama ICSP päise tihvtid. Need tihvtid on teie Arduinoga sekundaarne liides. Nende eemaldamine ei kahjusta teie Nano, kuna saate skripte alati USB -pordi kaudu laadida.

Märkus. Kui teie Nano tuli jootma päisepoldid, jätke need tihvtid Arduino kokkupanekul lihtsalt vahele.

Samm 9: ühendage sisemus juhtmega

Image
Image
Juhtme sisekülg
Juhtme sisekülg
Juhtme sisekülg
Juhtme sisekülg
  • Kinnitage kaablitihendi port projekti kasti auku, mille te selle jaoks puurisite. Kui olete segaduses kaablitihendi kasutamisega, näitab see YouTube'is leitud video, kuidas üks on kokku pandud. (edasi kerides 0:57.) Teil võib olla kummipesur. See läheb projektikarbi ja kaablitihendi välismutri vahele.
  • Koguge LED -juhtmete lahtised otsad kokku. Võtke see aeg, et lõigata need võrdseks pikkuseks, ribad ja tina otsad. Viige otsad läbi kaablitihendi korgi ja kasutage termokahaneva tüki abil otsad kokku, jättes piisavalt pikkust, et jõuda karbi siseküljel asuva leivaplaadini.
  • Viige juhtmekimp läbi kaablitihendi porti projektikarpi ja keerake tihenduskorki, et juhtmed oma kohale lukustada, eelistatavalt nende kokkutõmbamise ümbruse ümbruse ümber.
  • Eraldage maandusjuhtmed positiivsetest juhtmetest (pidage meeles, millised valisite varem). Jootke kõik maandusjuhtmed kokku üheks ühiseks maanduseks. Kinnitage sellest hunnikust lühike traat ja lõpetage see 1 isase päisega. Paljaste jootekohtade kaitsmiseks kasutage termokahanemist.
  • Jootke isased päised iga positiivse juhtme otstesse. Jällegi kasutage termokahanevat.
  • Arduino PWM -tihvtidega ühendamiseks sisestage positiivse otsa isased päised leivalauale.
  • Sisestage ühisosa leivaplaadile nii, et see läbiks voolu piirava takisti ja seejärel Arduino GND -le.
  • Asetage aku sisse ja asetage lüliti läbi varem puuritud karbi augu. Paigaldage kummist seib projektikarbi ja keeratava korgi vahele. Ühendage toitejuhtmed leivaplaadiga.
  • Klõpsake või keerake kaas karbile. Sa oled valmis!

Märkus: Märkus skeemidel ja arendusetappides kasutasin LED -i kohta ühte voolu piiravat takistit. Tavaliselt peaks iga LED saama oma takisti, tavaliselt süttib korraga rohkem kui üks LED. Kood ei võimalda korraga süttida rohkem kui ühte LED -i, seega on Arduino kaitsmiseks hea kasutada ainult ühte takistit. See säästab ka ruumi väikesel leivaplaadil või aega iga LED-i jootmiseks reastatakistiga. See ütles… HOIATUS !!! Kui kavatsete koodi muuta nii, et korraga süttib rohkem kui üks LED, vajate iga LED jaoks eraldi takistit.

Samm: kasutage seda

Kasuta seda
Kasuta seda

Kasutage takjapaelu või kuuma liimi, et kinnitada LED -id taimedele, aedadele, roosadele flamingodele või muule oma õue. Kasutage neid sees, toppides need veiniriiulitesse, kardinate taha või riputage juhtmed laest 3D -ujuva efekti saavutamiseks pimedas! See oleks suurepärane puudutus pidude, pulmade, filmi ja fotograafia jaoks.

Samm: kaugemale minek…

Nagu varem öeldud, on see selle projekti varajane versioon, kuid see on täis nii palju potentsiaali! Käivitage rohkem valgusdioode, ühendades vahetuste registri (vaadake seda JColvin91 juhendit, et teada saada, kuidas seda teha.) Lisage valgusandur, päikeseenergia laadija ja taimer funktsiooni "seadista ja unusta see" jaoks! Vigade lisamiseks saatke koodiga segadus. Jagage oma tegemisi ja nautige !!

UPDATE: Viimase kahe nädala jooksul pärast selle juhendi avaldamist on paljud kaastöötajad soovitanud selle projekti koodi, riistvara ja teostuse hiilgavaid täiustusi. Soovitan tungivalt, kui kavatsete selle üles ehitada, lugege läbi kommentaarid ja vastused, et saada ideid, kuidas teha neid välkkiireid viisil, mida ma ei plaaninud. Ma tervitan avatud lähtekoodiga tegelemise vaimus kõiki ideid, mis aitavad arendada seda projekti rohkem, kui ma arvasin võimalikuks … ja ma tänan kõiki, kes selle teoks tegid.

Mine. Tegema!!!

Soovitan: