Obsah:

Svítící svetr Arduino: 9 kroků
Svítící svetr Arduino: 9 kroků

Video: Svítící svetr Arduino: 9 kroků

Video: Svítící svetr Arduino: 9 kroků
Video: Час кода — Уродливый свитер — Arduino LiveCast S04E02 2024, Červenec
Anonim
Image
Image

Ošklivé svetrové párty jsou základem prázdnin. Každý rok musíte vylepšit svoji hru a obléknout si ten nejlepší svetr, jaký najdete. Ale letos můžete udělat jeden lepší a udělat nejlepší svetr. Používáme Adafruit Wearables k vytvoření nádherného svítícího svetru, který určitě zapůsobí na vaše přátele a rodinu.

Adafruit již vytvořil několik skvělých projektů kolem Wearables, takže používáme jejich upravený kód k implementaci tohoto projektu z jejich projektu Sparkle Skirt.

V tomto tutoriálu budete:

  • Naučte se používat Wearables
  • Kódujte základní desku Flora, akcelerometr a NeoPixels, aby se rozsvítily pomocí Arduina

Krok 1: Začínáme

Začínáme
Začínáme

Použijeme Adafruit Flora Wearables, bateriový balíček, vodivé vlákno a sváteční svetr. Budete také potřebovat pravidelnou nit, jehly a lak na nehty. Časem to všechno bude dávat smysl. Naše verze dá Santovi rozzářit oči, ale podporujeme všechna náboženství a svátky a víry, buďte tedy kreativní!

  • Hlavní deska Adafruit Flora (https://www.adafruit.com/product/659)
  • Akcelerometr Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Sada baterií (https://www.adafruit.com/product/727)
  • Vodivé vlákno (https://www.adafruit.com/product/641)

Krok 2: Rozložení

Rozložení
Rozložení

Před zahájením procesu sešívání musíme rozložit pixely, základní desku a akcelerometr. Pixely budou mít datové připojení, + pro napájení a - pro uzemnění. Akcelerometr potřebuje připojení pro 3V, SCL, SDA a uzemnění.

Rozvrhněte pixely, hlavní desku a akcelerometr na svetr, jak ho plánujete sešít. Ujistěte se, že nepřekročíte žádné šití, protože to způsobí šortky. Protože máme desku otočenou čelem a NeoPixels lícem ven, používáme k připojení NeoPixelů 3V, Pin 9 a Ground.

NeoPixely mají šipku, která ukazuje, jak by mělo jít datové připojení z hlavní desky Flora na další NeoPixel. Ujistěte se, že jsou všechny NeoPixely seřazeny stejným způsobem.

Krok 3: Tipy na šití

Důležitou součástí šití jsou tři věci; žádné šortky/křížení stehů, těsné uzly při ukončení stehu a dobré spojení s Wearables.

Žádné šortky/křížení stehů

Ujistěte se, že vaše Wearables jsou rozloženy tak, aby se vaše švy nepřekřížily. Čáry by se evidentně neměly překračovat. Jakmile budete mít rozvržení, které zajistí, že všechny stehy zůstanou oddělené, musíte se ujistit, že stehy jsou těsné. Pokud necháte příliš mnoho vůle, může se nit dotýkat. Jakmile steh dokončíte, přebytečné konce odstřihněte, aby nevznikly žádné zbloudilé nitě.

Pevné uzly

Když ukončujete linii stehu, těsný uzel zajistí, že se steh neuvolní. Jde o to, dát malý uzlíček čirého laku na nehty a nechat zaschnout. To pomáhá držet uzel na místě, podobně jako lepidlo. Vodivá nit nedrží v uzlu tak dobře jako běžná nit, takže vřele doporučuji použít lak na nehty, jinak můžete skončit se uvolněním stehů.

Dobré spojení

Ujistěte se, že jsou smyčky na kolících těsné. To pomůže zajistit, že pokud váš obvod nefunguje, víme, že problémem nejsou připojení. Kolíky můžete procházet 2–3krát, abyste se ujistili, že vždy bude dobré spojení.

Tipy a triky

Při svlékání a svlékání se ujistěte, že váš oděv není zapnutý. Toto je nejjednodušší způsob, jak se dotýkat vláken a způsobit zkrat. Nezapínejte baterii, dokud se oděv pohodlně nezapne.

Krok 4: Sešití součástí

Sešívání součástí
Sešívání součástí
Sešívání součástí
Sešívání součástí

První kus, který musíme připojit, je hlavní deska Flora. Prošijte desku ke svému svetru pomocí pravidelného vlákna dvěma kolíky, které neplánujete použít. Tím udržíte desku na místě a usnadníte šití pomocí vodivé nitě. Několik jednoduchých smyček stačí, aby se nepohybovala.

Dále musíte spojit čtyři spoje z hlavní desky Flora a akcelerometru. Bude to Power, Ground, SCL a SDA. Pokud umístíte akcelerometr vlevo nahoře na hlavní desce, spoje se přímo spojí. K propojení obou desek tedy budete mít čtyři oddělené stehy. Na oba koncové uzly použijte trochu čirého laku na nehty, aby se nerozmotaly. Trocha laku na nehty na deskách jim neublíží.

Nakonec musíte k NeoPixels připojit 3V, uzemnění a datová připojení z hlavní desky Flora. Můžete udělat dva dlouhé, souvislé stehy pro zemi a sílu, protože ty jsou ve spodní a horní části NeoPixelů. Pro datová připojení z Pin 9 musíte provést oddělené stehy od každého NeoPixelu k dalšímu.

Krok 5: Arduino IDE

Základní deska Flora je kompatibilní s Arduino, takže pro náš kód budeme používat Arduino IDE. Nejnovější verzi si můžete stáhnout prostřednictvím tohoto odkazu.

Prostřednictvím tohoto odkazu existuje také webová verze.

K používání našich NeoPixelů a Akcelerometru je třeba přidat čtyři knihovny. Přejděte na Sketch, Include Library, Manage Libraries. U každého je budete muset vyhledat podle názvu, vybrat nejnovější verzi a kliknout na nainstalovat.

  • Adafruit NeoPixel
  • Sjednocený senzor Adafruit
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Jakmile jsou nainstalovány a prošití dokončeno, jsme připraveni testovat náš svetr, abychom se ujistili, že vše funguje.

Krok 6: Testovací skripty

Testovací skripty
Testovací skripty

Abychom mohli náš projekt otestovat, musíme připojit naši základní desku Adafruit k počítači pomocí kabelu USB. Poté přejděte na Nástroje, Port a v seznamu vyberte svou hlavní desku Flora.

První věcí, kterou otestujeme, je, zda akcelerometr funguje správně. Přejděte na Soubor, Příklady, Adafruit LSM303DLHC, accelsensor. Otevře se skript, který otestuje, zda je snímač připojen, a čte hodnoty souřadnic. Nahrajte na desku a otevřete sériový monitor v pravém horním rohu Arduino IDE. Pokud vidíte, jak se při sériovém monitoru mění hodnoty, jako na fotografii, při pohybu akcelerometru to funguje!

Druhá věc, kterou otestujeme, je, zda NeoPixely fungují. Přejděte na Soubor, Příklady, Adafruit NeoPixels, strandtest. Než spustíme tento skript, změňte Pin na 9 a počet pixelů na 6 (nebo cokoli, co pro svůj projekt používáte). Nahrajte na svou desku a pokud se všechny pixely rozsvítí, jste připraveni na konečný skript!

Krok 7: Konečný skript

Závěrečný scénář
Závěrečný scénář

Nyní je čas načíst náš konečný kód. Zkopírujte níže uvedený kód do nového souboru projektu. Pin je nastaven na 9 a počet NeoPixelů na 6. Pokud používáte něco jiného, změňte je před spuštěním tohoto skriptu. Oblíbené barvy můžete upravit nastavením hodnot R, G a B od 0 do 255. Můžete také přidat další oblíbené barvy přidáním nového řádku. Rovněž lze nastavit práh pohybu. Čím nižší číslo, tím snazší je detekovat pohyb a zapnout NeoPixely. Jakmile provedete požadované změny, uložte je a nahrajte na hlavní desku Flora. Pokud pohybujete akcelerometrem, měli byste vidět rozsvícení pixelů. Jakmile uvidíte, že se můžete odpojit od počítače a můžeme se připojit k naší bateriové sadě.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parameter 1 = number of pixels in strip // Parameter 2 = pin number (most are good but we are using 9) // Parameter 3 = pixel type příznaky, sčítejte podle potřeby: // NEO_RGB Pixely jsou zapojeny pro bitový tok RGB (v1 pixely FLORA, nikoli v2) // NEO_GRB Pixely jsou zapojeny pro bitový tok GRB (většina produktů NeoPixel. produkt, který používáme) // NEO_KHZ400 400 KHz (klasický 'v1' (ne v2) FLORA pixely, ovladače WS2811) // NEO_KHZ800 800 KHz bitstream (většina produktů NeoPixel s LED diodami WS2812. produkt, který používáme) Adafruit_NeoPixel strip = 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 // přidejte nové {nnn, nnn, nnn}, pro více barev // RGB uint8_t myFavoriteColors [3] = 3 255, 255, 255}, // bílá {255, 0, 0}, // červená {0, 255, 0}, // zelená}; // neupravujte řádek pod #define FAVCOLORS sizeof (myFavoriteColors) /3 // toto číslo upravuje pohybovou citlivost // nižší číslo = citlivější #define MOVE_THRESHOLD 5 // supercitlivé aktuálněvoid setup () {Serial.begin (9600); // Zkuste inicializovat a varovat, pokud jsme nemohli detekovat čip // Pomocí Serial Monitoru si prohlédněte výtisk if (! Accel.begin ()) {Serial.println („Máme problém. Jste to vy, ne já … Nelze inicializovat LSM303. Začal bych rychlou kontrolou zapojení “); zatímco (1); } strip.begin (); strip.show (); // Nastavte pixely na 'off'} void loop () {/ * Získejte novou událost senzoru */ sensor_event_t událost; accel.getEvent (& událost); // 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ískejte velikost (délku) trojosého vektoru double uloženéVector = 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ýVector = sqrt (uloženýVektor); // Serial.print ("Len:"); Serial.println (uloženéVector); // chvíli počkejte (250); // získejte nová data! accel.getEvent (& událost); 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ž se stěhujeme? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // první číslo je zpoždění 'čekání', kratší počet == kratší záblesk flashRandom (10, 4); // druhé číslo je, kolik neopixelů současně rozsvítí flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// náhodně vybrané z oblíbených barev int c = random (FAVCOLORS); int bílá = myFavoriteColors [c] [0]; int červená = myFavoriteColors [c] [1]; int zelená = myFavoriteColors [c] [2]; // pixely, které se mají zapnout v pořadí pro (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print („Pixel zapnutý“); Serial.println (i); // nyní to 'vybledneme' ve 3 krocích pro (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 (); zpoždění (čekání); }} // LED diody po dokončení zhasnou (jsou vybledlé na 0)}

Krok 8: Sada baterií

Balíček baterií
Balíček baterií

Aby byl váš svetr neustále napájen, použijeme baterii. Pro balíček musíme vytvořit postroj, aby nevisel jen z prkna. Jako kapsu na baterii jsem použil roh starého povlečení na polštář. Šil jsem otevřenou stranu a jednu stranu horní části sešil na svetr dostatečně blízko k hlavní desce, aby se mohl snadno zapojit a nevytahovat.

Připojte baterii k základní desce, přepněte malý vypínač na hlavní desce z vypnuté do zapnuté polohy a zapněte baterii. Váš svetr by nyní měl být funkční a připravený na nošení.

Krok 9: Závěr

Závěr
Závěr

Nyní jste vyrobili svítící svetr, který zapůsobí na všechny vaše přátele a rodinu! Nejde však jen o prázdninový projekt. Udělejte ze svého Valentýna srdíčkový svetr nebo si zapalte trojlístek na Den svatého Patrika. Zapojte fantazii a dejte nám vědět, co jste vytvořili!

Doporučuje: