Obsah:

Arduino Fireflies: 11 krokov (s obrázkami)
Arduino Fireflies: 11 krokov (s obrázkami)

Video: Arduino Fireflies: 11 krokov (s obrázkami)

Video: Arduino Fireflies: 11 krokov (s obrázkami)
Video: Как уменьшить размер джинсов (изменить размер талии и ног!) | ВИТЕНДИ 2024, November
Anonim
Image
Image
Čo budete potrebovať
Čo budete potrebovať

Jednou z vecí, na ktoré sa teším s letami v Pensylvánii, sú svetlušky na mojom dvore. Nedávno som sa naučil programovať Adruino za účelom vytvorenia tohto jednoduchého projektu. Je to skvelý program na začiatok a je dosť ľahký na to, aby ho každý programátor, začiatočník až expert, postavil, upravil a zabavil sa za niekoľko minút. Začnime.

Krok 1: Čo budete potrebovať

Čo budete potrebovať
Čo budete potrebovať

Aby vaše chyby blikali, budete potrebovať tieto komponenty:

  • Arduino. Začal som s Nano, ale bude to fungovať s akýmkoľvek mikrokontrolérom kompatibilným s Arduino.
  • Žlté LED diódy, 5 mm. Môžete ich použiť až 6.
  • Rezistory. Na obmedzenie prúdu budete potrebovať jeden odpor na každú LED. Použil som 470 ohmov, ale čokoľvek nad 150 ohmov by malo byť v poriadku na ochranu vášho mikrokontroléra.
  • Breadboard.
  • Prepojovací drôt.

Na dokončenie projektu na vašom dvore budete potrebovať:

  • Krabica projektu odolná voči poveternostným vplyvom.
  • 9-voltová batéria s konektorom. (Pozrite si poznámky v spodnej časti tejto sekcie.)
  • Prepnúť. (Vybral som tieto vodotesné prepínače. Ak to nepoužívate vonku, postačí akýkoľvek prepínač.)
  • Niekoľko yardov drôtu na umiestnenie LED diód po záhrade. Na jednu LED som použil asi 10 stôp ethernetového drôtu Cat5.
  • Malý chlebník alebo nejaká doska na perf.
  • Káblová priechodka odolná voči poveternostným vplyvom, ktorou prechádzajú vodiče LED. (Môžete to vynechať, ak to nepoužívate aj vonku.)
  • Tepelne zmrštiteľné hadičky na ochranu zadkov LED s chybou.
  • Zelené pásy na suchý zips (t.j. suchý zips) na pripevnenie svetlušiek LED k rastlinám a stĺpikom vo vašej záhrade.
  • Samčie hlavičky pre zapojenie komponentov do vášho malého breadboardu.

Náradie:

  • Vrtáky do projektového boxu. (Využite túto príležitosť a urobte zo seba pekný krok. Budete radi, že ste to urobili).
  • Horúca lepiaca pištoľ.
  • Spájkovačka.
  • Rotačný nástroj (t.j. Dremel) na vyrezanie priestoru v projektovom boxe, ak ho potrebujete.

Niekoľko poznámok tu:

1. Voľba batérie bola pre rýchle a jednoduché spustenie. Trvalé používanie 9-voltovej batérie je trochu zbytočné. Radšej budete používať držiak batérie 4x AA pre dlhšiu životnosť (budete však potrebovať väčšiu krabicu na projekt, do ktorej sa zmestí).

2. Ak sa rozhodnete dekonštruovať ethernetový kábel Cat 5 pre vodiče, uistite sa, že majú medené jadro, a úhľadne ich omotajte okolo PVC, aby boli pri práci organizované. Na jednu LED som opäť použil asi 10 stôp drôtu. Ak chcete rozsvietiť svetlá široko -ďaleko, v každom prípade použite dlhšie káble!

3. Nakoniec, všetky odkazy, ktoré som uviedol, sú iba návrhmi. Pred stavbou alebo kúpou čohokoľvek si prečítajte tento návod, aby ste lepšie porozumeli tomu, ako by ste chceli osobne postupovať.

Krok 2: Vybudujte obvod

Vybudujte obvod
Vybudujte obvod
Vybudujte obvod
Vybudujte obvod
Vybudujte obvod
Vybudujte obvod

Tento projekt používa kolíky modulácie šírky impulzu na vašom Arduino. Mikroprocesor má 6 z týchto kolíkov a môžete ich použiť, koľko chcete. Okruh je celkom priamy. Pripojte všetku energiu z kolíkov D3, D5, D6, D9, D10 a D11 impulznej šírkovej modulácie (PWM) na kladné konce vašich diód LED. Pripojte záporné konce k rezistorom a potom na spoločnú zem. (Odpory môžu byť pred alebo za diódou LED. Nezáleží na tom, pokiaľ sa nechcete chrániť pred skratmi pri vyšších prúdoch.) Pri zapojení som pridal niekoľko schém. (Diagramy boli vytvorené pomocou návrhového softvéru Fritzing.)

Krok 3: Kód

Image
Image

Ak ste skúsený programátor, bude vám tento kód zjednodušujúci. Je to skvelý kód, s ktorým sa môžete začať učiť, pretože vás zoznámi s používaním premenných, pinmodes, funkcií a dokonca aj s náhodným generátorom. Kód nie je taký kompaktný, ako by mohol byť, pretože som si istý, že rovnaký účinok možno dosiahnuť pomocou polí atď.

Komentáre k kódu rozvrhujú logiku každej sekcie. Tu je vložený celý kód a nižšie si môžete stiahnuť náčrt.

/*

Tento skript bliká 6 LED diód (samozrejme žltých) v náhodnom poradí v náhodných intervaloch pomocou PWM. Každá LED dióda je ovládaná svojou vlastnou funkciou. */ int led1 = 3; // LED pripojená na PWM pin 3, atď. Použil som všetkých 6 PWM pinov. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; dlhé randnum; // randnum riadi časový interval medzi zábleskami a dlhým randbug; // randbug riadi, ktorá chyba sa rozsvieti. void setup () {pinMode (led1, OUTPUT); // Nastavenie všetkých pinov PWM ako výstupov. pinMode (led2, VÝSTUP); pinMode (led3, VÝSTUP); pinMode (led4, VÝSTUP); pinMode (led5, VÝSTUP); pinMode (led6, VÝSTUP); } void loop () {randbug = random (3, 12); // randbug náhodne vyberie funkciu, ktorá sa má vykonať, // teda náhodne vyberie chybu, ktorá sa má rozsvietiť. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Každá z týchto funkcií funguje rovnako. „Pre slučky“zvýšte a potom znížte * výstup tohto kolíka na ovládanie jasu LED. * „randnum“je náhodný časový interval medzi 10 a 3 000 ms * a vyberá časový interval medzi blikaním chýb. * 'delay 10' je len pre efekt vyblednutia. */ void bug1 () {randnum = random (10, 3000); pre (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); oneskorenie (10); } oneskorenie (randnum); } void bug2 () {randnum = random (10, 3000); pre (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); oneskorenie (10); } oneskorenie (randnum); } neplatná chyba3 () {randnum = náhodná (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); oneskorenie (10); } oneskorenie (randnum); } void bug4 () {randnum = random (10, 3000); pre (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); oneskorenie (10); } oneskorenie (randnum); } neplatná chyba5 () {randnum = náhodná (10, 3000); pre (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); oneskorenie (10); } oneskorenie (randnum); } neplatná chyba6 () {randnum = náhodná (10, 3000); pre (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); oneskorenie (10); } oneskorenie (randnum); }

Krok 4: Zostavte krabicu

Budovanie zadkov!
Budovanie zadkov!

Keď svojmu Arduinu zablokujete kód a prinúti vaše svetlušky pracovať tak, ako chcete, môžete ich dať do záhrady; to znamená projektový box a určité zmršťovanie teplom, aby Arduino a LED diódy zostali suché. Urobme!

Krok 5: Budovanie zadkov

Budovanie zadkov!
Budovanie zadkov!
Budovanie zadkov!
Budovanie zadkov!
Budovanie zadkov!
Budovanie zadkov!
  • Orežte LED diódy na približne 5 mm.
  • Odizolujte a pocínujte konce drôtov, ktoré používate, tiež asi 5 mm.
  • Na každý koniec drôtu nasuňte 1 mm zmršťovaciu trubičku.
  • LED spájkujte s vodičom. (V tomto mieste by ste si mali zvoliť, ktorý drôt vo vašom páre bude váš kladný a ktorý záporný. Vybral som plný drôt ako kladný a biely drôt ako záporný. Udržujte túto stratégiu v celom projekte, aby ste sa vyhli bolestiam hlavy neskôr!)
  • Zasuňte zmršťovač tepla úplne cez holý drôt a vodiče LED. Prejdite cez ne rýchlym plameňom, aby ste ich zmenšili na drôty.
  • Nasuňte ďalší kus zmršťovača tepla na diódu LED a vodiče s LED šošovkou vytiahnutou na koniec a roztavte ho na miesto.
  • Nasaďte niekoľko kúskov zmršťovadla na drôt po celej jeho dĺžke a roztavte ho na každých pár stôp, aby bol drôt v poriadku.

Krok 6: Pripravte si rámček projektu

Pripravte si rámček projektu
Pripravte si rámček projektu
Pripravte si rámček projektu
Pripravte si rámček projektu
  • Pomocou rotačného nástroja s brúsnym bubnom vyčistite nepotrebný plast v krabici od projektu. (Dávajte pozor, aby ste neodrezali všetky skrutkové držiaky, ktoré budete potrebovať pri skladaní škatule.)
  • Rozhodnite sa, kde chcete, aby bol váš prepínač a LED káble. Odporúčam strany, ale použite to, čo vyhovuje vašim potrebám.
  • Na vyvŕtanie otvorov pre káblovú priechodku a vypínač použite vrták príslušnej veľkosti.

Poznámka: Na fotografii vyššie uvidíte, že som vyrobil „fiktívny kábel“. Jedná sa o zväzok 6 párov drôtu, ktorý som použil pre LED diódy so zmršťovaním teplom, aby som ich spojil. Použil som to, aby som sa ubezpečil, že káblová priechodka bude pekne pasovať so skutočným káblovým zväzkom, a tiež na testovanie odolnosti boxu voči vode, keď bol vypínač, káblová priechodka a veko zapnuté. (Po 24-hodinovom ponorení do 6 palcov vody mal vo vnútri veľmi malú vlhkosť. Rád by som tento box nazval „odolným voči poveternostným vplyvom“.)

Krok 7: Prineste silu

Prineste silu!
Prineste silu!
Prineste silu!
Prineste silu!
  • Zistite zhruba, koľko batérie a prepínacieho vodiča budete potrebovať na dosiahnutie Arduina, zhruba umiestnením všetkých troch komponentov do projektového poľa. Zastrihnite vodiče vypínača a konektora 9V batérie. Konce odizolujte a pocínujte. V nasledujúcom kroku zasuňte na miesto určité zmršťovadlo.
  • Odrežte dva mužské kolíky záhlavia z pásika (nechajte ich však prilepené).
  • Červený vodič konektora 9V batérie spájkujte s jedným koncom spínača. Druhý koniec prepínača spájkujte s kolíkovým konektorom. Spájkujte čierny kábel batérie k druhému kolíkovému konektoru.
  • Ako je znázornené na obrázku vyššie, kolíky záhlavia pôjdu do breadboardu, aby napájali Nano na VIN (pozitívny) a GND (negatívny). Pin VIN zvládne 7 až 12 voltov. Ak plánujete napájať svoje Arduino iným spôsobom ako 9V batériou, použite iný napájací kolík.

Krok 8: V prípade potreby upravte nano

V prípade potreby upravte nano
V prípade potreby upravte nano

Keďže môj projektový box bol dosť plytký, potreboval som odstrániť kolíky záhlavia ICSP, aby sa zmestili. Tieto piny sú sekundárnym rozhraním s vašim Arduino. Ich odstránenie nepoškodí Nano, pretože skripty môžete vždy načítať cez port USB.

Poznámka: Ak váš Nano prišiel, že potrebujete spájkovať kolíky záhlavia, pri montáži Arduina tieto kolíky jednoducho vynechajte.

Krok 9: Zapojte vnútro

Image
Image
Drôt zvnútra
Drôt zvnútra
Drôt zvnútra
Drôt zvnútra
  • Pripojte port káblovej priechodky k projektovej skrinke v otvore, ktorý ste pre ňu vyvŕtali. Ak ste zmätení z používania káblovej priechodky, toto video, ktoré som našiel na YouTube, ukazuje, ako sa montuje. (rýchly posun vpred na 0:57.) Váš môže mať gumovú podložku. To sa nachádza medzi skrinkou projektu a vonkajšou maticou káblovej priechodky.
  • Zhromaždite voľné konce vodičov LED. Nájdite si čas a orežte ich na rovnakú dĺžku, odizolujte a pocínujte konce. Konce prevlečte viečkom káblovej priechodky a kúskom zmršťovadla spojte konce k sebe, pričom ponechajte dostatočnú dĺžku, aby ste sa dostali na dosku chleba vo vnútornej časti škatule.
  • Prevlečte zväzok drôtov cez otvor káblovej priechodky do projektovej skrinky a otočením viečka priechodky zaistite drôty na svojom mieste, najlepšie okolo zmršťovadla, ktoré ste použili na ich spojenie.
  • Oddeľte uzemňovacie vodiče od kladných vodičov (nezabudnite, ktoré ste vybrali skôr). Spájajte všetky uzemňovacie vodiče do jedného spoločného uzemnenia. Z tohto zväzku pripevnite krátky drôt a zakončite 1 zástrčkou. Na ochranu holých spájkovaných spojov použite zmršťovanie.
  • Na koncoch každého kladného vodiča spájkujte zástrčku. Opäť použite zmršťovanie teplom.
  • Vložte zástrčkové konektory s pozitívnym koncom do nepájivej dosky, aby ste sa pripojili k pinom PWM na Arduine.
  • Vložte spoločnú zem do nepájivého poľa tak, aby prechádzala cez odpor obmedzujúci prúd a potom na GND na Arduine.
  • Vložte do batérie a prepínač zasuňte do otvoru v krabici, ktorú ste predtým vyvŕtali. Namontujte gumovú podložku medzi schránku projektu a skrutkovací uzáver. Zapojte napájacie káble do dosky.
  • Zaklapnite alebo priskrutkujte veko na škatuľu. Hotovo!

Poznámka: V schémach a vo vývojových fázach som použil jeden odpor obmedzujúci prúd na jednu LED. Každá LED dióda by spravidla mala mať vlastný odpor, pretože spravidla svieti viac ako jedna LED dióda naraz. Kód neumožňuje rozsvietiť viac ako jednu diódu LED naraz, preto je na ochranu Arduina vhodné použiť iba jeden odpor. To tiež šetrí miesto na malej doske alebo časové spájkovanie každej LED diódy s in-line odporom. To znamená … VAROVANIE !!! Ak plánujete zmeniť kód tak, aby súčasne svietilo viac ako jedna dióda LED, budete potrebovať oddelené odpory pre každú diódu LED.

Krok 10: Použite to

Použi to
Použi to

Pomocou suchých zipsov alebo tampónov horúceho lepidla pripevnite LED diódy k rastlinám, plotom, ružovým plameniakom alebo čomukoľvek inému na vašom dvore. Použite ich vo vnútri tým, že ich zastrčíte do stojanov na víno, za závesy alebo dokonca zavesíte drôty zo stropu a získate 3D plávajúci efekt v tme! To by bolo skvelé na párty, svadby, film a fotografiu.

Krok 11: Choďte ďalej…

Ako už bolo uvedené, toto je raná verzia tohto projektu, ale je plná veľkého potenciálu! Spustite viac diód LED zapojením posuvného registra (informácie nájdete v tomto návode od spoločnosti JColvin91.) Pridajte svetelný senzor, solárnu nabíjačku a časovač, aby ste mohli funkciu „nastaviť a zabudnúť“! Neporiadok v kóde a pridaní vlastnej chyby k chybám. Podeľte sa o to, čo robíte, a užívajte si !!

AKTUALIZÁCIA: Za posledné dva týždne od zverejnenia tohto Instructable navrhlo mnoho prispievateľov vynikajúce vylepšenia kódu, hardvéru a vykonávania tohto projektu. Dôrazne odporúčam, ak máte v pláne to vybudovať, prečítate si komentáre a odpovede na nápady, ako vyrobiť tieto bleskové chyby spôsobmi, ktoré som neplánoval. V duchu tvorby open source vítam všetky nápady, ktoré pomáhajú rozvinúť tento projekt na viac, ako som si myslel, že je možné … a ďakujem všetkým, ktorí to urobili.

Choď. Urobiť!!!

Odporúča: