Innehållsförteckning:

Arduino Fireflies: 11 steg (med bilder)
Arduino Fireflies: 11 steg (med bilder)

Video: Arduino Fireflies: 11 steg (med bilder)

Video: Arduino Fireflies: 11 steg (med bilder)
Video: Arduino - Fireflies in a jar 2024, November
Anonim
Image
Image
Vad du behöver
Vad du behöver

En av de saker jag ser fram emot med somrar i Pennsylvania är eldflugor i min bakgård. Jag lärde mig nyligen Adruino -programmering för att göra detta enkla projekt. Det är ett bra program att börja med och är enkelt nog för alla programmerare, nybörjare till experter, att bygga, modifiera och ha kul med på bara några minuter. Låt oss börja.

Steg 1: Vad du behöver

Vad du behöver
Vad du behöver

För att få dina buggar att blinka behöver du dessa komponenter:

  • Arduino. Jag började med Nano, men alla Arduino-kompatibla mikrokontroller kommer att göra.
  • Gula lysdioder, 5 mm. Du kan använda upp till 6 av dem.
  • Motstånd. Du behöver ett motstånd per LED för att begränsa strömmen. Jag använde 470-ohm men allt över 150 ohm borde vara bra för att skydda din mikrokontroller.
  • Bakbord.
  • Bygeltråd.

För att slutföra projektet för din bakgård behöver du:

  • Väderbeständig projektlåda.
  • 9-voltsbatteri med kontakt. (Se anteckningarna längst ner i detta avsnitt.)
  • Växla. (Jag valde de här vattentäta omkopplarna. Om du inte använder det här utanför, kommer alla switchar att göra.)
  • Några meter tråd för att placera lysdioderna runt trädgården. Jag använde cirka 10 fot Cat5 Ethernet -tråd per LED.
  • En liten brödbräda eller någon perfekt bräda.
  • En väderbeständig kabelförskruvning genom vilken LED -kablarna går. (Du kan utelämna detta om du inte använder det här också.)
  • Krympslang för att skydda dina LED -buggar.
  • Gröna krokband (dvs. kardborreband) för att fästa LED-eldflugorna på växter och stolpar i din trädgård.
  • Manliga huvuden för att ansluta komponenter till din lilla brödbräda.

Verktyg:

  • Borr för projektlådan. (Använd detta tillfälle för att skaffa dig ett bra steg. Du kommer att bli glad att du gjorde det).
  • Lim pistol.
  • Lödkolv.
  • Rotationsverktyg (dvs. Dremel) för att skära ut utrymme i projektlådan om du behöver det.

Några anteckningar här:

1. Batteriets val var för en snabb och enkel start. Att använda ett 9-voltsbatteri permanent är lite slöseri. Du är bättre att använda en 4x AA-batterihållare för längre livslängd (men du behöver en större projektlåda för att passa den).

2. Om du väljer att dekonstruera en Cat 5 Ethernet -kabel för trådarna, se till att de är kopparkärna och linda dem snyggt runt lite PVC för att hålla dem organiserade medan du arbetar. Återigen använde jag cirka 10 fot tråd per LED. Om du vill sprida ljusen långt och brett, använd för all del längre kablar!

3. Slutligen är alla länkar jag gav bara förslag. Läs igenom hela instruktionsboken innan du bygger eller köper något, eftersom du får en bättre förståelse för hur du personligen vill gå tillväga.

Steg 2: Bygg kretsen

Bygg kretsen
Bygg kretsen
Bygg kretsen
Bygg kretsen
Bygg kretsen
Bygg kretsen

Detta projekt använder pulsbreddsmoduleringsstift på din Arduino. Mikrostyrenheten har 6 av dessa stift och du är välkommen att använda så många du vill. Kretsen är ganska rak framåt. Koppla all ström från pulsbreddsmodulation (PWM) stiften D3, D5, D6, D9, D10 och D11 till de positiva ändarna på dina lysdioder. Anslut de negativa ändarna till motstånden och sedan till en gemensam grund. (Motstånden kan gå framför eller bakom lysdioden. Det spelar ingen roll om du inte vill skydda mot kortslutning i högre strömmar.) Jag inkluderade några scheman för att hjälpa till med ledningar. (Diagrammen skapades med Fritzing designprogramvara.)

Steg 3: Koden

Image
Image

Om du är en erfaren programmerare hittar du denna kod förenklad. Det är en bra kod att börja lära sig eftersom den introducerar dig till användningen av variabler, pinmodes, funktioner och till och med en slumpgenerator. Koden är inte så kompakt som den kan vara eftersom jag är säker på att samma effekt kan uppnås med matriser etc.

Kodkommentarerna beskriver logiken i varje avsnitt. Hela koden är inbäddad här och du kan ladda ner skissen nedan.

/*

Detta skript blinkar 6 lysdioder (naturligtvis gula) i slumpmässig ordning med slumpmässiga intervall med PWM. Varje lysdiod styrs av sin egen funktion. */ int led1 = 3; // LED ansluten till PWM pin 3, etc. Jag använde alla 6 PWM pins. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; lång randnum; // randnum styr tidsintervallet mellan blinkningar och lång randbug; // randbug styr vilken bugg som tänds. void setup () {pinMode (led1, OUTPUT); // Inställning av alla PWM -stift som utgångar. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = random (3, 12); // randbug väljer slumpmässigt en funktion att köra, // väljer därmed slumpmässigt en bugg att tända. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Var och en av dessa funktioner fungerar på samma sätt. "för slingor" ökar sedan minskar * utgången från den stiftet för att styra LED -ljusstyrkan. * 'randnum' är ett slumpmässigt tidsintervall mellan 10 och 3000 ms * och väljer ett tidsintervall mellan felblixtar. * 'fördröjning 10' är bara för blekningseffekten. */ void bug1 () {randnum = random (10, 3000); för (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); fördröjning (10); } fördröjning (randnum); } void bug2 () {randnum = random (10, 3000); för (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); fördröjning (10); } fördröjning (randnum); } void bug3 () {randnum = random (10, 3000); för (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); fördröjning (10); } fördröjning (randnum); } void bug4 () {randnum = random (10, 3000); för (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); fördröjning (10); } fördröjning (randnum); } void bug5 () {randnum = random (10, 3000); för (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); fördröjning (10); } fördröjning (randnum); } void bug6 () {randnum = random (10, 3000); för (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); fördröjning (10); } fördröjning (randnum); }

Steg 4: Bygg rutan

Att bygga buggar!
Att bygga buggar!

När du har blinkat din Arduino med kod och fått dina eldflugor att fungera som du vill, kanske du vill sätta dem i trädgården; det betyder en projektlåda och lite värmekrympning för att hålla Arduino och lysdioderna torra. Låt oss göra!

Steg 5: Bygg bugfimpar

Att bygga buggar!
Att bygga buggar!
Att bygga buggar!
Att bygga buggar!
Att bygga buggar!
Att bygga buggar!
  • Trimma LED -lampan till ca 5 mm.
  • Ta av och tina ändarna på trådarna du använder, också cirka 5 mm.
  • Skjut 1 mm krympslang över varje trådände.
  • Löd lysdioden till tråden. (Vid denna tidpunkt bör du välja vilken tråd i ditt par som ska vara din positiva och vilken som kommer att vara negativ. Jag valde den fasta tråden som positiv och den vita tråden som negativ. Behåll den strategin genom projektet för att undvika huvudvärk senare!)
  • Skjut upp värmekrympningen hela vägen över den lediga tråden och LED -ledningarna. Kör en snabb låga över dem för att krympa dem till trådarna.
  • Skjut ytterligare en värmekrymp över lysdioden och trådarna med LED -linsen som sticker ut i änden och smält den på plats.
  • Skjut några värmekrympstycken på tråden genom hela dess längd och smält den på några fot för att hålla tråden städad.

Steg 6: Förbered projektboxen

Förbered projektboxen
Förbered projektboxen
Förbered projektboxen
Förbered projektboxen
  • Använd ett roterande verktyg med en slipborr för att rengöra all onödig plast i projektlådan. (Var försiktig så att du inte skär bort några skruvfästen som du kan behöva sätta ihop lådan igen.)
  • Bestäm var du vill att din switch ska vara och LED -ledningar ska komma ut. Jag föreslår sidorna men använd det som någonsin fungerar med dina behov.
  • Använd borr av lämplig storlek för att göra hål för kabelgenomföring och omkopplare.

Obs! På bilden ovan ser du att jag har gjort en "dummy -kabel". Detta är en bunt med 6 par av tråden jag använde för lysdioderna med värmekrympning för att samla ihop dem. Jag använde den för att se till att kabelförskruvningen skulle passa bra med själva kabelknippen och även för att testa lådans vattenresistens när strömbrytaren, kabelgenomföringen och locket var på. (Efter att ha varit nedsänkt i 24 timmar i 6-tums vatten hade den mycket lite fukt inuti. Jag skulle gärna kalla den här lådan "väderbeständig.")

Steg 7: Ta med kraften

Ta med kraften!
Ta med kraften!
Ta med kraften!
Ta med kraften!
  • Bestäm hur mycket batteri och omkopplare du behöver för att nå din Arduino genom att grovt placera alla tre komponenterna i projektlådan. Trimma trådarna på strömbrytaren och 9V batterikontakt. Strimla och plåt ändarna. Skjut lite värmekrympning på plats för nästa steg.
  • Klipp bort två manliga huvudstiften från din remsa (men håll dem fast ihop).
  • Löd den röda ledningen på 9V -batterikontakten till ena änden av strömbrytaren. Löd den andra änden av omkopplaren till en manlig huvudstift. Löd den svarta batteriledningen till den andra hanstiften.
  • Som visas i diagrammet ovan går huvudstiften in i brödbrädan för att driva Nano på VIN (positiv) och GND (negativ). VIN -stiftet klarar 7 till 12 volt. Om du planerar att driva din Arduino på ett annat sätt än ett 9V -batteri, använd en annan matningsstift.

Steg 8: Ändra Nano vid behov

Ändra Nano om det behövs
Ändra Nano om det behövs

Eftersom min projektlåda var ganska ytlig, behövde jag ta bort ICSP -huvudstiften för att passa. Dessa stift är ett sekundärt gränssnitt med din Arduino. Att ta bort dem skadar inte din Nano eftersom du alltid kan ladda skript via USB -porten.

Obs! Om din Nano kom och behövde lödas på huvudstiften, utelämna helt enkelt dessa stift när du monterar din Arduino.

Steg 9: Anslut insidan

Image
Image
Trä insidan
Trä insidan
Trä insidan
Trä insidan
  • Fäst kabelgenomföringsporten på projektlådan i hålet du borrade för den. Om du är förvirrad om hur du använder en kabelförskruvning, visar den här videon jag hittade på YouTube en som är monterad. (snabbspola fram till 0:57.) Din kan ha en gummitvätt. Detta går mellan projektlådan och kabelmuffens yttre mutter.
  • Samla de lösa ändarna på LED -trådarna. Ta den här tiden för att trimma dem till lika långa delar, ta av och tänd ändarna. Mata ändarna genom locket på kabelförskruvningen och använd en värmekrympning för att lägga ihop ändarna och lämna tillräckligt lång längd för att nå brödbrädan på insidan av lådan.
  • Mata trådbunten genom kabelgenomföringsporten in i projektlådan och vrid packningslocket för att låsa trådarna på plats, helst runt värmekrympan som du brukade knyta ihop.
  • Separera jordledningarna från de positiva trådarna (kom ihåg vilka du valde tidigare). Löd ihop alla jordledningar till en gemensam mark. Fäst en kort tråd från det gänget och avsluta det med 1 hanrubrik. Använd värmekrympning för att skydda dina lödfogar.
  • Löd hanrubriker i ändarna på varje positiv tråd. Återigen, använd värmekrympning.
  • Sätt in de positiva ändhuvudena i brödbrädet för att ansluta till PWM -stiften på Arduino.
  • Sätt in den gemensamma marken i brödbrädan så att den passerar genom ett strömbegränsande motstånd och sedan till GND på Arduino.
  • Sätt i batteriet och sätt omkopplaren genom hålet i lådan du borrade tidigare. Montera gummibrickan mellan projektlådan och skruvlocket. Anslut strömkablarna till brödbrädet.
  • Fäst eller skruva på locket på lådan. Du är klar!

Obs: Notera i schemat och i utvecklingsstadierna att jag använde ett strömbegränsande motstånd per LED. Normalt bör varje lysdiod få sitt eget motstånd, eftersom mer än en lysdiod tänds på en gång. Koden tillåter inte att mer än en lysdiod tänds i taget, därför är det bra att använda endast ett motstånd för att skydda Arduino. Detta sparar också utrymme på den lilla brödbrädan eller tidslödning av varje LED med ett in-line motstånd. Som sagt … VARNING !!! Om du planerar att ändra koden så att mer än en lysdiod lyser i taget behöver du separata motstånd för varje lysdiod.

Steg 10: Använd den

Använd den
Använd den

Använd kardborreband eller klister av varmt lim för att fästa lysdioderna på växter, staket, rosa flamingos eller något annat i din trädgård. Använd dem inuti genom att stoppa in dem i vinställ, bakom gardiner eller till och med hänga trådarna från taket för en 3D -flytande effekt i mörkret! Dessa skulle vara en bra touch för fester, bröllop, film och fotografering.

Steg 11: Gå vidare …

Som tidigare nämnts är detta en tidig version av detta projekt, men det är fullt av så mycket potential! Kör fler lysdioder genom att koppla in ett skiftregister (Se detta instruerbart av JColvin91 för att lära dig hur.) Lägg till en ljussensor, solcellsladdare och timer för en "ställ in och glöm det" -funktion! Röra med koden för att lägga till din egen flare till buggarna. Dela vad du gör och njut !!

UPPDATERING: Under de senaste två veckorna sedan denna Instructable publicerades har många bidragsgivare föreslagit strålande förbättringar av kod, hårdvara och genomförande av detta projekt. Jag rekommenderar starkt om du planerar att bygga detta, du läser igenom kommentarerna och svaren för idéer om hur man gör dessa blixtar på sätt som jag inte hade tänkt mig. Det är i andan med öppen källkod som jag välkomnar alla idéer som hjälper till att utveckla detta projekt till mer än jag trodde var möjligt … och jag tackar alla som fick det att hända.

Gå. Göra!!!

Rekommenderad: