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, Juli
Anonim
Image
Image

Ružne zabave u džemperima sastavni su dio praznika. 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 porodicu.

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

U ovom vodiču ćete:

  • Naučite koristiti nosive stvari
  • Kodirajte svoju Flora glavnu ploču, akcelerometar i NeoPixels kako biste zasvijetlili pomoću Arduina

Korak 1: Početak

Počinjemo
Počinjemo

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

  • Glavni odbor Adafruit Flora (https://www.adafruit.com/product/659)
  • Accelerometar Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Baterija (https://www.adafruit.com/product/727)
  • Konduktivna 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 okrenut prema van, koristimo 3V, Pin 9 i Uzemljenje za povezivanje NeoPixela.

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

Korak 3: Savjeti za šivanje

Važan dio šivanja su tri stvari; bez kratkih hlača/ukrštanja šavova, čvrstih čvorova pri završetku uboda i dobre veze s nosivim predmetima.

Nema kratkih hlača/ukrštanja bodova

Pobrinite se da rasporedite svoje nosive materijale tako da vam šavovi ne prelaze. Očigledno, linije ne bi trebale prelaziti. Kada napravite raspored koji osigurava da svi šavovi ostanu odvojeni, morate se pobrinuti da pri šivanju budete čvrsti. Ako ostavite previše opuštenosti, može doći do dodira niti. 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 tako dobro u čvoru kao obični konac, pa toplo preporučujem da koristite lak za nokte ili ćete možda završiti sa šivanjem.

Good Connections

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

Savjeti/trikovi

Pobrinite se da vaš odjevni predmet nije uključen kada ga uzimate i skidate. Ovo je najlakši način da niti dodirnete i uzrokujete kratak 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 džemper običnim koncem kroz dvije igle koje ne planirate koristiti. Ovo će držati ploču na mjestu i olakšati šivanje pomoću provodnog konca. Nekoliko jednostavnih petlji dovoljno je da se ne pomjeri.

Zatim morate spojiti četiri veze s glavne ploče Flora i mjerača brzine. Ovo ć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 dvije ploče. 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.

Konačno, 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.

Preko ove veze postoji i web verzija.

Postoje četiri biblioteke 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 kliknuti na instalaciju.

  • Adafruit NeoPixel
  • Adafruit Unified Sensor
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Kad se ovi instaliraju i šivanje završi, spremni smo za testiranje našeg džempera kako bismo bili sigurni da sve radi.

Korak 6: Testirajte skripte

Test skripte
Test skripte

Da bismo testirali naš projekat, moramo povezati našu Adafruit matičnu ploču sa računarom pomoću USB kabla. 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. Otpremite na svoju ploču i otvorite serijski monitor u gornjem desnom kutu Arduino IDE -a. Ako vidite promjene vrijednosti 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 na 9 i broj piksela na 6 (ili šta god da koristite za svoj projekt). Otpremite na svoju ploču i ako se svi pikseli zasvijetle, spremni ste za konačnu skriptu!

Korak 7: Završna skripta

Final Script
Final Script

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 podesiti podešavanjem vrijednosti R, G i B od 0-255. Također možete dodati još omiljenih boja dodavanjem nove linije. Prag kretanja se takođe može podesiti. Što je manji broj, lakše je otkriti kretanje i uključiti NeoPixels. Nakon što unesete željene promjene, spremite ih i postavite na glavnu ploču Flora. Trebali biste moći vidjeti da se pikseli svijetle ako pomičete akcelerometar. Kada vidite da se možete isključiti iz računara, 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 = tip 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 red ispod #define FAVCOLORS sizeof (myFavoriteColors) /3 // ovaj broj prilagođava osjetljivost na kretanje // niži broj = osjetljiviji #define MOVE_THRESHOLD 5 // super osjetljiv trenutno nema mogućnosti postavljanja () {Serial.begin (9600); // Pokušajte inicijalizirati i upozoriti ako nismo uspjeli otkriti čip // Koristite Serial Monitor za pregled ispisa if (! Accel.begin ()) {Serial.println ("Imamo problem. To ste vi, a ne ja … nisam mogao pokrenuti LSM303. Počeo bih s brzom provjerom ožičenja "); while (1); } strip.begin (); strip.show (); // Postavljanje piksela na 'off'} void loop () {/ * Nabavite 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 (dužinu) troosnog vektora dvostruko uskladištenogVector = 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); // sačekajte malo kašnjenje (250); // nabavite nove podatke! accel.getEvent (& event); dvostruki 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 sjaj flashRandom (10, 4); // drugi broj je koliko neopiksela treba istovremeno upaliti flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howlyy) {for (uint16_t i = 0; i <howmany; i ++) {// nasumično izabran od omiljenih boja int c = random (FAVCOLORS); int bijela = myFavoriteColors [c] [0]; int red = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // pikseli za uključivanje prema (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 (); kašnjenje (čekanje); }} // LED diode će se ugasiti kada završe (izblijedjele su na 0)}

Korak 8: Baterija

Baterija
Baterija

Za stalno napajanje vašeg džempera koristit ćemo bateriju. Moramo napraviti uprtač za čopor kako ne bi visio samo s daske. Koristila sam ugao 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 lako može priključiti, a ne navući.

Uključite bateriju u glavnu ploču, okrenite mali prekidač na glavnoj ploči sa isključenog na uključeno i uključite bateriju. Vaš džemper bi sada 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 porodicu! Ali ovo nije samo praznični projekt. Neka vaš Valentinovo bude lagani džemper od srca ili zapalite djevojačku košulju za Dan sv. Patrika. Upotrijebite maštu i javite nam šta ste stvorili!

Preporučuje se: