INHOUDSOPGAWE:

Arduino vuurvliegies: 11 stappe (met foto's)
Arduino vuurvliegies: 11 stappe (met foto's)

Video: Arduino vuurvliegies: 11 stappe (met foto's)

Video: Arduino vuurvliegies: 11 stappe (met foto's)
Video: Использование датчика расстояния Sharp IR GP2Y0A51SK0F с Arduino (от 2 см до 15 см) 2024, Julie
Anonim
Image
Image
Wat jy nodig het
Wat jy nodig het

Een van die dinge waarna ek met somers in Pennsylvania uitsien, is vuurvliegies in my agterplaas. Ek het myself onlangs Adruino -programmering geleer met die doel om hierdie eenvoudige projek te maak. Dit is 'n wonderlike program om mee te begin en is maklik genoeg vir elke programmeerder, van nuweling tot kundige, om binne 'n paar minute te bou, aan te pas en om pret te hê. Laat ons begin.

Stap 1: wat u benodig

Wat jy nodig het
Wat jy nodig het

Om u goggas te laat knip, benodig u die volgende komponente:

  • Arduino. Ek het begin met die Nano, maar enige Arduino-versoenbare mikrobeheerder sal dit doen.
  • Geel LED's, 5 mm. U kan tot 6 daarvan gebruik.
  • Weerstande. U benodig een weerstand per LED om die stroom te beperk. Ek het 470 ohm gebruik, maar alles bo 150 ohm behoort goed te wees om u mikrobeheerder te beskerm.
  • Broodbord.
  • Springdraad.

Om die projek vir u agterplaas te voltooi, benodig u:

  • Weerbestande projekkas.
  • 9 volt battery met aansluiting. (Sien notas onderaan hierdie afdeling.)
  • Skakel oor. (Ek het hierdie waterdigte skakelaars gekies. As u dit nie buite gebruik nie, sal enige skakelaar dit doen.)
  • 'N Paar meter draad om die LED's rondom die tuin te plaas. Ek het ongeveer 10 voet Cat5 Ethernet -draad per LED gebruik.
  • 'N Klein broodbord of perfekbord.
  • 'N Weerbestande kabelklier waardeur die LED -drade loop. (U kan dit weglaat as u dit ook nie buite gebruik nie.)
  • Krimp buise om u LED -goggas te beskerm.
  • Groen haak-en-lusstroke (dws klittenband) om die LED-vuurvliegies aan plante en poste in u tuin vas te maak.
  • Manlike kopstukke om komponente in u klein broodbord aan te sluit.

Gereedskap:

  • Boorpunte vir die projekkas. (Gebruik hierdie geleentheid om 'n goeie stappie te kry. U sal bly wees dat u dit gedoen het).
  • Warm gom geweer.
  • Soldeerbout.
  • Draaibare hulpmiddel (dws Dremel) om ruimte in die projekkas uit te sny as u dit nodig het.

'N Paar aantekeninge hier:

1. Die battery keuse was vir 'n vinnige en maklike aanvang. Dit is 'n bietjie morsig om 'n 9-volt-battery permanent te gebruik. Dit is beter om 'n 4x AA-batteryhouer vir 'n langer lewensduur te gebruik (maar u benodig 'n groter projektiek om dit in te pas).

2. As u besluit om 'n Cat 5 -ethernetkabel vir die drade te dekonstrueer, maak seker dat dit 'n koperkern is en draai dit netjies om PVC om dit georganiseer te hou terwyl u werk. Weereens het ek ongeveer 10 voet draad per LED gebruik. As u die ligte wyd en syd wil versprei, gebruik dan lang drade!

3. Laastens is al die skakels wat ek verskaf het slegs voorstelle. Lees hierdie hele instruksies deur voordat u iets bou of koop, want u sal beter verstaan hoe u persoonlik wil te werk gaan.

Stap 2: Bou die stroombaan

Bou die stroombaan
Bou die stroombaan
Bou die stroombaan
Bou die stroombaan
Bou die stroombaan
Bou die stroombaan

Hierdie projek gebruik die polswydte modulasie penne op u Arduino. Die mikro-kontroleerder het 6 van hierdie penne en u is welkom om soveel te gebruik as wat u wil. Die kring is redelik reguit. Bedryf alle krag vanaf die pulswydte modulasie (PWM) penne D3, D5, D6, D9, D10 en D11 na die positiewe punte van u LED's. Dra die negatiewe punte na die weerstande en dan na 'n gemeenskaplike grondslag. (Die weerstande kan voor of agter die LED gaan. Dit maak geen verskil nie, tensy u teen kortsluitings by hoër strome wil beskerm.) Ek het 'n paar skemas ingesluit om te help met bedrading. (Die diagramme is gemaak met behulp van Fritzing -ontwerpprogrammatuur.)

Stap 3: Die kode

Image
Image

As u 'n ervare programmeerder is, vind u hierdie kode eenvoudig. Dit is 'n uitstekende kode om mee te begin leer, aangesien dit u bekendstel aan die gebruik van veranderlikes, pin -modusse, funksies en selfs 'n ewekansige kragopwekker. Die kode is nie so kompak as wat dit kan wees nie, aangesien ek seker is dat dieselfde effek met skikkings ens.

Die kodekommentaar gee 'n uiteensetting van die logika van elke afdeling. Die hele kode is hier ingebed en u kan die skets hieronder aflaai.

/*

Hierdie skrif flits 6 LED's (natuurlik geel) in willekeurige volgorde met willekeurige tussenposes met behulp van PWM. Elke LED word beheer deur sy eie funksie. */ int led1 = 3; // LED gekoppel aan PWM pen 3, ens. Ek het al 6 PWM penne gebruik. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; lang randnum; // randnum beheer die tydsinterval tussen flitse en lang randbug; // randbug beheer watter gogga brand. leemte -opstelling () {pinMode (led1, OUTPUT); // Stel alle PWM -penne as uitsette in. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } leemte lus () {randbug = random (3, 12); // randbug kies lukraak 'n funksie om uit te voer, // kies dus lukraak 'n fout om op te steek. as (randbug == 3) {bug1 (); } as (randbug == 5) {bug2 (); } as (randbug == 6) {bug3 (); } as (randbug == 9) {bug4 (); } as (randbug == 10) {bug5 (); } as (randbug == 11) {bug6 (); }} / * * Elkeen van hierdie funksies werk op dieselfde manier. 'vir lusse' verhoog en verminder dan * die uitset van die pen om die LED -helderheid te beheer. * 'randnum' is 'n ewekansige tydsinterval tussen 10 en 3000 ms * en kies 'n tydsinterval tussen foutflitse. * 'vertraging 10' is slegs vir die vervaag -effek. */ void bug1 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); vertraging (10); } vertraging (randnum); } void bug2 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); vertraging (10); } vertraging (randnum); } void bug3 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); vertraging (10); } vertraging (randnum); } void bug4 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); vertraging (10); } vertraging (randnum); } void bug5 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); vertraging (10); } vertraging (randnum); } void bug6 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); vertraging (10); } vertraging (randnum); }

Stap 4: Bou die boks

Bou goggas!
Bou goggas!

As u eers u Arduino met kode geflits het en u vuurvliegies laat werk soos u wil, wil u dit miskien in die tuin sit; dit beteken 'n projekkas en 'n bietjie hitte om die Arduino en LED's droog te hou. Kom ons maak!

Stap 5: Bou goggas

Bou goggas!
Bou goggas!
Bou goggas!
Bou goggas!
Bou goggas!
Bou goggas!
  • Sny die LED tot ongeveer 5 mm.
  • Trek die ente van die drade wat jy gebruik, af, ongeveer 5 mm.
  • Skuif 'n hitte -krimpbuis van 1 mm oor elke draadkant.
  • Soldeer die LED aan die draad. (Op hierdie stadium moet u kies watter draad in u paar die positiewe en die negatiewe sal wees. Ek het die soliede draad as positief en die wit draad as negatief gekies. Handhaaf die strategie deur die projek om later hoofpyn te vermy!)
  • Skuif die hitte krimp heeltemal oor die kaal draad en LED -leidings. Draai 'n vinnige vlam oor hulle om hulle tot die drade te krimp.
  • Skuif nog 'n stukkie hitte oor die LED en drade terwyl die LED -lens aan die einde uitsteek en smelt.
  • Skuif 'n paar stukkies hitte wat oor die hele lengte van die draad krimp, en smelt dit elke paar meter om die draad netjies te hou.

Stap 6: Berei die projekkas voor

Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
  • Gebruik 'n draaibare gereedskap met 'n skuurtrommel om enige onnodige plastiek in u projekkas skoon te maak. (Wees versigtig om nie die skroefhouers wat u nodig het om die boks weer aanmekaar te sit, weg te sny nie.)
  • Besluit waar u die skakelaar wil hê en die LED -drade moet uitkom. Ek stel die kante voor, maar gebruik wat ooit met u behoeftes werk.
  • Gebruik die boor van die gepaste grootte om gate vir u kabelwartel en skakelaar te maak.

Nota: Op die foto hierbo sien u dat ek 'n "dummy -kabel" gemaak het. Dit is 'n bondel van 6 pare van die draad wat ek vir die LED's met hitte krimp gebruik het om dit bymekaar te maak. Ek het dit gebruik om seker te maak dat die kabelklier mooi by die werklike kabelklomp pas en ook om die waterweerstand van die boks te toets sodra die skakelaar, kabelwartel en deksel aangeskakel is. (Nadat dit 24 uur lank in 6 duim water ondergedompel was, het dit baie min vog binne gehad. Ek sou hierdie boks graag 'weerbestand' kan noem.)

Stap 7: Bring die krag

Bring die krag!
Bring die krag!
Bring die krag!
Bring die krag!
  • Bepaal hoeveel battery- en skakelkabel u nodig het om u Arduino te bereik deur al drie komponente grof in die projekkas te plaas. Sny die drade van die skakelaar en die 9V -batteryaansluiting. Strooi en maak die punte vas. Skuif 'n bietjie hitte krimp in plek vir die volgende stap.
  • Sny twee manlike koppenne van u strook af (maar hou dit vas).
  • Soldeer die rooi leiding van die 9V -batterykonneksie aan die een kant van die skakelaar. Soldeer die ander kant van die skakelaar na 'n manlike koppen. Soldeer die swart batterykabel aan die ander manlike koppen.
  • Soos in die diagram hierbo getoon, gaan die koppenne in die broodbord om die Nano op die VIN (positief) en GND (negatief) te dryf. Die VIN -pen kan 7 tot 12 volt hanteer. As u van plan is om u Arduino op 'n ander manier as 'n 9V -battery aan te skakel, gebruik 'n ander voedingspen.

Stap 8: Pas die Nano aan indien nodig

Verander die Nano indien nodig
Verander die Nano indien nodig

Aangesien my projekkas redelik vlak was, moes ek die ICSP -koppenne verwyder om te pas. Hierdie penne is 'n sekondêre koppelvlak met u Arduino. As u dit verwyder, sal dit nie u Nano beskadig nie, aangesien u altyd scripts deur die USB -poort kan laai.

Opmerking: as u Nano 'n kopstuk nodig het om aan te soldeer, moet u hierdie penne weglaat as u u Arduino monteer.

Stap 9: Draai die binnekant

Image
Image
Draai die binnekant
Draai die binnekant
Draai die binnekant
Draai die binnekant
  • Bevestig die kabeldoorvoerpoort aan die projektiekas in die gat wat u daarvoor geboor het. As u nie weet hoe u 'n kabelklier moet gebruik nie, wys hierdie video wat ek op YouTube gevind het, een wat saamgestel word. (vinnig vorentoe na 0:57.) Die uwe het moontlik 'n rubberwasser. Dit gaan tussen die projekkas en die buitemoer van die kabelwartel.
  • Versamel die los punte van die LED -drade. Neem hierdie tyd om hulle in gelyke lengte te sny, strook en maak die punte vas. Voer die ente deur die dop van die kabelklier en gebruik 'n stukkie hitte om die ente bymekaar te maak, sodat daar genoeg lengte is om die broodbord aan die binnekant van die boks te bereik.
  • Voer die draadbondel deur die kabeldraadpoort in die projektiek en draai die pakkingdop om die drade vas te hou, verkieslik rondom die krimp wat u gebruik het om dit saam te voeg.
  • Skei die gronddrade van die positiewe drade (onthou watter u vroeër gekies het). Soldeer al die gronddrade saam tot een gemeenskaplike grond. Heg 'n kort draad van die bondel af en maak dit af met 1 kopstuk. Gebruik hitte krimp om u kaal soldeerverbindings te beskerm.
  • Soldeer manlike kopstukke aan die ente van elke positiewe draad. Weereens, gebruik hitte krimp.
  • Steek die positiewe einde manlike koppe in die broodbord om aan te sluit op die PWM -penne op die Arduino.
  • Steek die gemene grond in die broodbord sodat dit deur 'n stroombeperkende weerstand gaan en dan na GND op die Arduino.
  • Plaas dit in die battery en plaas die skakelaar deur die gat in die boks wat u vroeër geboor het. Plaas die rubber wasser tussen die projekkas en die skroefdop. Steek die kragdrade in die broodbord.
  • Maak die deksel op die boks vas of skroef dit vas. Jy's klaar!

Nota: Let op dat ek in die skema's en in die ontwikkelingsfases een stroombeperkingsweerstand per LED gebruik het. Gewoonlik moet elke LED sy eie weerstand kry, aangesien meer as een LED tegelyk verlig word. Met die kode kan nie meer as een LED op 'n slag aangesteek word nie, daarom is dit goed om slegs een weerstand te gebruik om die Arduino te beskerm. Dit bespaar ook ruimte op die klein broodbord of tyd om elke LED met 'n in-line weerstand te soldeer. Dit gesê … WAARSKUWING !!! As u van plan is om die kode te verander sodat meer as een LED op 'n slag verlig word, benodig u afsonderlike weerstande vir elke LED.

Stap 10: Gebruik dit

Gebruik dit
Gebruik dit

Gebruik klittenbandjies of warm gom om die LED's aan plante, heinings, pienk flaminke of enigiets anders in u tuin vas te maak. Gebruik dit binne deur dit in wynrakke, agter gordyne te steek of selfs die drade aan die plafon te hang vir 'n 3D -drywende effek in die donker! Dit is 'n wonderlike aanraking vir partytjies, troues, film en fotografie.

Stap 11: Gaan verder …

Soos voorheen gesê, is dit 'n vroeë weergawe van hierdie projek, maar dit bevat soveel potensiaal! Begin meer LED's deur 'n skofregister aan te sluit (sien die instruksies van JColvin91 vir meer inligting.) Voeg 'n ligsensor, sonlaaier en timer by vir 'n 'stel dit en vergeet dit' -funksie! Rommel met die kode om u eie flare by die goggas te voeg. Deel wat jy maak en geniet dit !!

UPDATE: In die afgelope twee weke sedert hierdie Instructable gepubliseer is, het baie bydraers briljante verbeterings aan die hand van kode, hardeware en uitvoering van hierdie projek voorgestel. Ek beveel sterk aan dat as u van plan is om dit te bou, u die opmerkings en antwoorde deurlees vir idees oor hoe u hierdie weerligte kan maak op 'n manier waarop ek nie beplan het nie. Dit is in die gees van open source dat ek alle idees verwelkom wat help om hierdie projek te ontwikkel tot meer as wat ek moontlik gedink het … en ek bedank almal wat dit laat gebeur het.

Gaan. Maak !!!

Aanbeveel: