Innehållsförteckning:

Arduino Light Up Tröja: 9 steg
Arduino Light Up Tröja: 9 steg

Video: Arduino Light Up Tröja: 9 steg

Video: Arduino Light Up Tröja: 9 steg
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, November
Anonim
Image
Image

Fula tröja -fester är en grundläggande del av semestern. Varje år måste du öka ditt spel och bära den bästa tröjan du kan hitta. Men i år kan du göra en bättre och göra den bästa tröjan. Vi använder Adafruit Wearables för att skapa en vacker upplyst tröja som säkert kommer att imponera på dina vänner och familj.

Adafruit skapade redan några fantastiska projekt runt Wearables så vi använder deras modifierade kod för att implementera detta projekt från deras Sparkle Skirt -projekt.

I denna handledning kommer du att:

  • Lär dig att använda Wearables
  • Koda ditt Flora huvudkort, accelerometer och NeoPixels för att tända med Arduino

Steg 1: Komma igång

Komma igång
Komma igång

Vi ska använda Adafruit Flora Wearables, ett batteripaket, ledande tråd och en semestertröja. Du behöver också lite vanlig tråd, nålar och nagellack. Allt kommer att vara meningsfullt i tid. Vår version kommer att ge tomten upplysta ögon men vi stöder alla religioner och högtider och övertygelser, så var kreativ!

  • Adafruit Flora Main Board (https://www.adafruit.com/product/659)
  • Flora Accelerometer (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Batteripaket (https://www.adafruit.com/product/727)
  • Ledande tråd (https://www.adafruit.com/product/641)

Steg 2: Layout

Layout
Layout

Vi måste lägga upp pixlar, huvudkort och accelerometer innan vi börjar syprocessen. Pixlarna kommer att ha en dataanslutning, + för ström och - för jord. Acceleratorn behöver anslutningar för 3V, SCL, SDA och mark.

Lägg upp pixlar, huvudkort och accelerometer på tröjan när du planerar att sy den. Se till att du inte korsar några sömmar eftersom det kommer att orsaka shorts. Eftersom vi har vårt kort inåt och NeoPixels utåt använder vi 3V, Pin 9 och Ground för att ansluta NeoPixels.

NeoPixels har en pil som visar hur dataanslutningen ska gå från Flora -huvudkortet till nästa NeoPixel. Se till att alla NeoPixels är uppställda på samma sätt.

Steg 3: Sömtips

Den viktiga delen av syningen är tre saker; inga shorts/korsning av stygn, snäva knutar när du avslutar en söm, och bra anslutningar till Wearables.

Inga shorts/sömmar

Se till att lägga upp dina Wearables så att dina sömmar inte går över. Linjerna ska naturligtvis inte korsas. När du har en layout som säkerställer att alla stygn förblir separerade måste du se till att det är tätt när du syr. Om du lämnar för mycket slapp kan tråden röra vid sig. När du har avslutat en söm klipps de överflödiga ändarna så att det inte finns några lösa trådar.

Tight Knots

När du avslutar en stygnlinje kommer en tät knut att se till att sömmen inte lossnar. Tricket är att lägga en liten klick klart nagellack på knuten och låta den torka. Detta hjälper till att hålla knuten på plats, liknande lim. Den ledande tråden håller inte lika bra i en knut som vanlig tråd, så jag rekommenderar starkt att du använder nagellack, annars kan du sluta med att sömmarna lossnar.

Bra anslutningar

Se till att öglorna på stiften är täta. Detta hjälper till att säkerställa att om din krets inte fungerar, vet vi att det inte är anslutningarna som är problemet. Du kan gå igenom stiften 2-3 gånger för att se till att det alltid kommer att finnas en bra anslutning.

Tips och tricks

Se till att ditt klädesplagg inte slås på när du tar på och av det. Detta är det enklaste sättet att få trådar att röra vid och orsaka kortslutning. Slå inte på batteriet förrän plagget är bekvämt på.

Steg 4: Sy ihop komponenterna

Sy ihop komponenterna
Sy ihop komponenterna
Sy ihop komponenterna
Sy ihop komponenterna

Det första stycket vi behöver fästa är Flora Main Board. Sy brädan på din tröja med vanlig tråd genom två stift som du inte planerar att använda. Detta håller brädet på plats och gör det lättare att sy med den ledande tråden. Några enkla slingor räcker för att den inte ska röra sig.

Därefter måste du sy de fyra anslutningarna från Flora Main Board och Accelerometer. Detta kommer att vara Power, Ground, SCL och SDA. Om du placerar accelerometern högst upp till vänster på huvudkortet kommer anslutningarna att ställas in direkt. Så du kommer att ha fyra separata stygn för att ansluta de två brädorna. Använd lite klart nagellack på båda ändknutarna så att de inte lossnar. Lite nagellack på brädorna skadar dem inte.

Slutligen måste du ansluta 3V-, jord- och dataanslutningarna från Flora Main -kortet till NeoPixels. Du kan göra två långa, kontinuerliga stygn för marken och kraften eftersom de finns längst ner och upptill på NeoPixels. För dataanslutningarna från Pin 9 måste du göra separata stygn från varje NeoPixel till nästa.

Steg 5: Arduino IDE

Flora Main Board är Arduino-kompatibel så vi kommer att använda Arduino IDE för vår kod. Du kan ladda ner den senaste versionen via denna länk.

Det finns också en webbversion via denna länk.

Det finns fyra bibliotek som måste läggas till för att använda våra NeoPixels och Accelerometer. Gå till Sketch, Include Library, Manage Libraries. För varje måste du söka efter det med namn, välja den senaste versionen och klicka på installera.

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

När dessa är installerade och sömmen är klar är vi redo att testa vår tröja för att se till att allt fungerar.

Steg 6: Testa skript

Testa skript
Testa skript

För att testa vårt projekt måste vi ansluta vårt Adafruit -huvudkort till din dator med en USB -kabel. Gå sedan till Verktyg, Port och välj ditt Flora -huvudkort i listan.

Det första vi kommer att testa är om accelerometern fungerar som den ska. Gå till Arkiv, Exempel, Adafruit LSM303DLHC, accelsensor. Detta öppnar ett skript som testar om sensorn är ansluten och läser koordinatvärden. Ladda upp till ditt kort och öppna Serial Monitor högst upp till höger på Arduino IDE. Om du ser att värdena förändras i seriell bildskärm, som på bilden, medan du flyttar accelerometern så fungerar den!

Det andra vi kommer att testa är om NeoPixels fungerar. Gå till Arkiv, Exempel, Adafruit NeoPixels, strandtest. Innan vi kör detta skript, ändra Pin till 9 och antal pixlar till 6 (eller vad du än använder för ditt projekt). Ladda upp till ditt kort och om pixlarna lyser upp är du redo för det sista manuset!

Steg 7: Slutskript

Slutligt manus
Slutligt manus

Nu är det dags att ladda vår sista kod. Kopiera koden nedan till en ny projektfil. Nålen är inställd på 9 och antalet NeoPixels är inställda på 6. Om du använder något annat ändrar du dem innan du kör detta skript. Du kan justera favoritfärgerna genom att justera värdena för R, G och B från 0-255. Du kan också lägga till fler favoritfärger genom att lägga till en ny rad. Flyttgränsen kan också justeras. Ju lägre siffra, desto lättare är det att upptäcka rörelser och slå på NeoPixels. När du har gjort de ändringar du vill spara och ladda upp till ditt Flora Main Board. Du borde kunna se pixlarna lysa om du flyttar accelerometern runt. När du ser att du kan koppla ur datorn och vi kan ansluta till vårt batteri.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parameter 1 = antal pixlar i remsan // Parameter 2 = pin -nummer (de flesta är bra men vi använder 9) // Parameter 3 = pixeltyp flaggor, lägg ihop efter behov: // NEO_RGB Pixlar är anslutna för RGB -bitström (v1 FLORA -pixlar, inte v2) // NEO_GRB Pixlar är anslutna för GRB -bitström (de flesta NeoPixel -produkter. produkt vi använder) // NEO_KHZ400 400 KHz (klassisk 'v1' (inte v2) FLORA -pixlar, WS2811 -drivrutiner) // NEO_KHZ800 800 KHz bitström (de flesta NeoPixel -produkter med WS2812 lysdioder. produkt vi använder) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KHZ800) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Justera R, G, B från 0-255 och // lägg till nya {nnn, nnn, nnn}, för fler färger // RGB uint8_t myFavoriteColors [3] = { 255, 255, 255}, // vit {255, 0, 0}, // röd {0, 255, 0}, // grön}; // redigera inte raden nedan #define FAVCOLORS sizeof (myFavoriteColors) /3 // detta nummer justerar rörelsekänsligheten // lägre tal = mer känsligt #define MOVE_THRESHOLD 5 // superkänsligt för närvarande ogiltig installation () {Serial.begin (9600); // Försök att initialisera och varna om vi inte kunde upptäcka chipet // Använd Serial Monitor för att se utskriften om (! Accel.begin ()) {Serial.println ("Vi har ett problem. Det är du, inte jag … kunde inte initiera LSM303. Jag skulle börja med en snabb kontroll av ledningarna "); medan (1); } strip.begin (); strip.show (); // Ställ in pixlar till 'off'} void loop () {/ * Skaffa en ny sensorhändelse */ 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 (""); // Hämta storleken (längden) på 3 -axelvektorn dubbel lagradVector = event.acceleration.x*event.acceleration.x; storageVector += event.acceleration.y*event.acceleration.y; storageVector += event.acceleration.z*event.acceleration.z; storageVector = sqrt (storageVector); // Serial.print ("Len:"); Serial.println (storageVector); // vänta lite fördröjning (250); // få ny data! accel.getEvent (& event); dubbel 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 ("Ny Len:"); Serial.println (newVector); // flyttar vi än? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // första talet är "vänta" -fördröjning, kortare num == kortare blinkande flashRandom (10, 4); // andra talet är hur många neopixlar som samtidigt ska tända flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// slumpmässigt vald bland favoritfärger int c = random (FAVCOLORS); int white = myFavoriteColors [c] [0]; int red = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // pixlarna som ska slås på i en ordning för (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Serial.println (i); // nu ska vi 'bleka' det i 3 steg för (int x = 0; x = 0; x--) {int w = vit * x; w /= 3; int r = röd * x; r /= 3; int g = grön * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); fördröjning (vänta); }} // Lysdioder kommer att släckas när de är klara (de är bleka till 0)}

Steg 8: Batteripaket

Batteripaket
Batteripaket

För att behålla din tröja kontinuerligt kommer vi att använda ett batteri. Vi måste göra en sele för förpackningen så att den inte bara hänger från brädet. Jag använde hörnet av ett gammalt örngott som min batterificka. Jag sydde upp den öppna sidan och sydde ena sidan av toppen till tröjan tillräckligt nära huvudkortet så att den enkelt kan anslutas och inte dras i den.

Anslut batteriet till huvudkortet, vrid den lilla strömbrytaren på huvudkortet från från till på och sätt på batteriet. Din tröja ska nu fungera och vara redo att bära.

Steg 9: Slutsats

Slutsats
Slutsats

Du har nu gjort en ljus tröja som kommer att imponera på alla dina vänner och familj! Men det här är inte bara ett semesterprojekt. Gör din valentine till en hjärtlig ljus tröja eller tänd en shamrockskjorta till St Patrick's Day. Använd din fantasi och låt oss veta vad du har skapat!

Rekommenderad: