Tartalomjegyzék:

Arduino Fireflies: 11 lépés (képekkel)
Arduino Fireflies: 11 lépés (képekkel)

Videó: Arduino Fireflies: 11 lépés (képekkel)

Videó: Arduino Fireflies: 11 lépés (képekkel)
Videó: Arduino - Fireflies in a jar 2024, Július
Anonim
Image
Image
Amire szüksége lesz
Amire szüksége lesz

Az egyik dolog, amit a pennsylvaniai nyarak előtt várok, a szentjánosbogarak a hátsó udvaromban. Nemrég tanítottam magamnak Adruino programozást, hogy elkészítsem ezt az egyszerű projektet. Ez egy nagyszerű program a kezdéshez, és elég egyszerű minden programozónak, kezdőnek és szakértőnek, néhány perc alatt felépíteni, módosítani és szórakozni. Lássunk neki.

1. lépés: Amire szüksége lesz

Amire szüksége lesz
Amire szüksége lesz

A hibák villogásához a következő összetevőkre lesz szüksége:

  • Arduino. A Nano-val kezdtem, de minden Arduino-kompatibilis mikrovezérlő megteszi.
  • Sárga LED -ek, 5 mm. Legfeljebb 6 -ot használhat.
  • Ellenállások. LED -enként egy ellenállás szükséges az áram korlátozásához. 470 ohmot használtam, de minden, ami 150 ohm felett van, rendben kell lennie a mikrovezérlő védelme érdekében.
  • Kenyeretábla.
  • Jumper huzal.

A háztáji projekt befejezéséhez szüksége lesz:

  • Időjárásálló projektdoboz.
  • 9 voltos akkumulátor csatlakozóval. (Kérjük, tekintse meg a megjegyzéseket a szakasz alján.)
  • Kapcsoló. (Ezeket a vízálló kapcsolókat választottam. Ha ezt nem kint használja, bármelyik kapcsoló megteszi.)
  • Néhány méter huzal a LED -ek elhelyezéséhez a kertben. Körülbelül 10 láb Cat5 Ethernet vezetéket használtam LED -enként.
  • Egy kenyérsütő deszkát vagy valami perf deszkát.
  • Időjárásálló kábelcsavar, amelyen keresztül a LED vezetékek futnak. (Ezt kihagyhatja, ha nem kívül is használja.)
  • Hőre zsugorodó cső, hogy megvédje a LED -es bogarat.
  • Zöld horog-hurok (azaz tépőzár) csíkok a LED szentjánosbogarak rögzítéséhez a kertben lévő növényekhez és oszlopokhoz.
  • Férfi fejlécek alkatrészek csatlakoztatásához a kenyérsütő táblához.

Eszközök:

  • Fúrószárak a projektdobozhoz. (Használja ki ezt a lehetőséget, és szerezzen magának egy szép lépést. Örülni fog annak, hogy megtette).
  • Ragasztópisztoly.
  • Forrasztópáka.
  • Forgatószerszám (azaz Dremel) a projektdobozban lévő hely kivágásához, ha szüksége van rá.

Néhány megjegyzés itt:

1. Az akkumulátor választása a gyors és egyszerű indítást szolgálta. A 9 voltos akkumulátor tartós használata kissé pazarló. Jobb, ha 4x AA elemtartót használ a hosszabb élettartam érdekében (azonban szüksége lesz egy nagyobb projektdobozra, amelybe illeszkedik).

2. Ha úgy dönt, hogy lebontja a Cat 5 Ethernet -kábelt a vezetékekhez, győződjön meg róla, hogy rézmagú, és tekerje őket szépen körbe néhány PVC -vel, hogy rendben tartsák őket munka közben. Ismét körülbelül 10 láb vezetéket használtam LED -enként. Ha messzire szeretné terjeszteni a lámpákat, mindenképpen használjon hosszabb vezetékeket!

3. Végül az általam megadott linkek pusztán javaslatok. Kérjük, olvassa el ezt az egész használati utasítást, mielőtt bármit épít vagy vásárol, mert így jobban megérti, hogyan szeretne személyesen továbblépni.

2. lépés: Építse fel az áramkört

Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört

Ez a projekt az Arduino impulzusszélesség -modulációs csapjait használja. A mikrovezérlőnek 6 ilyen csapja van, és bármennyit használhat. Az áramkör meglehetősen egyenes. Csatlakoztassa az összes energiát a D3, D5, D6, D9, D10 és D11 impulzusszélesség -modulációs (PWM) csapoktól a LED -ek pozitív végéig. Csatlakoztassa a negatív végeket az ellenállásokhoz, majd egy közös földhöz. (Az ellenállások mehetnek a LED elé vagy mögé. Ennek nincs jelentősége, kivéve, ha nagyobb áramerősségű rövidzárlat ellen akar védekezni.) Mellékeltem néhány kapcsolási rajzot a kábelezéshez. (A diagramok Fritzing tervezőszoftverrel készültek.)

3. lépés: A kód

Image
Image

Ha tapasztalt programozó vagy, akkor ezt a kódot leegyszerűsíted. Ez egy nagyszerű kód a tanulás megkezdéséhez, mivel bemutatja a változók, a pinmódok, a függvények és még a véletlen generátor használatát is. A kód nem olyan kompakt, mint amilyen lehet, mert biztos vagyok benne, hogy ugyanez a hatás érhető el tömbökkel stb.

A kód megjegyzései lefedik az egyes szakaszok logikáját. A teljes kód itt van beágyazva, és letöltheti az alábbi vázlatot.

/*

Ez a szkript 6 LED -et (természetesen sárgát) villog véletlenszerű sorrendben, véletlenszerű időközönként a PWM használatával. Minden LED -et saját funkciója vezérel. */ int led1 = 3; // LED csatlakozik a PWM 3. tűhöz, stb. Mind a 6 PWM csapot használtam. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; hosszú randnum; // randnum szabályozza a villanások és a hosszú randbug közötti időintervallumot; // randbug vezérli, melyik hiba világít. void setup () {pinMode (led1, OUTPUT); // Az összes PWM csap kimenetként való beállítása. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = random (3, 12); // A randbug véletlenszerűen kiválaszt egy végrehajtandó függvényt, // így véletlenszerűen kiválaszt egy hibát a felgyulladáshoz. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Ezen funkciók mindegyike ugyanúgy működik. 'a hurkoknál' növelje, majd csökkentse * a tű kimenetét a LED fényerejének szabályozásához. * A 'randnum' egy 10 és 3000 ms közötti véletlenszerű időintervallum *, és kiválaszt egy időintervallumot a hibavillanások között. * A 'delay 10' csak a fade effektus. */ void bug1 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); késleltetés (10); } delay (randnum); } void bug2 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); késleltetés (10); } delay (randnum); } void bug3 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); késleltetés (10); } delay (randnum); } void bug4 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); késleltetés (10); } delay (randnum); } void bug5 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); késleltetés (10); } delay (randnum); } void bug6 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); késleltetés (10); } delay (randnum); }

4. lépés: Készítse el a dobozt

Bug Butts építése!
Bug Butts építése!

Miután kóddal felvillantotta Arduino -ját, és a szentjánosbogarait úgy működtette, ahogy szeretné, érdemes a kertbe tenni; ez egy projektdobozt és némi hőzsugorodást jelent, hogy az Arduino és a LED -ek szárazon maradjanak. Csináljuk!

5. lépés: Bug Butts építése

Bug Butts építése!
Bug Butts építése!
Bug Butts építése!
Bug Butts építése!
Bug Butts építése!
Bug Butts építése!
  • Vágja le a LED -vezetékeket körülbelül 5 mm -re.
  • Csíkozza és ónozza a használt vezetékek végeit, szintén körülbelül 5 mm -t.
  • Csúsztasson 1 mm -es zsugorcsövet minden huzalvégre.
  • Forrasztja a LED -et a vezetékhez. (Ezen a ponton ki kell választania, hogy melyik vezeték a pozitív és melyik a negatív. Én a tömör vezetéket választottam pozitívnak, a fehér vezetéket pedig negatívnak. Tartsa ezt a stratégiát a projekt során, hogy elkerülje a fejfájást később!)
  • Csúsztassa fel teljesen a hőzsugorodást a csupasz vezeték és a LED -vezetékek fölé. Gyors lánggal fújja át őket, hogy a huzalokra zsugorodjon.
  • Csúsztasson egy újabb hőre zsugorodó darabot a LED -re és a vezetékekre úgy, hogy a LED -lencse kilógjon a végéből, és a helyén olvassza fel.
  • Csúsztasson a hőre zsugorodó darabokat a huzalra a teljes hosszában, és néhány percenként olvassza fel, hogy a huzal rendezett legyen.

6. lépés: Készítse elő a projektdobozt

Készítse elő a projektdobozt
Készítse elő a projektdobozt
Készítse elő a projektdobozt
Készítse elő a projektdobozt
  • Használjon csiszolódobos forgószerszámot a projektdobozban lévő felesleges műanyag eltávolításához. (Ügyeljen arra, hogy ne vágja le a csavarokat, amelyekre szükség lehet a doboz visszahelyezéséhez.)
  • Döntse el, hol szeretné elhelyezni a kapcsolót és a LED -vezetékeket. Javaslom az oldalakat, de használja azt, ami valaha is működik az Ön igényeinek megfelelően.
  • Használjon megfelelő méretű fúrót a lyukak készítéséhez a kábel tömszelencéhez és a kapcsolóhoz.

Megjegyzés: A fenti képen látni fogja, hogy készítettem egy "kábelt". Ez egy 6 pár huzalból álló köteg, amelyet a LED -ekhez használtam, zsugorodva, hogy összecsomózzam őket. Arra használtam, hogy megbizonyosodjak arról, hogy a kábel tömszelence jól illeszkedik -e a tényleges kábelköteghez, valamint a doboz vízállóságának teszteléséhez, amint a kapcsoló, a kábel tömszelence és a fedél be volt kapcsolva. (Miután 24 órára 6 hüvelykes vízbe merítették, nagyon kevés nedvesség volt benne. Örömmel nevezném ezt a dobozt "időjárásállónak".)

7. lépés: Hozd az erőt

Hozd az Erőt!
Hozd az Erőt!
Hozd az Erőt!
Hozd az Erőt!
  • Határozza meg, hogy mennyi akkumulátorra és kapcsolóvezetékre van szüksége az Arduino eléréséhez azáltal, hogy nagyjából mindhárom komponenst a projektdobozba helyezi. Vágja le a kapcsoló és a 9 V -os elemcsatlakozó vezetékeit. Vágja le és ónozza a végeit. A következő lépéshez csúsztasson egy kis zsugort a helyére.
  • Vágjon le két hím fejlécet a csíkról (de tartsa összeragadva).
  • Forrasztja a 9V -os elemcsatlakozó piros vezetékét a kapcsoló egyik végéhez. Forgassa a kapcsoló másik végét egy hüvelyes fejrészhez. Forrasztja a fekete akkumulátor vezetéket a másik dugaszolófejhez.
  • Amint az a fenti ábrán látható, a fejléc csapjai a kenyértáblába kerülnek, hogy táplálja a Nano -t a VIN -en (pozitív) és a GND -n (negatív). A VIN csap 7-12 voltot képes kezelni. Ha azt tervezi, hogy az Arduino -t nem 9 V -os akkumulátorról táplálja, akkor használjon másik tápegységet.

8. lépés: Szükség esetén módosítsa a Nano -t

Szükség esetén módosítsa a nanót
Szükség esetén módosítsa a nanót

Mivel a projektdobozom elég sekély volt, el kellett távolítanom az ICSP fejléc csapjait. Ezek a csapok másodlagos interfész az Arduino -val. Eltávolításuk nem károsítja a Nano készüléket, mivel a szkripteket mindig betöltheti az USB -porton keresztül.

Megjegyzés: Ha Nano -jához forrasztandó fejléceket kellett csatlakoztatni, egyszerűen hagyja ki ezeket a csapokat az Arduino összeszerelésekor.

9. lépés: Csatlakoztassa a belső részt

Image
Image
Huzalozza be a belső részt
Huzalozza be a belső részt
Huzalozza be a belső részt
Huzalozza be a belső részt
  • Csatlakoztassa a kábel tömszelencét a projektdobozhoz a fúrt lyukba. Ha zavarban van a kábeltömszelencével kapcsolatban, ez a videó, amelyet a YouTube -on találtam, azt mutatja, hogy össze kell szerelni. (gyors előretekerés 0: 57 -re.) Lehet, hogy a tiédben van egy gumi alátét. Ez a projektdoboz és a kábel tömszelence külső anyája között megy.
  • Gyűjtse össze a LED -vezetékek laza végeit. Szánja rá ezt az időt, hogy egyenlő hosszúságúra vágja őket, csíkozza és ónozza a végeit. Vezesse át a végeket a kábel tömszelence sapkáján, és egy hőzsugorító darab segítségével csavarja össze a végeket, és hagyjon elegendő hosszúságot ahhoz, hogy elérje a doboz belsejében lévő kenyértáblát.
  • Vezesse át a huzalköteget a kábeltömszelencén keresztül a projektdobozba, és csavarja el a tömszelencés sapkát, hogy rögzítse a vezetékeket a helyükön, lehetőleg a hőzsugor környékén, amelyet összecsomózott.
  • Válassza le a földelő vezetékeket a pozitív vezetékektől (emlékezzen arra, hogy melyiket választotta korábban). Forrasztja össze az összes földelővezetéket egy közös földbe. Csatlakoztasson egy rövid vezetéket ebből a csomóból, és fejezze be 1 férfi fejjel. Használjon hőzsugorodást a csupasz forrasztási ízületek védelmére.
  • Forrasztó dugófej minden pozitív vezeték végén. Ismét használjon hőzsugorítást.
  • Helyezze be a pozitív végű hímfejléceket a kenyértáblába, hogy csatlakozzon az Arduino PWM csapjaihoz.
  • Helyezze be a közös földet a kenyértáblába úgy, hogy áthaladjon egy áramkorlátozó ellenálláson, majd az Arduino GND -jére.
  • Helyezze be az akkumulátort, és illessze a kapcsolót a korábban fúrt doboz lyukán keresztül. Szerelje fel a gumi alátétet a projektdoboz és a csavaros kupak közé. Csatlakoztassa a tápkábeleket a kenyértáblához.
  • Csukja le vagy csavarja rá a fedelet a dobozra. Végeztél!

Megjegyzés: Figyelem a rajzokban és a fejlesztési szakaszokban LED -enként egy áramkorlátozó ellenállást használtam. Általában minden LED -nek saját ellenállást kell kapnia, mivel általában több LED is világít egyszerre. A kód nem teszi lehetővé, hogy egyszerre több LED is világítson, ezért csak egy ellenállás használata megfelelő az Arduino védelmére. Ez helyet is megtakarít a kis kenyértáblán, vagy időt forraszthat minden LED-re egy soros ellenállással. Ez azt mondta … FIGYELEM !!! Ha azt tervezi, hogy úgy módosítja a kódot, hogy egyszerre több LED is világít, akkor külön ellenállásokra lesz szüksége minden LED -hez.

10. lépés: Használja

Használd
Használd

Tépőzáras hevederek vagy forró ragasztó segítségével rögzítse a LED -eket az udvaron lévő növényekhez, kerítésekhez, rózsaszín flamingókhoz vagy bármi máshoz. Használja őket belül úgy, hogy borítóládákba, függönyök mögé dugja őket, vagy akár felakaszthatja a vezetékeket a mennyezetről, hogy 3D -ben lebegjen a sötétben! Ezek nagyszerűek lehetnek partik, esküvők, filmek és fotózás számára.

11. lépés: Továbblépés…

Mint korábban említettük, ez a projekt korai változata, de tele van annyi lehetőséggel! Futtasson több LED -et a műszakregiszter bekötésével (ennek módjáról lásd a JColvin91 utasítását.) Adjon hozzá fényérzékelőt, napelemes töltőt és időzítőt a "beállítás és felejtse el" funkció eléréséhez! Üssön a kóddal, és adja hozzá saját fáklyáját a hibákhoz. Oszd meg, amit készítesz és élvezd !!

FRISSÍTÉS: Az Instructable közzététele óta eltelt két hétben számos közreműködő ragyogó fejlesztéseket javasolt a projekt kódja, hardvere és végrehajtása terén. Határozottan azt tanácsolom, ha ezt tervezi, olvassa el a megjegyzéseket és a válaszokat, hogy ötleteket kapjanak arról, hogyan lehet ezeket a villámhibákat úgy elkészíteni, ahogy nem terveztem. A nyílt forráskódú alkotás szellemében üdvözlök minden ötletet, amelyek segítenek abban, hogy a projektet többre fejleszthessem, mint amennyire lehetségesnek tartottam… és köszönöm mindenkinek, aki ezt megvalósította.

Megy. Készíts !!!

Ajánlott: