Sisällysluettelo:

Arduino Light Up villapaita: 9 vaihetta
Arduino Light Up villapaita: 9 vaihetta

Video: Arduino Light Up villapaita: 9 vaihetta

Video: Arduino Light Up villapaita: 9 vaihetta
Video: Control 10 output pins or relay using 10 push button switch with 1 Arduino input pin ANPB-V2 2024, Marraskuu
Anonim
Image
Image

Rumat villapaitajuhlat ovat katkottua lomaa. Joka vuosi sinun on parannettava peliäsi ja käytettävä parasta villapaitaa. Mutta tänä vuonna voit tehdä yhden paremmin ja tehdä parhaan puseron. Käytämme Adafruit Wearablesia luodaksemme kauniin valaistun puseron, joka varmasti tekee vaikutuksen ystävillesi ja perheellesi.

Adafruit loi hienoja projekteja Wearablesin ympärille, joten käytämme heidän muokattua koodia toteuttaakseen tämän projektin Sparkle Skirt -projektistaan.

Tässä opetusohjelmassa voit:

  • Opi käyttämään puettavia
  • Koodaa Flora -emolevy, kiihtyvyysmittari ja NeoPixels syttymään Arduinolla

Vaihe 1: Aloittaminen

Päästä alkuun
Päästä alkuun

Aiomme käyttää Adafruit Flora Wearablesia, akkua, johtavaa lankaa ja lomapuseroa. Tarvitset myös tavallista lankaa, neuloja ja kynsilakkaa. Kaikessa on järkeä ajan kanssa. Versiomme antaa joulupukille valoa, mutta tuemme kaikkia uskontoja ja vapaapäiviä ja vakaumuksia, joten ole luova!

  • Adafruit Floran emolevy (https://www.adafruit.com/product/659)
  • Flora -kiihtyvyysmittari (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Akku (https://www.adafruit.com/product/727)
  • Johtava säie (https://www.adafruit.com/product/641)

Vaihe 2: Asettelu

Layout
Layout

Meidän on aseteltava pikselit, emolevy ja kiihtyvyysmittari ennen ompeluprosessin aloittamista. Pikseleissä on datayhteys, + virran ja - maan osalta. Kiihtyvyysmittari tarvitsee liitännät 3V, SCL, SDA ja maahan.

Aseta pikselit, emolevy ja kiihtyvyysmittari puseroon, kun aiot ommella sen. Varmista, ettet ylitä ompeleita, koska se aiheuttaa shortseja. Koska piirilevymme on sisäänpäin ja NeoPixels kuvapuoli ulospäin, käytämme 3V, nasta 9 ja maadoitus NeoPixelien yhdistämiseen.

NeoPixeleissä on nuoli, joka osoittaa, miten tietoyhteyden pitäisi siirtyä Floran emolevystä seuraavaan NeoPixeliin. Varmista, että kaikki NeoPixelit on asetettu samaan suuntaan.

Vaihe 3: Vinkkejä ompelemiseen

Ompelemisen tärkeä osa on kolme asiaa; ei shortseja/ompeleiden risteyksiä, tiukkoja solmuja päätettäessä ommel ja hyvät yhteydet puettaviin.

Ei shortseja/ompeleita

Varmista, että asetat puettavat vaatteet niin, että ompeleesi eivät mene ristiin. Rajat eivät tietenkään saa ylittää. Kun olet asettanut asettelun, joka varmistaa, että kaikki ompeleet pysyvät erillisinä, sinun on varmistettava, että ommel on tiukka. Jos jätät liikaa löysää, lanka voi koskettaa. Kun olet lopettanut ompeleen, leikkaa ylimääräiset päät niin, ettei lankoja ole.

Tiukat solmut

Kun lopetat tikkiviivan, tiukka solmu varmistaa, että ommel ei irtoa. Temppu on laittaa pieni kuppi kirkasta kynsilakkaa solmuun ja antaa sen kuivua. Tämä auttaa pitämään solmun paikallaan, kuten liima. Johtava lanka ei pidä niin hyvin solmussa kuin tavallinen lanka, joten suosittelen lämpimästi kynsilakan käyttöä, tai saatat päätyä tikkausten irtoamiseen.

Hyvät yhteydet

Varmista, että nastojen silmukat ovat tiukalla. Tämä auttaa varmistamaan, että jos piiri ei toimi, tiedämme, että ongelmat eivät ole liitännöissä. Voit silmukoida silmukoita 2-3 kertaa varmistaaksesi, että yhteys on aina hyvä.

Vinkkejä/temppuja

Varmista, että vaatteesi ei ole päällä, kun otat sen päälle ja pois. Tämä on helpoin tapa saada langat kosketuksiin ja aiheuttaa oikosulku. Älä kytke akkua päälle ennen kuin vaatekappale on mukavasti päällä.

Vaihe 4: Osien ompeleminen

Osien ompeleminen
Osien ompeleminen
Osien ompeleminen
Osien ompeleminen

Ensimmäinen osa, joka meidän on kiinnitettävä, on Floran emolevy. Ompele lauta puseroosi käyttämällä tavallista lankaa kahden neulan läpi, joita et aio käyttää. Tämä pitää levyn paikallaan ja helpottaa ompelemista johtavalla langalla. Muutama yksinkertainen silmukka riittää estämään sen liikkumisen.

Seuraavaksi sinun on ommeltava Flora -emolevyn ja kiihtyvyysmittarin neljä liitäntää. Tämä on Power, Ground, SCL ja SDA. Jos asetat kiihtyvyysmittarin emolevyn vasempaan yläkulmaan, liitännät ovat suoraan linjassa. Joten sinulla on neljä erillistä tikkiä kahden levyn yhdistämiseen. Käytä hieman kirkasta kynsilakkaa kummassakin solmussa, jotta ne eivät purkautuisi. Pieni kynsilakka laudoilla ei vahingoita niitä.

Lopuksi sinun on liitettävä 3V-, maa- ja datayhteydet Flora -emolevystä NeoPixels -laitteisiin. Voit tehdä kaksi pitkää, jatkuvaa ommelta maalle ja voimalle, koska ne ovat NeoPixelien ala- ja yläosassa. Nasta 9: n datayhteyksiä varten sinun on tehtävä ompeleet jokaisesta NeoPixelistä seuraavaan.

Vaihe 5: Arduino IDE

Flora-emolevy on Arduino-yhteensopiva, joten käytämme koodissamme Arduino IDE: tä. Voit ladata uusimman version tämän linkin kautta.

Tästä linkistä löytyy myös verkkoversio.

NeoPixels- ja kiihtyvyysmittarimme käyttämiseen on lisättävä neljä kirjastoa. Siirry kohtaan Luonnos, Sisällytä kirjasto, Hallinnoi kirjastoja. Jokaisen sinun on etsittävä se nimen perusteella, valittava uusin versio ja napsautettava asennus.

  • Adafruit NeoPixel
  • Adafruit Unified -anturi
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Kun ne on asennettu ja ompeleminen on valmis, olemme valmiita testaamaan villapaitamme varmistaaksemme, että kaikki toimii.

Vaihe 6: Testaa skriptejä

Testikomennot
Testikomennot

Projektimme testaamiseksi meidän on liitettävä Adafruit -emolevy tietokoneeseen USB -kaapelilla. Mene sitten Työkalut, Portti ja valitse Flora -pääkorttisi luettelosta.

Ensimmäinen asia, jonka testaamme, on, toimiiko kiihtyvyysanturi oikein. Siirry kohtaan Tiedosto, Esimerkit, Adafruit LSM303DLHC, accensensor. Tämä avaa komentosarjan, joka testaa, onko anturi kytketty ja lukee koordinaattiarvot. Lataa pelilaudallesi ja avaa sarjamonitori Arduino IDE: n oikeassa yläkulmassa. Jos näet arvot muuttuvan sarjamonitorissa, kuten kuvassa, kiihtyvyysmittaria liikuttaessa, se toimii!

Toinen asia, jonka testaamme, on, toimiiko NeoPixels. Siirry kohtaan Tiedosto, Esimerkit, Adafruit NeoPixels, strandtest. Ennen kuin suoritamme tämän komentosarjan, muuta Pin -arvoksi 9 ja pikselien lukumääräksi 6 (tai mitä tahansa projektillesi). Lataa laudallesi ja jos kaikki pikselit syttyvät, olet valmis lopulliseen käsikirjoitukseen!

Vaihe 7: Lopullinen käsikirjoitus

Lopullinen käsikirjoitus
Lopullinen käsikirjoitus

Nyt on aika ladata lopullinen koodimme. Kopioi alla oleva koodi uuteen projektitiedostoon. Nasta on asetettu 9: ksi ja NeoPixelien määräksi 6. Jos käytät jotain muuta, muuta ne ennen tämän komentosarjan suorittamista. Voit säätää suosikkivärejä säätämällä arvoja R, G ja B välillä 0-255. Voit myös lisätä suosikkivärejä lisäämällä uuden rivin. Liikkumiskynnystä voidaan myös säätää. Mitä pienempi numero, sitä helpompi havaita liike ja käynnistää NeoPixels. Kun olet tehnyt haluamasi muutokset, tallenna ja lataa Flora -päätaulullesi. Pikselien pitäisi syttyä, jos liikutat kiihtyvyysmittaria. Kun näet, että voit irrottaa tietokoneesi ja voimme muodostaa yhteyden akkuun.

#Sisällytä #Sisällytä #Sisällytä #Sisällytä #Määritä PIN 9 #Määritä PIXELCOUNT 6 // Parametri 1 = pikselien määrä nauhassa // Parametri 2 = nastan numero (useimmat ovat hyviä, mutta käytämme 9) // Parametri 3 = pikselityyppi liput, lisää tarvittaessa: // NEO_RGB Pikselit on kytketty RGB -bittivirtaan (v1 FLORA -pikseliä, ei v2) // NEO_GRB Pikselit on kytketty GRB -bittivirtaan (useimmat NeoPixel -tuotteet. käyttämämme tuote) // NEO_KHZ400 400 KHz (klassinen 'v1' (ei v2) FLORA -pikseliä, WS2811 -ohjaimet) // NEO_KHZ800 800 KHz: n bittivirta (useimmat NeoPixel -tuotteet ja WS2812 -LEDit. käyttämämme tuote) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRZ + Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Säädä R, G, B 0-255 ja // lisää uusia {nnn, nnn, nnn}, lisää värejä // RGB uint8_t myFavoriteColors [3] { 255, 255, 255}, // valkoinen {255, 0, 0}, // punainen {0, 255, 0}, // vihreä}; // älä muokkaa alla olevaa riviä #define FAVCOLORS sizeof (myFavoriteColors) /3 // tämä luku säätää liikeherkkyyttä // alempi luku = herkempi #define MOVE_THRESHOLD 5 // erittäin herkkä tällä hetkellä tarpeeton asetus () {Serial.begin (9600); // Yritä alustaa ja varoittaa, jos sirua ei voitu havaita // Tarkastele tulostusta Serial Monitorilla, jos (! Accel.begin ()) {Serial.println ("Meillä on ongelma. Se olet sinä, en minä … En voinut alustaa LSM303: a. Aloitan tarkistamalla johdot nopeasti "); kun taas (1); } strip.begin (); strip.show (); // Aseta pikselit arvoon 'off'} void loop () {/ * Hanki uusi anturitapahtuma */ sensors_event_t event; accel.getEvent (& tapahtuma); // Serial.print ("Accel X:"); Serial.print (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Sarjajälki (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Sarjajälki (event.acceleration.z); Serial.print (""); // Hae 3 -akselisen vektorin suuruus (pituus) double storageVector = event.acceleration.x*event.acceleration.x; storageVector += event.acceleration.y*event.acceleration.y; storageVector += event.acceleration.z*event.acceleration.z; varastoituVektori = neliömetriä (tallennettuVektori); // Serial.print ("Len:"); Sarja.println (tallennettu vektori); // odota vähän viivettä (250); // hanki uusia tietoja! accel.getEvent (& tapahtuma); 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 ("Uusi Len:"); Serial.println (newVector); // muutetaanko vielä? if (abs (uusi vektori - tallennettu vektori)> MOVE_THRESHOLD) {Serial.println ("Vilkkuva! Flash! Flash! McFlash!"); flashRandom (10, 2); // ensimmäinen numero on "odotus" -viive, lyhyempi numero == lyhyempi välkkyvä salama Satunnainen (10, 4); // toinen numero on kuinka monta neopikseliä samanaikaisesti sytyttää flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// satunnaisesti valittu suosikkiväreistä int c = random (FAVCOLORS); int valkoinen = myFavoriteColors [c] [0]; int punainen = myFavoriteColors [c] [1]; int vihreä = myFavoriteColors [c] [2]; // pikselit, jotka käynnistyvät järjestyksessä (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Sarja.println (i); // nyt häivytämme sen kolmessa vaiheessa (int x = 0; x = 0; x--) {int w = valkoinen * x; w /= 3; int r = punainen * x; r /= 3; int g = vihreä * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); viive (odota); }} // LEDit sammuvat, kun ne on tehty (ne ovat haalistuneet 0)}

Vaihe 8: Akku

Akku
Akku

Käytämme akkua, jotta puserosi pysyisi jatkuvasti päällä. Meidän on valmistettava valjaat pakkaukselle, jotta se ei vain roiku laudalla. Käytin akun taskussa vanhan tyynyliinan kulmaa. Ompelen avoimen puolen ja ompelen yläosan toisen osan puseroon tarpeeksi lähelle emolevyä, jotta se voidaan helposti liittää eikä vetää sitä.

Kytke akku emolevyyn, käännä emolevyn pieni kytkin pois päältä päälle ja käynnistä akku. Puserosi pitäisi nyt toimia ja olla valmis käytettäväksi.

Vaihe 9: Johtopäätös

Johtopäätös
Johtopäätös

Olet nyt tehnyt kevyen puseron, joka tekee vaikutuksen kaikkiin ystäviisi ja perheeseesi! Mutta tämä ei ole vain lomaprojekti. Tee ystävänpäivästä sydämen kevyt villapaita tai sytytä shamrock -paita Pyhän Patrickin päivää varten. Käytä mielikuvitustasi ja kerro meille, mitä olet luonut!

Suositeltava: