Turinys:

„Arduino Fireflies“: 11 žingsnių (su nuotraukomis)
„Arduino Fireflies“: 11 žingsnių (su nuotraukomis)

Video: „Arduino Fireflies“: 11 žingsnių (su nuotraukomis)

Video: „Arduino Fireflies“: 11 žingsnių (su nuotraukomis)
Video: Arduino fireflies 2024, Birželis
Anonim
Image
Image
Ko jums reikės
Ko jums reikės

Vienas iš dalykų, kurių laukiu vasarą Pensilvanijoje, yra ugniažolės mano kieme. Neseniai mokiausi Adruino programuoti, kad galėčiau sukurti šį paprastą projektą. Tai puiki programa, nuo kurios pradėti, ir pakankamai paprasta bet kuriam programuotojui, pradedantiesiems ekspertams, sukurti, modifikuoti ir linksmintis vos per kelias minutes. Pradėkime.

1 žingsnis: ko jums reikės

Ko jums reikės
Ko jums reikės

Kad jūsų klaidos mirksėtų, jums reikės šių komponentų:

  • Arduino. Pradėjau nuo „Nano“, tačiau tiks bet kuris su „Arduino“suderinamas mikrovaldiklis.
  • Geltoni šviesos diodai, 5 mm. Galite naudoti iki 6 iš jų.
  • Rezistoriai. Norint apriboti srovę, jums reikės vieno rezistoriaus vienam šviesos diodui. Aš naudojau 470 omų, bet viskas, kas viršija 150 omų, turėtų būti gerai, kad apsaugotų jūsų mikrovaldiklį.
  • Bandomoji Lenta.
  • Jumperio viela.

Norėdami užbaigti savo kiemo projektą, jums reikės:

  • Projektavimo dėžutė, atspari orui.
  • 9 voltų baterija su jungtimi. (Žiūrėkite pastabas šio skyriaus apačioje.)
  • Perjungti. (Aš pasirinkau šiuos vandeniui atsparius jungiklius. Jei nenaudojate to lauke, tiks bet kuris jungiklis.)
  • Keli metrai vielos, kad šviesos diodai būtų išdėstyti aplink sodą. Vienam šviesos diodui sunaudojau apie 10 pėdų „Cat5 Ethernet“laido.
  • Maža duonkepė arba kokia nors lentelė.
  • Atsparus oro sąlygoms kabelių sandariklis, per kurį eina LED laidai. (Galite to praleisti, jei nenaudojate to ir lauke.)
  • Šilumos susitraukiantys vamzdeliai, apsaugantys jūsų LED klaidas.
  • Žalios kablio ir kilpos (t. Y. Velcro) juostelės, skirtos pritvirtinti šviesos diodus ant jūsų sodo augalų ir stulpų.
  • Vyriškos antraštės, skirtos prijungti komponentus prie mažos duonos lentos.

Įrankiai:

  • Gręžtuvai projekto dėžutei. (Pasinaudokite šia proga, kad gautumėte gražų žingsnelį. Jums bus malonu, kad tai padarėte).
  • Karštas klijų pistoletas.
  • Lituoklis.
  • Sukamasis įrankis (pvz., „Dremel“), skirtas prireikus iškirpti erdvę projekto dėžutėje.

Keletas pastabų čia:

1. Baterija buvo pasirinkta greitai ir lengvai paleisti. Nuolatinis 9 voltų baterijos naudojimas yra šiek tiek švaistomas. Ilgesniam tarnavimo laikui geriau naudoti 4x AA baterijų laikiklį (tačiau jums reikės didesnės projekto dėžutės, į kurią tilpsite).

2. Jei pasirinksite dekonstruoti „Cat 5“eterneto kabelį laidams, įsitikinkite, kad jie yra vario šerdis, ir tvarkingai apvyniokite juos aplink tam tikrą PVC, kad dirbdami jie būtų tvarkingi. Vėlgi, kiekvienam šviesos diodui sunaudojau apie 10 pėdų vielos. Jei norite skleisti šviesas toli ir plačiai, būtinai naudokite ilgesnius laidus!

3. Galiausiai visos mano pateiktos nuorodos yra tik pasiūlymai. Prieš statydami ar pirkdami ką nors, perskaitykite visą šią instrukciją, nes geriau suprasite, kaip norėtumėte tęsti asmeniškai.

2 žingsnis: sukurkite grandinę

Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę

Šiame projekte jūsų „Arduino“naudojami impulsų pločio moduliavimo kaiščiai. Mikrovaldiklis turi 6 iš šių kaiščių ir galite naudoti tiek, kiek norite. Grandinė gana tiesiai į priekį. Prijunkite visą galią nuo impulsų pločio moduliacijos (PWM) kaiščių D3, D5, D6, D9, D10 ir D11 prie teigiamų šviesos diodų galų. Prijunkite neigiamus galus prie rezistorių, o tada į bendrą žemę. (Rezistoriai gali eiti prieš arba už šviesos diodo. Nėra jokio skirtumo, nebent norite apsisaugoti nuo trumpojo jungimo esant didesnėms srovėms.) Įtraukiau keletą schemų, padedančių sujungti laidus. (Diagramos sukurtos naudojant „Fritzing“projektavimo programinę įrangą.)

3 žingsnis: Kodas

Image
Image

Jei esate patyręs programuotojas, šis kodas bus supaprastintas. Tai puikus kodas pradėti mokytis, nes jis supažindina jus su kintamųjų, „pinmode“, funkcijų ir net atsitiktinių generatorių naudojimu. Kodas nėra toks kompaktiškas, koks gali būti, nes esu tikras, kad tą patį efektą galima pasiekti naudojant masyvus ir pan.

Kodo komentarai pateikia kiekvieno skyriaus logiką. Visas kodas yra įterptas čia, o eskizą galite atsisiųsti žemiau.

/*

Šis scenarijus atsitiktine tvarka, naudojant PWM, mirksi 6 šviesos diodais (žinoma, geltonais). Kiekvienas šviesos diodas valdomas pagal savo funkciją. */ int led1 = 3; // Šviesos diodas prijungtas prie PWM kaiščio 3 ir tt Aš naudojau visus 6 PWM kaiščius. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; ilgas randnum; // randnum kontroliuoja laiko intervalą tarp blyksnių ir ilgo randbugo; // randbug valdo, kuri klaida užsidega. void setup () {pinMode (led1, OUTPUT); // Visų PWM kaiščių nustatymas kaip išėjimai. pinMode (led2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (led4, OUTPUT); pinMode (LED5, OUTPUT); pinMode (LED6, OUTPUT); } void loop () {randbug = atsitiktinis (3, 12); // randbug atsitiktinai pasirenka funkciją, kurią įvykdyti, // taip atsitiktinai pasirenka klaidą, kurią uždegs. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Kiekviena iš šių funkcijų veikia vienodai. „kilpoms“padidinkite, tada sumažinkite * to kaiščio išvestį, kad valdytumėte šviesos diodų ryškumą. * „randnum“yra atsitiktinis laiko intervalas nuo 10 iki 3000 ms * ir pasirenka laiko tarpą tarp klaidų. * „uždelsimas 10“skirtas tik išblukimo efektui. */ void bug1 () {randnum = atsitiktinis (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); vėlavimas (10); } uždelsimas (randnum); } void bug2 () {randnum = atsitiktinis (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); vėlavimas (10); } uždelsimas (randnum); } void bug3 () {randnum = atsitiktinis (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); vėlavimas (10); } uždelsimas (randnum); } void bug4 () {randnum = atsitiktinis (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); vėlavimas (10); } uždelsimas (randnum); } void bug5 () {randnum = atsitiktinis (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); vėlavimas (10); } uždelsimas (randnum); } void bug6 () {randnum = atsitiktinis (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); vėlavimas (10); } uždelsimas (randnum); }

4 žingsnis: sukurkite dėžutę

Statybos klaidų užpakalis!
Statybos klaidų užpakalis!

Kai savo „Arduino“įvesite kodą ir jūsų ugniagesiai veiks taip, kaip jums patinka, galbūt norėsite juos įdėti į sodą; tai reiškia projekto dėžutę ir tam tikrą šilumos susitraukimą, kad „Arduino“ir šviesos diodai būtų sausi. Padarykime!

5 žingsnis: sukurkite klaidų užpakalį

Statybos klaidų užpakalis!
Statybos klaidų užpakalis!
Statybos klaidų užpakalis!
Statybos klaidų užpakalis!
Statybos klaidų užpakalis!
Statybos klaidų užpakalis!
  • Iškirpkite šviesos diodus iki maždaug 5 mm.
  • Pašalinkite ir skardinkite naudojamų laidų galus, taip pat apie 5 mm.
  • Perstumkite 1 mm termiškai susitraukiantį vamzdelį virš kiekvieno laido galo.
  • Lituokite šviesos diodą prie laido. (Šiuo metu turėtumėte pasirinkti, kuri jūsų poros viela bus teigiama, o kuri neigiama. Aš pasirinkau vientisą laidą kaip teigiamą, o baltą laidą - neigiamą. Laikykitės šios strategijos per visą projektą, kad vėliau išvengtumėte galvos skausmo!)
  • Šilumos susitraukimą iki galo perbraukite per pliką laidą ir šviesos diodų laidus. Greitai uždenkite liepsną, kad sutrauktumėte iki laidų.
  • Pastumkite kitą šilumos susitraukimo gabalėlį virš šviesos diodo ir laidų, o LED objektyvas išsikiša į galą ir ištirpinkite jį vietoje.
  • Stumkite kelis šilumos susitraukiančius gabalus ant vielos per visą ilgį ir ištirpinkite ją kas kelias pėdas, kad viela būtų tvarkinga.

6 žingsnis: Paruoškite projekto langelį

Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
  • Naudodami sukamąjį įrankį su šlifavimo būgno antgaliu išvalykite nereikalingą plastiką savo projekto dėžutėje. (Būkite atsargūs, kad nenupjautumėte varžtų laikiklių, kurių gali prireikti, kad dėžutė vėl būtų sudėta.)
  • Nuspręskite, kur norite turėti jungiklį ir išeiti LED laidai. Aš siūlau šonus, bet naudokitės tuo, kas tinka jūsų poreikiams.
  • Naudokite tinkamo dydžio gręžtuvą, kad padarytumėte skyles kabelio sandarikliui ir jungikliui.

Pastaba: aukščiau esančioje nuotraukoje matysite, kad padariau „netikrą kabelį“. Tai yra 6 laidų porų paketas, kurį naudojau šviesos diodams su šilumos susitraukimu, kad juos sujungčiau. Aš jį naudoju norėdamas įsitikinti, ar kabelio sandariklis gerai dera su tikru kabelių ryšuliu, taip pat išbandžiau dėžutės atsparumą vandeniui, kai buvo įjungtas jungiklis, kabelio sandariklis ir dangtis. (Po to, kai jis buvo 24 valandas panardintas į 6 colių vandenį, jame buvo labai mažai drėgmės. Man būtų malonu pavadinti šią dėžę „atspariomis oro sąlygoms“.)

7 žingsnis: atneškite galią

Atneškite galią!
Atneškite galią!
Atnešk galią!
Atnešk galią!
  • Apytiksliai įdėdami visus tris komponentus į projekto dėžutę, nustatykite, kiek baterijos ir jungiklio laido jums reikės norint pasiekti „Arduino“. Iškirpkite jungiklio ir 9 V akumuliatoriaus jungties laidus. Juostelės ir skardos galai. Kitam žingsniui įstumkite šiek tiek šilumos susitraukiančią vietą.
  • Nupjaukite du išorinius kaiščius iš juostos (bet laikykite juos kartu).
  • Lituokite raudoną 9V akumuliatoriaus jungties laidą prie vieno jungiklio galo. Lituokite kitą jungiklio galą prie išorinio kaiščio. Lituokite juodą akumuliatoriaus laidą prie kito išorinio kaiščio.
  • Kaip parodyta aukščiau esančioje diagramoje, antraštės kaiščiai pateks į duonos lentą, kad maitintų „Nano“VIN (teigiamas) ir GND (neigiamas). VIN kaištis gali valdyti nuo 7 iki 12 voltų. Jei planuojate „Arduino“maitinti ne 9 V baterija, naudokite kitą maitinimo kaištį.

8 veiksmas: jei reikia, pakeiskite „Nano“

Jei reikia, pakeiskite „Nano“
Jei reikia, pakeiskite „Nano“

Kadangi mano projekto dėžutė buvo gana sekli, turėjau pašalinti ICSP antraštės kaiščius, kad tilptų. Šie kaiščiai yra antrinė sąsaja su jūsų „Arduino“. Jų pašalinimas nepažeis jūsų „Nano“, nes visada galite įkelti scenarijus per USB prievadą.

Pastaba: jei jūsų „Nano“reikėjo lituoti antgalių kaiščius, tiesiog praleiskite šiuos kaiščius, kai surenkate „Arduino“.

9 žingsnis: Sujunkite vidų

Image
Image
Sujunkite vidų
Sujunkite vidų
Sujunkite vidų
Sujunkite vidų
  • Pritvirtinkite kabelio sandariklio prievadą prie projekto dėžutės skylėje, kurią išgręžėte. Jei nesuprantate, kaip naudoti kabelio sandariklį, šiame vaizdo įraše, kurį radau „YouTube“, parodyta, kaip vienas yra surenkamas. (greitai pirmyn iki 0:57.) Jūsų gali būti guminė poveržlė. Tai eina tarp projekto dėžutės ir išorinės kabelio sandariklio veržlės.
  • Surinkite laisvus LED laidų galus. Skirkite tiek laiko, kad apipjaustytumėte juos vienodo ilgio, juosteles nuimkite ir skardinkite. Patraukite galus per kabelio įvorės dangtelį ir termiškai susitraukiančiu gabalu sujunkite galus, palikdami pakankamai ilgio, kad pasiektų dėžutės vidinėje pusėje esančią duonos lentą.
  • Įkiškite vielos ryšulį per kabelio įvorės prievadą į projekto dėžutę ir pasukite sandariklio dangtelį, kad užfiksuotumėte laidus, geriausia aplink šilumos susitraukimą, kurį naudojote juos sujungti.
  • Atskirkite įžeminimo laidus nuo teigiamų laidų (prisiminkite, kuriuos pasirinkote anksčiau). Lituokite visus įžeminimo laidus į vieną bendrą žemę. Pritvirtinkite trumpą vielą iš tos krūvos ir užbaikite ją 1 vyriška antraštė. Naudokite karščio susitraukimą, kad apsaugotumėte plikas litavimo vietas.
  • Lituokite antgalius ant kiekvieno teigiamo laido galų. Vėlgi, naudokite šilumos susitraukimą.
  • Įdėkite teigiamas galines antraštes į duonos lentą, kad galėtumėte prisijungti prie „Arduino“PWM kaiščių.
  • Įdėkite bendrą pagrindą į duonos lentą, kad ji eitų per srovės ribojimo rezistorių, o paskui į GND „Arduino“.
  • Įdėkite į akumuliatorių ir perkiškite jungiklį per anksčiau išgręžtos dėžutės angą. Įstatykite guminę poveržlę tarp projekto dėžutės ir užsukamo dangtelio. Prijunkite maitinimo laidus prie duonos lentos.
  • Uždėkite arba užsukite dangtelį ant dėžutės. Jūs baigėte!

Pastaba: schemose ir kūrimo etapuose aš naudoju vieną srovės ribojimo rezistorių vienam šviesos diodui. Paprastai kiekvienas šviesos diodas turi turėti savo rezistorių, nes paprastai vienu metu šviečia daugiau nei vienas šviesos diodas. Kodas neleidžia vienu metu uždegti daugiau nei vieno šviesos diodo, todėl norint apsaugoti „Arduino“tinka naudoti tik vieną rezistorių. Taip pat sutaupoma vietos mažoje duonos lentelėje arba laikas lituoti kiekvieną šviesos diodą su tiesioginiu rezistoriumi. Tai sakė … ĮSPĖJIMAS !!! Jei planuojate pakeisti kodą taip, kad vienu metu užsidegtų daugiau nei vienas šviesos diodas, kiekvienam šviesos diodui reikės atskirų rezistorių.

10 žingsnis: naudokite

Panaudok tai
Panaudok tai

Naudokite Velcro dirželius arba karštų klijų tamponus, kad pritvirtintumėte šviesos diodus prie augalų, tvorų, rožinių flamingų ar bet ko kito savo kieme. Naudokite juos viduje, įkišdami juos į vyno lentynas, už užuolaidų ar net pakabinkite laidus nuo lubų, kad tamsoje būtų 3D plaukiojantis efektas! Tai būtų puikus prisilietimas prie vakarėlių, vestuvių, kino ir fotografijos.

11 žingsnis: Eikite toliau…

Kaip minėta anksčiau, tai yra ankstyva šio projekto versija, tačiau ji turi tiek daug galimybių! Paleiskite daugiau šviesos diodų prijungdami pamainų registrą (Norėdami sužinoti, kaip tai padaryti, žr. Šią instrukciją, kurią nurodė „JColvin91“.) Pridėkite šviesos jutiklį, saulės įkroviklį ir laikmatį, kad „nustatykite ir pamirškite“funkciją! Praneškite naudodami kodą, kad pridėtumėte savo klaidą prie klaidų. Pasidalinkite tuo, ką gaminate ir mėgaukitės !!

ATNAUJINIMAS: per pastarąsias dvi savaites nuo šios instrukcijos paskelbimo daugelis bendraautorių pasiūlė puikius šio projekto kodo, aparatūros ir vykdymo patobulinimus. Aš labai patariu, jei planuojate tai kurti, perskaitykite komentarus ir atsakymus, kad gautumėte idėjų, kaip padaryti šias žaibo klaidas taip, kaip aš neplanavau. Atviro kodo kūrimo dvasia sveikinu visas idėjas, padedančias paversti šį projektą daugiau, nei maniau, kad įmanoma … ir dėkoju visiems, kurie tai padarė.

Eik. Padaryti !!!

Rekomenduojamas: