Sadržaj:

Arduino Light Up džemper: 9 koraka
Arduino Light Up džemper: 9 koraka

Video: Arduino Light Up džemper: 9 koraka

Video: Arduino Light Up džemper: 9 koraka
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Srpanj
Anonim
Image
Image

Ružne zabave u džemperima sastavni su dio blagdana. Svake godine morate poboljšati igru i odjenuti najbolji džemper koji možete pronaći. Ali ove godine možete učiniti jedan bolji i napraviti najbolji džemper. Koristimo Adafruit Wearables za stvaranje prekrasnog osvijetljenog džempera koji će zasigurno zadiviti vaše prijatelje i obitelj.

Adafruit je već stvorio neke sjajne projekte oko Wearables pa koristimo njihov izmijenjeni kod za implementaciju ovog projekta iz njihovog projekta Sparkle Skirt.

U ovom vodiču ćete:

  • Naučite koristiti nosivi materijal
  • Kodirajte svoju Flora glavnu ploču, mjerač ubrzanja i NeoPixels kako biste zasvijetlili pomoću Arduina

Korak 1: Početak

Početak rada
Početak rada

Koristit ćemo Adafruit Flora Wearables, bateriju, provodljivi konac i blagdanski džemper. Trebat će vam i obični konac, igle i lak za nokte. Vremenom će sve to imati smisla. Naša će verzija Djedici osvijetliti oči, ali podržavamo sve religije, blagdane i vjerovanja, stoga budite kreativni!

  • Glavni odbor Adafruit Flora (https://www.adafruit.com/product/659)
  • Akcelerometar Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Baterija (https://www.adafruit.com/product/727)
  • Vodljiva nit (https://www.adafruit.com/product/641)

Korak 2: Raspored

Raspored
Raspored

Moramo postaviti piksele, glavnu ploču i mjerač ubrzanja prije početka procesa šivanja. Pikseli će imati podatkovnu vezu, + za napajanje i - za uzemljenje. Akcelerometar treba priključke za 3V, SCL, SDA i uzemljenje.

Rasporedite piksele, glavnu ploču i mjerač ubrzanja na džemper dok ga planirate šivati. Pazite da ne prekrižite šavove jer će to uzrokovati kratke hlače. Budući da nam je ploča okrenuta prema unutra, a NeoPixels prema van, koristimo 3V, Pin 9 i Uzemljenje za povezivanje NeoPixela.

NeoPixels ima strelicu koja pokazuje kako bi podatkovna veza trebala ići od glavne ploče Flora do sljedećeg NeoPixela. Provjerite jesu li svi NeoPixeli postavljeni na isti način.

Korak 3: Savjeti za šivanje

Važan dio šivanja su tri stvari; nema kratkih hlača/križanja šavova, čvrstih čvorova pri završetku šava i dobre veze s nosivim.

Nema kratkih hlača/ukrštanja bodova

Rasporedite svoje nosive materijale tako da vam šavovi ne prelaze. Očigledno, linije ne bi trebale prelaziti. Nakon što napravite raspored koji osigurava da svi šavovi ostanu odvojeni, morate se pobrinuti da pri šivanju budete čvrsti. Ako ostavite previše opuštenosti, nit može dodirnuti. Nakon što završite šav, odrežite višak krajeva tako da nema zalutalih niti.

Čvrsti čvorovi

Kada završavate liniju šava, čvrsti čvor će osigurati da se šav ne olabavi. Trik je u tome da na čvor stavite malu kapljicu prozirnog laka za nokte i pustite da se osuši. To pomaže u držanju čvora na mjestu, slično ljepilu. Vodljivi konac ne drži se u čvoru kao običan konac, pa toplo preporučujem korištenje laka za nokte jer ćete u protivnom olabaviti šavove.

Dobre veze

Uvjerite se da su petlje na iglama čvrste. To će pomoći da se osigura da ako vaš krug ne radi, znamo da nisu veze u problemima. Pinove možete provući 2-3 puta kako biste bili sigurni da će uvijek biti dobra veza.

Savjeti i trikovi

Pazite da vaš odjevni predmet nije uključen kada ga skidate i skidate. Ovo je najjednostavniji način da niti dodirnete i uzrokujete kratki spoj. Nemojte uključivati bateriju sve dok odjevni predmet nije udobno obučen.

Korak 4: Spajanje komponenti

Spajanje komponenti
Spajanje komponenti
Spajanje komponenti
Spajanje komponenti

Prvi dio koji moramo priložiti je Flora glavna ploča. Pričvrstite dasku na svoj džemper običnim koncem kroz dvije igle koje ne namjeravate koristiti. To će držati ploču na mjestu i olakšati šivanje pomoću vodljivog konca. Nekoliko jednostavnih petlji dovoljno je da se ne pomakne.

Zatim morate spojiti četiri veze s glavne ploče Flora i mjerača brzine. To će biti Power, Ground, SCL i SDA. Ako akcelerometar postavite u gornji lijevi ugao glavne ploče, veze će se izravno poravnati. Dakle, imat ćete četiri zasebna šava za povezivanje dviju ploča. Upotrijebite malo prozirnog laka za nokte na oba čvora kako se ne bi raspleli. Malo laka za nokte na daskama im neće naškoditi.

Na kraju, morate spojiti 3V, uzemljenje i podatkovne veze s glavne ploče Flora na NeoPixels. Možete napraviti dva dugačka, kontinuirana šava za tlo i snagu jer su oni na dnu i vrhu NeoPixela. Za podatkovne veze s Pin 9 morate napraviti zasebne šavove od svakog NeoPixela do sljedećeg.

Korak 5: Arduino IDE

Glavna ploča Flora kompatibilna je s Arduinom, pa ćemo za svoj kôd koristiti Arduino IDE. Najnoviju verziju možete preuzeti putem ove veze.

Na ovoj poveznici postoji i web verzija.

Četiri su knjižnice koje je potrebno dodati kako bi se koristili naši NeoPixels i Accelerometer. Idite na Sketch, Include Library, Manage Libraries. Za svaku ćete je morati potražiti po imenu, odabrati najnoviju verziju i kliknite instalirati.

  • Adafruit NeoPixel
  • Adafruit Unified Senzor
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Nakon što se instaliraju i šivanje završi, spremni smo testirati naš džemper kako bismo bili sigurni da sve radi.

Korak 6: Ispitne skripte

Testne skripte
Testne skripte

Kako bismo testirali naš projekt, moramo povezati našu glavnu ploču Adafruit s računalom pomoću USB kabela. Zatim idite na Alati, Port i odaberite svoju Flora glavnu ploču na popisu.

Prvo što ćemo testirati je da li akcelerometar radi ispravno. Idite na Datoteka, Primjeri, Adafruit LSM303DLHC, senzor za ubrzanje. Ovo će otvoriti skriptu koja testira je li senzor spojen i čita vrijednosti koordinata. Prenesite na svoju ploču i otvorite serijski monitor u gornjem desnom kutu Arduino IDE -a. Ako vidite da se vrijednosti mijenjaju u serijskom monitoru, kao na fotografiji, dok pomičete mjerač ubrzanja, onda radi!

Druga stvar koju ćemo testirati je da li NeoPixels radi. Idite na Datoteka, Primjeri, Adafruit NeoPixels, strandtest. Prije nego pokrenemo ovu skriptu, promijenite Pin u 9 i broj piksela u 6 (ili što god već koristite za svoj projekt). Prenesite na svoju ploču i ako svi pikseli zasvijetle, spremni ste za konačnu skriptu!

Korak 7: Završna skripta

Završni scenarij
Završni scenarij

Sada je vrijeme za učitavanje našeg konačnog koda. Kopirajte donji kod u novu datoteku projekta. Pin je postavljen na 9, a broj NeoPixela na 6. Ako koristite nešto drugačije, promijenite ih prije pokretanja ove skripte. Omiljene boje možete prilagoditi podešavanjem vrijednosti R, G i B od 0-255. Također možete dodati još omiljenih boja dodavanjem nove linije. Prag pomaka se također može podesiti. Što je manji broj, lakše je otkriti kretanje i uključiti NeoPixels. Nakon što unesete željene promjene, spremite ih i prenesite na glavnu ploču Flora. Mogli biste vidjeti da se pikseli svijetle ako pomaknete akcelerometar. Kada vidite da se možete isključiti iz računala, a mi se možemo povezati s baterijom.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parametar 1 = broj piksela u traci // Parametar 2 = broj pina (većina je dobra, ali koristimo 9) // Parametar 3 = vrsta piksela zastavice, zbrajajte se prema potrebi: // NEO_RGB Pikseli su ožičeni za RGB bitstream (v1 FLORA piksela, a ne v2) // NEO_GRB Pikseli su ožičeni za GRB bitstream (većina NeoPixel proizvoda. proizvod koji koristimo) // NEO_KHZ400 400 KHz (klasično 'v1' (ne v2) FLORA pikseli, upravljački programi WS2811) // NEO_KHZ800 800 KHz bitstream (većina NeoPixel proizvoda sa LED diodama WS2812. proizvod koji koristimo) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KH; Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Podesite R, G, B od 0-255 i // dodajte nove {nnn, nnn, nnn}, za više boja // RGB uint8_t myFavoriteColors [3] 255, 255, 255}, // bijelo {255, 0, 0}, // crveno {0, 255, 0}, // zeleno}; // ne uređujte redak ispod #define FAVCOLORS sizeof (myFavoriteColors) /3 // ovaj broj prilagođava osjetljivost na kretanje // niži broj = osjetljiviji #define MOVE_THRESHOLD 5 // super osjetljiv trenutačno nema postavki () {Serial.begin (9600); // Pokušajte inicijalizirati i upozoriti ako nismo uspjeli otkriti čip // Upotrijebite Serial Monitor za pregled ispisa if (! Accel.begin ()) {Serial.println ("Imamo problem. To ste vi, a ne ja … ne mogu pokrenuti LSM303. Počeo bih s brzom provjerom ožičenja "); while (1); } strip.begin (); strip.show (); // Postavi piksele na 'off'} void loop () {/ * Dohvati novi događaj senzora */ sensors_event_t event; 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 (""); // Dobijte veličinu (duljinu) troosnog vektora dvostruko spremljenogVector = event.acceleration.x*event.acceleration.x; storedVector += event.acceleration.y*event.acceleration.y; storedVector += event.acceleration.z*event.acceleration.z; storedVector = sqrt (storedVector); // Serial.print ("Len:"); Serial.println (storedVector); // pričekajte malo delay (250); // dobiti nove podatke! 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); // selimo li se već? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // prvi broj je kašnjenje 'čekanja', kraći broj == kraći svjetlucavi flashRandom (10, 4); // drugi broj je koliko neopiksela treba istovremeno upaliti flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// nasumično odabran od omiljenih boja int c = random (FAVCOLORS); int bijela = myFavoriteColors [c] [0]; int red = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // pikseli koji se uključuju redom za (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Serial.println (i); // sada ćemo ga 'izblijediti' u 3 koraka za (int x = 0; x = 0; x--) {int w = bijelo * x; w /= 3; int r = crveno * x; r /= 3; int g = zelena * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); odgoda (čekanje); }} // LED diode će se ugasiti (završile su na 0)}

Korak 8: Baterija

Pakovanje baterija
Pakovanje baterija

Za neprekidno napajanje vašeg džempera upotrijebit ćemo bateriju. Moramo napraviti uprtač za čopor kako ne bi visio samo s daske. Koristila sam kut stare jastučnice kao džep za bateriju. Otvorio sam otvorenu stranu i prošio jednu stranu vrha do džempera dovoljno blizu matične ploče da se može jednostavno priključiti, a ne navući.

Priključite bateriju u glavnu ploču, okrenite mali prekidač na glavnoj ploči u položaj za uključivanje i uključite bateriju. Vaš džemper sada bi trebao biti radan i spreman za nošenje.

Korak 9: Zaključak

Zaključak
Zaključak

Sada ste napravili svijetli džemper koji će impresionirati sve vaše prijatelje i obitelj! Ali ovo nije samo blagdanski projekt. Neka vaše Valentinovo postane lagani džemper od srca ili zapalite djevojačku košulju za Dan sv. Patrika. Upotrijebite maštu i javite nam što ste stvorili!

Preporučeni: