Satura rādītājs:

Arduino Fireflies: 11 soļi (ar attēliem)
Arduino Fireflies: 11 soļi (ar attēliem)

Video: Arduino Fireflies: 11 soļi (ar attēliem)

Video: Arduino Fireflies: 11 soļi (ar attēliem)
Video: #dubai #hologram #hologramanimation #shorts #holographic 2024, Jūlijs
Anonim
Image
Image
Kas jums būs nepieciešams
Kas jums būs nepieciešams

Viena no lietām, ko es gaidu ar vasarām Pensilvānijā, ir ugunspuķes manā pagalmā. Nesen es iemācījos Adruino programmēt šo vienkāršo projektu. Tā ir lieliska programma, ar kuru sākt, un ir pietiekami vienkārša programmētājam, iesācējam un ekspertam, lai izveidotu, pārveidotu un izklaidētos tikai dažu minūšu laikā. Sāksim.

1. darbība. Kas jums būs nepieciešams

Kas jums būs nepieciešams
Kas jums būs nepieciešams

Lai kļūdas mirgotu, jums būs nepieciešami šādi komponenti:

  • Arduino. Es sāku ar Nano, tomēr derēs jebkurš ar Arduino saderīgs mikrokontrolleris.
  • Dzeltenas gaismas diodes, 5 mm. Jūs varat izmantot līdz 6 no tiem.
  • Rezistori. Lai ierobežotu strāvu, jums būs nepieciešams viens rezistors uz LED. Es izmantoju 470 omus, bet visam, kas pārsniedz 150 omus, vajadzētu būt labi, lai aizsargātu jūsu mikrokontrolleri.
  • Maizes dēlis.
  • Džempera vads.

Lai pabeigtu savu piemājas projektu, jums būs nepieciešams:

  • Projekta kaste pret laika apstākļiem.
  • 9 voltu akumulators ar savienotāju. (Lūdzu, skatiet piezīmes šīs sadaļas apakšā.)
  • Slēdzis. (Es izvēlējos šos ūdensnecaurlaidīgos slēdžus. Ja jūs to neizmantojat ārā, jebkurš slēdzis būs piemērots.)
  • Dažus jardus vadu, lai novietotu gaismas diodes ap dārzu. Es izmantoju apmēram 10 pēdas Cat5 Ethernet vadu uz LED.
  • Neliels maizes dēlis vai kāds perf dēlis.
  • Laikapstākļu necaurlaidīgs kabeļa blīvslēgs, caur kuru iet LED vadi. (Ja to neizmantojat arī ārpus telpām, varat to izlaist.)
  • Termiski saraušanās caurules, lai aizsargātu jūsu LED kļūdu mucas.
  • Zaļas āķa un cilpas (t.i., velcro) sloksnes, lai piestiprinātu LED ugunskurus jūsu dārza augiem un stabiem.
  • Vīriešu galvenes komponentu pievienošanai jūsu nelielajam maizes dēlim.

Rīki:

  • Urbji projekta kastē. (Izmantojiet šo iespēju, lai iegūtu sev jauku soli. Jums būs prieks, ka to izdarījāt).
  • Karstās līmes pistole.
  • Lodāmurs.
  • Rotācijas instruments (t.i., Dremel), lai vajadzības gadījumā izgrieztu vietu projekta kastē.

Dažas piezīmes šeit:

1. Akumulatora izvēle bija ātrai un ērtai palaišanai. Pastāvīga 9 voltu akumulatora lietošana ir nedaudz izšķērdīga. Labāk ir izmantot 4x AA bateriju turētāju ilgākam darbam (tomēr jums būs nepieciešama lielāka projekta kastīte, kurā to ievietot).

2. Ja izvēlaties atvienot Cat 5 Ethernet kabeli vadiem, pārliecinieties, vai tie ir vara serdeņi, un kārtīgi aptiniet tos ap kādu PVC, lai tie būtu sakārtoti darba laikā. Atkal es izmantoju apmēram 10 pēdas stieples uz LED. Ja vēlaties izkliedēt gaismas tālu un plaši, noteikti izmantojiet garākus vadus!

3. Visbeidzot, visas manis sniegtās saites ir tikai ieteikumi. Lūdzu, izlasiet visu šo pamācību, pirms kaut ko veidojat vai pērkat, jo jūs iegūsit labāku izpratni par to, kā vēlaties personīgi rīkoties.

2. solis: izveidojiet ķēdi

Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi

Šis projekts izmanto jūsu Arduino pulsa platuma modulācijas tapas. Mikrokontrolleram ir 6 no šīm tapām, un jūs varat izmantot tik daudz, cik vēlaties. Ķēde ir diezgan taisna uz priekšu. Pievienojiet visu strāvu no impulsa platuma modulācijas (PWM) tapām D3, D5, D6, D9, D10 un D11 līdz gaismas diodes pozitīvajiem galiem. Pievienojiet negatīvos galus pie rezistoriem un pēc tam pie kopējas zemes. (Rezistori var iet LED priekšā vai aiz tā. Tam nav nekādas atšķirības, ja vien jūs nevēlaties pasargāt no īssavienojumiem lielākās strāvās.) Es iekļāvu dažas shēmas, lai palīdzētu ar vadu. (Diagrammas tika izveidotas, izmantojot Fritzing projektēšanas programmatūru.)

3. darbība: kods

Image
Image

Ja esat pieredzējis programmētājs, šis kods jums būs vienkāršots. Tas ir lielisks kods, ar kuru sākt mācīties, jo tas iepazīstina jūs ar mainīgo, pinmodes, funkciju un pat izlases ģeneratora izmantošanu. Kods nav tik kompakts, kā tas var būt, jo esmu pārliecināts, ka to pašu efektu var sasniegt ar masīviem utt.

Koda komentāri izklāsta katras sadaļas loģiku. Viss kods ir ievietots šeit, un jūs varat lejupielādēt skici zemāk.

/*

Šis skripts nejaušā secībā, izmantojot PWM, mirgo 6 gaismas diodes (protams, dzeltenas). Katru gaismas diodi kontrolē sava funkcija. */ int led1 = 3; // LED savienots ar PWM tapu 3 utt. Es izmantoju visas 6 PWM tapas. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; garais randnum; // randnum kontrolē laika intervālu starp zibspuldzēm un garo randbug; // randbug kontrolē, kura kļūda iedegas. void setup () {pinMode (led1, OUTPUT); // Visu PWM tapu iestatīšana kā izejas. pinMode (led2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (led4, OUTPUT); pinMode (LED5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = random (3, 12); // randbug nejauši izvēlas izpildāmo funkciju, // tādējādi nejauši izvēlas kļūdu, lai iedegtos. ja (randbug == 3) {bug1 (); } ja (randbug == 5) {bug2 (); } ja (randbug == 6) {bug3 (); } ja (randbug == 9) {bug4 (); } ja (randbug == 10) {bug5 (); } ja (randbug == 11) {bug6 (); }} / * * Katra no šīm funkcijām darbojas vienādi. “cilpām” palielinās, tad samazinās * šīs tapas izeja, lai kontrolētu LED spilgtumu. * 'randnum' ir nejaušs laika intervāls no 10 līdz 3000 ms * un izvēlas laika intervālu starp kļūdu mirgošanu. * 'kavēšanās 10' ir paredzēta tikai izbalēšanas efektam. */ void bug1 () {randnum = nejaušs (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); kavēšanās (10); } kavēšanās (randnum); } void bug2 () {randnum = nejauši (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); kavēšanās (10); } kavēšanās (randnum); } void bug3 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); kavēšanās (10); } kavēšanās (randnum); } void bug4 () {randnum = nejauši (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); kavēšanās (10); } kavēšanās (randnum); } void bug5 () {randnum = nejauši (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); kavēšanās (10); } kavēšanās (randnum); } void bug6 () {randnum = nejauši (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); kavēšanās (10); } kavēšanās (randnum); }

4. solis: izveidojiet kastīti

Būvniecības kļūdu muca!
Būvniecības kļūdu muca!

Kad esat Arduino ievadījis kodu un saņēmis, lai ugunsgrēki darbotos tā, kā vēlaties, iespējams, vēlēsities tos ievietot dārzā; tas nozīmē projekta kastīti un nelielu siltuma saraušanos, lai Arduino un gaismas diodes būtu sausas. Taisīsim!

5. solis: būvēt Bug Butts

Būvniecības kļūdu muca!
Būvniecības kļūdu muca!
Būvniecības kļūdu muca!
Būvniecības kļūdu muca!
Būvniecības kļūdu muca!
Būvniecības kļūdu muca!
  • Apgrieziet gaismas diodes līdz apmēram 5 mm.
  • Noņemiet un skārdojiet izmantoto vadu galus, arī apmēram 5 mm.
  • Pārbīdiet 1 mm termiski saraušanās cauruli pār katru stieples galu.
  • Lodējiet gaismas diodi pie stieples. (Šajā brīdī jums jāizvēlas, kurš vads jūsu pārī būs jūsu pozitīvais un kurš būs negatīvs. Es izvēlējos cieto vadu kā pozitīvu un baltu vadu kā negatīvu. Saglabājiet šo stratēģiju visā projektā, lai vēlāk izvairītos no galvassāpēm!)
  • Pavelciet siltuma sarukumu līdz pat tukšajam vadam un LED vadiem. Pārvelciet ātru liesmu pār tām, lai tās sarautu līdz vadiem.
  • Bīdiet vēl vienu siltuma saraušanās gabalu virs gaismas diodes un vadiem ar LED objektīvu, kas izliekas no gala, un izkausējiet to vietā.
  • Pārvelciet dažus siltuma saraušanās gabalus uz stieples visā tā garumā un izkausējiet to ik pēc dažām pēdām, lai vads būtu kārtīgs.

6. darbība: sagatavojiet projekta lodziņu

Sagatavojiet projekta kasti
Sagatavojiet projekta kasti
Sagatavojiet projekta kasti
Sagatavojiet projekta kasti
  • Izmantojiet rotējošu instrumentu ar slīpēšanas trumuļa uzgali, lai projekta kastē notīrītu nevajadzīgo plastmasu. (Uzmanieties, lai nenogrieztu skrūvju stiprinājumus, kas varētu būt nepieciešami, lai saliktu kastīti kopā.)
  • Izlemiet, kur vēlaties novietot slēdzi un izvadīt LED vadus. Es iesaku puses, bet izmantojiet to, kas kādreiz darbojas, atbilstoši jūsu vajadzībām.
  • Izmantojiet atbilstoša izmēra urbi, lai izveidotu caurumus kabeļa blīvgredzenam un slēdzim.

Piezīme. Iepriekš redzamajā fotoattēlā redzēsit, ka esmu izveidojis “fiktīvu kabeli”. Šis ir 6 vadu pāru komplekts, ko izmantoju gaismas diodēm ar siltuma saraušanos, lai tās saliktu kopā. Es to izmantoju, lai pārliecinātos, ka kabeļa blīvslēgs labi iederas faktiskajā kabeļu saišķī, kā arī, lai pārbaudītu kastes ūdensizturību, tiklīdz bija ieslēgts slēdzis, kabeļa blīvslēgs un vāks. (Pēc tam, kad 24 stundas bija iegremdēts 6 collu ūdenī, tajā bija ļoti maz mitruma. Es labprāt sauktu šo kastīti par "laika apstākļu izturīgu".)

7. solis: ienesiet spēku

Atnesiet spēku!
Atnesiet spēku!
Atnesiet spēku!
Atnesiet spēku!
  • Nosakiet, cik daudz akumulatora un slēdža stieples jums būs nepieciešams, lai sasniegtu savu Arduino, aptuveni ievietojot visus trīs komponentus projekta lodziņā. Izgrieziet slēdža un 9V akumulatora savienotāja vadus. Noņemiet galus un notīriet tos. Nākamajam solim ievietojiet nedaudz siltuma saraušanās vietā.
  • Izgrieziet no sloksnes divus vīriešu galvenes tapas (bet turiet tās kopā).
  • Lodējiet 9V akumulatora savienotāja sarkano vadu pie slēdža viena gala. Lodējiet slēdža otru galu uz vīrieša galvenes tapu. Lodējiet melno akumulatora vadu pie citas tērauda galvenes tapas.
  • Kā parādīts iepriekš redzamajā diagrammā, galvenes tapas nonāks maizes plāksnē, lai darbinātu Nano pie VIN (pozitīvs) un GND (negatīvs). VIN tapa var darboties no 7 līdz 12 voltiem. Ja plānojat barot savu Arduino citā veidā, nevis 9V akumulatorā, izmantojiet citu barošanas tapu.

8. darbība: ja nepieciešams, modificējiet Nano

Ja nepieciešams, modificējiet Nano
Ja nepieciešams, modificējiet Nano

Tā kā mana projekta kaste bija diezgan sekla, man vajadzēja noņemt ICSP galvenes tapas, lai tās ietilptu. Šīs tapas ir sekundāra saskarne ar jūsu Arduino. To noņemšana nesabojās jūsu Nano, jo vienmēr varat ielādēt skriptus, izmantojot USB portu.

Piezīme. Ja jūsu Nano bija nepieciešams pielodēt galvenes tapas, vienkārši izlaidiet šīs tapas, saliekot Arduino.

9. solis: pievienojiet vadu iekšpusē

Image
Image
Ievietojiet vadu iekšpusē
Ievietojiet vadu iekšpusē
Ievietojiet vadu iekšpusē
Ievietojiet vadu iekšpusē
  • Pievienojiet kabeļa blīvgredzena pieslēgvietu projekta kārbai urbumā, kuru tam urbāt. Ja jums ir neskaidrības par to, kā izmantot kabeļa blīvējumu, šajā videoklipā, ko atradu vietnē YouTube, ir redzams, ka tiek montēts. (ātri uz priekšu līdz 0:57.) Jūsu rīcībā varētu būt gumijas paplāksne. Tas iet starp projekta kārbu un kabeļa blīves ārējo uzgriezni.
  • Savāc LED vadu vaļīgos galus. Izmantojiet šo laiku, lai tos sagrieztu vienādā garumā, noņemiet galus un notiniet. Izvadiet galus cauri kabeļa blīvējuma vāciņam un izmantojiet termiski saraušanās gabalu, lai saspiestu galus kopā, atstājot pietiekami daudz garuma, lai sasniegtu maizes dēli kastes iekšpusē.
  • Ievadiet stiepļu saišķi caur kabeļa blīvējuma portu projekta kastē un pagrieziet uzmavas vāciņu, lai nofiksētu vadus vietā, vēlams ap siltuma sarukumu, ko izmantojāt, lai tos saliktu kopā.
  • Atdaliet zemējuma vadus no pozitīvajiem vadiem (atcerieties, kurus no tiem izvēlējāties agrāk). Lodējiet visus zemējuma vadus vienā kopējā zemē. Pievienojiet īsu vadu no šī ķekara un pabeidziet to ar 1 vīriešu galvu. Izmantojiet termisko saraušanos, lai aizsargātu savus lodēšanas savienojumus.
  • Lodēt vīriešu galvenes katra pozitīvā stieples galos. Atkal izmantojiet siltuma saraušanos.
  • Ievietojiet pozitīvās gala vīriešu galvenes maizes dēļā, lai izveidotu savienojumu ar PWM tapām Arduino.
  • Ievietojiet kopējo zemi maizes plāksnē tā, lai tā izietu caur strāvas ierobežošanas rezistoru un pēc tam uz Arduino GND.
  • Ievietojiet akumulatorā un ievietojiet slēdzi caur urbumu iepriekš urbtajā kastē. Uzstādiet gumijas paplāksni starp projekta kārbu un skrūvējamo vāciņu. Pievienojiet barošanas vadus maizes dēlim.
  • Pieskrūvējiet vai pieskrūvējiet vāku kastē. Jūs esat pabeidzis!

Piezīme: Ievērojiet shēmās un attīstības stadijās uz vienu gaismas diodi es izmantoju vienu strāvas ierobežošanas rezistoru. Parasti katrai gaismas diodei jāiegūst savs rezistors, kā parasti, vienlaikus tiek izgaismotas vairākas gaismas diodes. Kods neļauj vienlaikus iedegties vairāk nekā vienai gaismas diodei, tāpēc, lai aizsargātu Arduino, ir labi izmantot tikai vienu rezistoru. Tas arī ietaupa vietu uz mazā maizes dēļa vai katras gaismas diodes lodēšanu ar rindas rezistoru. Tas teica … BRĪDINĀJUMS !!! Ja plānojat mainīt kodu tā, lai vienlaikus iedegtos vairāk nekā viens gaismas diode, jums būs nepieciešami atsevišķi rezistori katrai gaismas diodei.

10. solis: izmantojiet to

Lieto to
Lieto to

Izmantojiet Velcro siksnas vai karstu līmi, lai piestiprinātu gaismas diodes augiem, žogiem, rozā flamingo vai jebkuram citam pagalmā. Izmantojiet tos iekšpusē, iebāžot tos vīna plauktos, aiz aizkariem vai pat pakarinot vadus pie griestiem, lai iegūtu 3D peldošu efektu tumsā! Tie būtu lielisks pieskāriens ballītēm, kāzām, filmām un fotografēšanai.

11. solis: iet tālāk …

Kā minēts iepriekš, šī ir šī projekta agrīna versija, taču tajā ir tik daudz potenciāla! Darbiniet vairāk gaismas diodes, pievienojot maiņu reģistru (lai uzzinātu, kā to izdarīt, skatiet šo JColvin91 norādījumu.) Pievienojiet gaismas sensoru, saules lādētāju un taimeri, lai iegūtu funkciju "iestatīt un aizmirst"! Jautājiet ar kodu, lai kļūdām pievienotu savu uzliesmojumu. Dalies ar padarīto un izbaudi !!

ATJAUNINĀT: Pēdējo divu nedēļu laikā kopš šīs instrukcijas publicēšanas daudzi līdzautori ir ierosinājuši izcilus uzlabojumus šī projekta kodā, aparatūrā un izpildē. Es ļoti iesaku, ja plānojat to veidot, izlasiet komentārus un atbildes, lai iegūtu idejas, kā padarīt šīs zibens kļūdas tā, kā es nebiju plānojis. Atvērtā pirmkoda izveides garā es atzinīgi vērtēju visas idejas, kas palīdz attīstīt šo projektu vairāk, nekā biju domājis par iespējamu … un pateicos visiem, kas to paveica.

Iet. Veidot!!!

Ieteicams: