Obsah:

Svietiaci sveter Arduino: 9 krokov
Svietiaci sveter Arduino: 9 krokov

Video: Svietiaci sveter Arduino: 9 krokov

Video: Svietiaci sveter Arduino: 9 krokov
Video: Как заработать $ 90,00 в день с нулевыми деньгами на старт... 2024, Júl
Anonim
Image
Image

Škaredé svetrové párty sú základnou dovolenkou. Každý rok musíte zlepšiť svoju hru a obliecť si ten najlepší sveter, aký nájdete. Ale tento rok môžete urobiť jeden lepšie a urobiť z neho ten najlepší sveter. Používame Adafruit Wearables na vytvorenie krásneho zapáleného svetra, ktorý určite zapôsobí na vašich priateľov a rodinu.

Adafruit už vytvoril niekoľko skvelých projektov okolo Wearables, takže na implementáciu tohto projektu používame ich upravený kód z ich projektu Sparkle Skirt.

V tomto návode budete:

  • Naučte sa používať nositeľné zariadenia
  • Kódujte svoju dosku Flora, akcelerometer a NeoPixels, aby sa rozsvietili pomocou Arduina

Krok 1: Začíname

Začíname
Začíname

Budeme používať nositeľné prvky Adafruit Flora, batériu, vodivú niť a sviatočný sveter. Budete tiež potrebovať pravidelnú niť, ihly a lak na nechty. Časom to všetko bude dávať zmysel. Naša verzia bude dávať Santovi rozžiariť oči, ale podporujeme všetky náboženstvá, sviatky a presvedčenia, takže buďte kreatívni!

  • Hlavná doska Adafruit Flora (https://www.adafruit.com/product/659)
  • Akcelerometer Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Batéria (https://www.adafruit.com/product/727)
  • Vodivé vlákno (https://www.adafruit.com/product/641)

Krok 2: Rozloženie

Rozloženie
Rozloženie

Pred začatím procesu zošívania musíme rozložiť pixely, hlavnú dosku a akcelerometer. Pixely budú mať dátové pripojenie, + pre napájanie a - pre uzemnenie. Akcelerometer potrebuje pripojenie pre 3V, SCL, SDA a uzemnenie.

Rozložte pixely, hlavnú dosku a akcelerometer na sveter tak, ako ho plánujete ušiť. Uistite sa, že neprekročíte žiadne švy, pretože to spôsobí šortky. Pretože máme dosku lícom dovnútra a NeoPixels lícom von, na pripojenie NeoPixelov používame 3V, pin 9 a uzemnenie.

NeoPixels majú šípku, ktorá ukazuje, ako by malo ísť dátové pripojenie z hlavnej dosky Flora na nasledujúci NeoPixel. Zaistite, aby boli všetky NeoPixely zoradené rovnako.

Krok 3: Tipy na zošitie

Dôležitou súčasťou šitia sú tri veci; žiadne šortky/kríženie stehov, tesné uzly pri ukončení stehu a dobré spojenie s nositeľmi

Žiadne šortky/kríženie stehov

Umiestnite svoje nositeľné prvky tak, aby sa vaše švy neprekrížili. Čiary by sa, samozrejme, nemali krížiť. Akonáhle budete mať rozloženie, ktoré zaistí, že všetky stehy zostanú oddelené, musíte sa uistiť, že stehy sú tesné. Ak necháte príliš veľkú vôľu, môže sa vlákno dotknúť. Po dokončení stehu odstrihnite prebytočné konce, aby nevznikli žiadne zatúlané nite.

Pevné uzly

Na konci stehovej čiary tesný uzol zaistí, aby sa steh neuvoľnil. Ide o to, dať na uzol malý kopček číreho laku na nechty a nechať ho uschnúť. To pomáha držať uzol na mieste, podobne ako lepidlo. Vodivá niť nedrží v uzle tak dobre ako bežná niť, preto vrelo odporúčam použiť lak na nechty, inak môžete prestať šiť.

Dobré spojenia

Uistite sa, že slučky na kolíkoch sú tesné. Pomôže to zaistiť, že ak váš obvod nefunguje, vieme, že problémom nie sú pripojenia. Kolíky môžete prevlečiť 2-3 krát, aby ste sa uistili, že vždy bude dobré spojenie.

Tipy a triky

Keď si ho oblečiete a vyzlečiete, uistite sa, že váš odev nie je zapnutý. Toto je najľahší spôsob, ako sa vlákien dotýkať a spôsobovať skraty. Batériu nezapínajte, kým sa odev pohodlne nezapne.

Krok 4: Spojenie komponentov

Šitie komponentov
Šitie komponentov
Šitie komponentov
Šitie komponentov

Prvý kus, ktorý musíme pripevniť, je hlavná doska Flora. Prišite dosku k svojmu svetru pomocou pravidelného vlákna cez dva kolíky, ktoré neplánujete použiť. To udrží dosku na mieste a uľahčí šitie pomocou vodivej nite. Niekoľko jednoduchých slučiek stačí na to, aby sa nepohybovala.

Ďalej musíte zošiť štyri spojenia zo základnej dosky Flora a akcelerometra. Bude to Power, Ground, SCL a SDA. Ak umiestnite akcelerometer vľavo hore na hlavnú dosku, prepojenia sa budú priamo spájať. Na spojenie dvoch dosiek teda budete mať štyri oddelené stehy. Na oba koncové uzlíky naneste malý čistý lak, aby sa nerozplietli. Trochu laku na nechty na doskách im neublíži.

Nakoniec musíte k NeoPixels pripojiť 3V, uzemnenie a dátové pripojenia z hlavnej dosky Flora. Môžete urobiť dva dlhé, súvislé stehy pre zem a silu, pretože sú v spodnej a hornej časti NeoPixels. Pre dátové pripojenia z kolíka 9 musíte urobiť oddelené stehy od každého NeoPixelu k ďalšiemu.

Krok 5: Arduino IDE

Hlavná doska Flora je kompatibilná s Arduino, takže pre náš kód budeme používať Arduino IDE. Najnovšiu verziu si môžete stiahnuť prostredníctvom tohto odkazu.

Prostredníctvom tohto odkazu je aj webová verzia.

Na používanie našich NeoPixelov a akcelerometra je potrebné pridať štyri knižnice. Prejdite na položku Skica, Zahrnúť knižnicu, Spravovať knižnice. Pre každý ho budete musieť vyhľadať podľa názvu, vybrať najnovšiu verziu a kliknúť na inštaláciu.

  • Adafruit NeoPixel
  • Jednotný senzor Adafruit
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Akonáhle sú tieto nainštalované a šitie je dokončené, sme pripravení otestovať náš sveter, aby sme sa uistili, že všetko funguje.

Krok 6: Testujte skripty

Skúšobné skripty
Skúšobné skripty

Na otestovanie nášho projektu potrebujeme pripojiť našu základnú dosku Adafruit k počítaču pomocou kábla USB. Potom prejdite na Nástroje, Port a v zozname vyberte svoju hlavnú dosku Flora.

Prvá vec, ktorú otestujeme, je, či akcelerometer funguje správne. Prejdite na Súbor, Príklady, Adafruit LSM303DLHC, akcelerátor. Otvorí sa skript, ktorý testuje, či je snímač pripojený, a číta hodnoty súradníc. Nahrajte na svoju dosku a otvorte sériový monitor v pravom hornom rohu Arduino IDE. Ak vidíte, ako sa na sériovom monitore menia hodnoty, ako na fotografii, pri pohybe akcelerometrom to funguje!

Druhá vec, ktorú otestujeme, je, či NeoPixels fungujú. Prejdite na Súbor, Príklady, Adafruit NeoPixels, strandtest. Pred spustením tohto skriptu zmeňte Pin na 9 a počet pixelov na 6 (alebo čokoľvek, čo pre svoj projekt používate). Odovzdajte na svoju nástenku a ak sa všetky pixely rozsvietia, ste pripravení na konečný scenár!

Krok 7: Záverečný skript

Záverečný scenár
Záverečný scenár

Teraz je načase načítať náš konečný kód. Skopírujte nižšie uvedený kód do nového súboru projektu. Pin je nastavený na 9 a počet NeoPixelov je na 6. Ak používate niečo iné, pred spustením tohto skriptu ich zmeňte. Obľúbené farby môžete upraviť úpravou hodnôt R, G a B od 0 do 255. Môžete tiež pridať ďalšie obľúbené farby pridaním nového riadka. Rovnako je možné nastaviť prah pohybu. Čím nižšie je číslo, tým ľahšie je detekovať pohyb a zapnúť NeoPixely. Akonáhle vykonáte požadované zmeny, uložte ich a nahrajte na svoju hlavnú dosku Flora. Ak pohnete akcelerometrom, mali by ste vidieť rozsvietenie pixelov. Akonáhle uvidíte, že sa môžete odpojiť od počítača a môžeme sa pripojiť k našej batérii.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parameter 1 = počet pixelov v páse // Parameter 2 = číslo PINu (väčšina z nich je dobrých, ale používame 9) // Parameter 3 = typ pixelu vlajky, sčítajte podľa potreby: // NEO_RGB Pixely sú zapojené pre bitový tok RGB (v1 pixelov FLORA, nie v2) // NEO_GRB Pixely sú zapojené pre bitový tok GRB (väčšina produktov NeoPixel. produkt, ktorý používame) // NEO_KHZ400 400 KHz (klasický 'v1' (nie v2) pixely FLORA, ovládače WS2811) // NEO_KHZ800 800 KHz bitstream (väčšina produktov NeoPixel s LED diódami WS2812. produkt, ktorý používame) pás Adafruit_NeoPixel = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KHZ800) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Upravte R, G, B od 0 do 255 a // pridajte nové {nnn, nnn, nnn}, pre viac farieb // RGB uint8_t myFavoriteColors [3] = 3 255, 255, 255}, // biela {255, 0, 0}, // červená {0, 255, 0}, // zelená}; // neupravujte riadok pod #define FAVCOLORS sizeof (myFavoriteColors) /3 // toto číslo upravuje citlivosť pohybu // nižšie číslo = citlivejšie #define MOVE_THRESHOLD 5 // supercitlivé aktuálnevoid setup () {Serial.begin (9600); // Skúste inicializovať a varovať, ak sa nám nedarí detekovať čip // Na zobrazenie výtlačku použite Serial Monitor, ak (! Accel.begin ()) {Serial.println („Máme problém. Si to ty, nie ja … nie je možné inicializovať LSM303. Začal by som rýchlou kontrolou zapojenia “); pričom (1); } strip.begin (); strip.show (); // Nastaviť pixely na 'vypnuté'} void loop () {/ * Získať novú udalosť senzora */ sensor_event_t udalosť; accel.getEvent (& event); // Serial.print ("Accel X:"); Serial.print (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Serial.print (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // Získa veľkosť (dĺžku) dvojosového vektora uloženého dvakrátVector = event.acceleration.x*event.acceleration.x; uloženéVector += event.acceleration.y*event.acceleration.y; uloženéVector += event.acceleration.z*event.acceleration.z; uloženéVektor = sqrt (uloženýVektor); // Serial.print ("Len:"); Serial.println (uloženéVector); // chvíľu počkajte (250); // získajte nové údaje! accel.getEvent (& event); double newVector = event.acceleration.x*event.acceleration.x; newVector += event.acceleration.y*event.acceleration.y; newVector += event.acceleration.z*event.acceleration.z; newVector = sqrt (newVector); // Serial.print ("New Len:"); Serial.println (newVector); // už sa sťahujeme? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // prvé číslo je oneskorenie „čakania“, kratšie num == kratšie bliknutie flashRandom (10, 4); // druhé číslo je, koľko neopixelov súčasne rozsvieti flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// náhodne vybrané z obľúbených farieb int c = random (FAVCOLORS); int biela = myFavoriteColors [c] [0]; int červená = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // pixely, ktoré sa majú zapnúť v poradí pre (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print („Pixel zapnutý“); Serial.println (i); // teraz to 'vybledneme' v 3 krokoch pre (int x = 0; x = 0; x--) {int w = white * x; m /= 3; int r = červená * x; r /= 3; int g = zelená * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); oneskorenie (čakanie); }} // LED diódy zhasnú (sú vyblednuté na 0)}

Krok 8: Batéria

Balenie batérií
Balenie batérií

Aby bol váš sveter stále napájaný, použijeme batériu. Pre balík musíme vytvoriť postroj, aby nevisel iba z dosky. Ako vrecko na batériu som použil roh starej obliečky na vankúš. Zošil som otvorenú stranu a jednu stranu hornej časti prišil k svetru dostatočne blízko k hlavnej doske, aby sa dal ľahko zapojiť a neťahať zaň.

Pripojte batériu k základnej doske, prepnite malý prepínač na hlavnej doske z vypnutej do zapnutej polohy a zapnite batériu. Váš sveter by mal teraz fungovať a pripravený na nosenie.

Krok 9: Záver

Záver
Záver

Teraz ste vyrobili rozsvietený sveter, ktorý zapôsobí na všetkých vašich priateľov a rodinu! Nejde však len o prázdninový projekt. Urobte zo svojho Valentína svetlý svetrík alebo si na deň svätého Patrika zapáľte trojlístok. Zapojte svoju predstavivosť a dajte nám vedieť, čo ste vytvorili!

Odporúča: