Indholdsfortegnelse:

Arduino Light Up Sweater: 9 trin
Arduino Light Up Sweater: 9 trin

Video: Arduino Light Up Sweater: 9 trin

Video: Arduino Light Up Sweater: 9 trin
Video: LEDs & Breadboards With Arduino in Tinkercad 2024, Juli
Anonim
Image
Image

Grimme sweaterfester er en fast bestanddel af ferien. Hvert år skal du op med dit spil og bære den bedste trøje, du kan finde. Men i år kan du gøre en bedre og lave den bedste trøje. Vi bruger Adafruit Wearables til at skabe en smuk tændt sweater, der helt sikkert vil imponere dine venner og familie.

Adafruit har allerede oprettet nogle fantastiske projekter omkring Wearables, så vi bruger deres modificerede kode til at implementere dette projekt fra deres Sparkle Skirt -projekt.

I denne vejledning vil du:

  • Lær at bruge Wearables
  • Kode dit Flora -hovedkort, accelerometer og NeoPixels for at lyse op ved hjælp af Arduino

Trin 1: Kom godt i gang

Kom godt i gang
Kom godt i gang

Vi skal bruge Adafruit Flora Wearables, en batteripakke, ledende tråd og en ferietrøje. Du skal også bruge en almindelig tråd, nåle og neglelak. Det vil alle give mening med tiden. Vores version vil give julemanden lyst op i øjnene, men vi støtter alle religioner og helligdage og overbevisninger, så vær 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)
  • Batteripakke (https://www.adafruit.com/product/727)
  • Ledende tråd (https://www.adafruit.com/product/641)

Trin 2: Layout

Layout
Layout

Vi skal layoute pixel, hovedkort og accelerometer, før vi starter syningsprocessen. Pixelerne har en dataforbindelse, + for strøm og - for jord. Accelerometeret har brug for forbindelser til 3V, SCL, SDA og jord.

Layout pixel, hovedkort og accelerometer på trøjen, mens du planlægger at sy den. Sørg for, at du ikke krydser nogen søm, da det vil forårsage shorts. Da vi har vores board med forsiden ind og NeoPixels med forsiden ud, bruger vi 3V, Pin 9 og Ground til at forbinde NeoPixels.

NeoPixels har en pil, der viser, hvordan dataforbindelsen skal gå fra Flora -hovedkortet til det næste NeoPixel. Sørg for, at alle NeoPixels er opstillet på samme måde.

Trin 3: Syningstip

Den vigtige del af syningen er tre ting; ingen shorts/krydsning af sting, stramme knuder ved afslutning af en søm og gode forbindelser til Wearables.

Ingen shorts/stingkryds

Sørg for at layoute dine Wearables, så dine syninger ikke krydser over. Linjerne skal naturligvis ikke krydse. Når du har et layout, der sikrer, at alle sømme forbliver adskilte, skal du sørge for, at når du syr, at det er stramt. Hvis du lader for meget slække, kan tråden røre ved. Når du er færdig med en søm, skæres de overskydende ender af, så der ikke er løse tråde.

Stramme knuder

Når du slutter en stinglinje, vil en stram knude sikre, at sømmen ikke løsner. Tricket er at lægge en lille klat klar neglelak på knuden og lade den tørre. Dette hjælper med at holde knuden på plads, ligesom lim. Den ledende tråd holder ikke så godt i en knude som almindelig tråd, så jeg anbefaler stærkt at bruge neglelak, eller du kan ende med at syninger løsner.

Gode forbindelser

Sørg for, at løkkerne på stifterne er stramme. Dette vil hjælpe med at sikre, at hvis dit kredsløb ikke fungerer, ved vi, at det ikke er forbindelserne, der er problemet. Du kan sløjfe gennem stifterne 2-3 gange for at sikre, at der altid vil være en god forbindelse.

Tips/tricks

Sørg for, at dit tøj ikke er tændt, når du tager det af og på. Dette er den nemmeste måde at få tråde til at røre ved og forårsage en kortslutning. Tænd ikke din batteripakke, før tøjet er behageligt tændt.

Trin 4: Syning af komponenterne

Syning af komponenterne
Syning af komponenterne
Syning af komponenterne
Syning af komponenterne

Det første stykke, vi skal vedhæfte, er Flora Main Board. Sy brættet til din trøje ved hjælp af almindelig tråd gennem to stifter, du ikke planlægger at bruge. Dette holder brættet på plads og gør det lettere at sy med den ledende tråd. Et par enkle sløjfer er nok til at holde det i bevægelse.

Dernæst skal du sy de fire forbindelser fra Flora Main Board og Accelerometer. Dette vil være Power, Ground, SCL og SDA. Hvis du placerer accelerometeret øverst til venstre på hovedkortet, vil forbindelserne ligge direkte på linje. Så du har fire separate sting til at forbinde de to brædder. Brug lidt klar neglelak på begge endeknaster for at forhindre dem i at løsne sig. Lidt neglelak på brædderne skader dem ikke.

Endelig skal du forbinde 3V-, jord- og dataforbindelser fra Flora Main -kortet til NeoPixels. Du kan lave to lange, kontinuerlige sømme til jorden og kraften, da de er i bunden og toppen af NeoPixels. For dataforbindelserne fra Pin 9 skal du lave separate sømme fra hver NeoPixel til den næste.

Trin 5: Arduino IDE

Flora Main Board er Arduino-kompatibel, så vi vil bruge Arduino IDE til vores kode. Du kan downloade den nyeste version via dette link.

Der er også en webversion via dette link.

Der er fire biblioteker, der skal tilføjes for at bruge vores NeoPixels og Accelerometer. Gå til Skitse, Inkluder bibliotek, Administrer biblioteker. For hver skal du søge efter det ved navn, vælge den nyeste version og klikke på installer.

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

Når disse er installeret og syningen er færdig, er vi klar til at teste vores sweater for at sikre, at alt fungerer.

Trin 6: Test scripts

Test scripts
Test scripts

For at teste vores projekt skal vi slutte vores Adafruit -hovedkort til din computer ved hjælp af et USB -kabel. Gå derefter til Værktøjer, Port, og vælg dit Flora Main board på listen.

Det første, vi vil teste, er, om accelerometeret fungerer korrekt. Gå til Filer, eksempler, Adafruit LSM303DLHC, accelsensor. Dette åbner et script, der tester, om sensoren er tilsluttet og læser koordinatværdier. Upload til dit board, og åbn Serial Monitor øverst til højre på Arduino IDE. Hvis du ser værdier ændre sig i Serial Monitor, som på billedet, mens du bevæger accelerometeret, virker det!

Den anden ting, vi vil teste, er, om NeoPixels fungerer. Gå til Filer, eksempler, Adafruit NeoPixels, strandtest. Inden vi kører dette script, skal du ændre Pin til 9 og antal pixels til 6 (eller hvad du end bruger til dit projekt). Upload til dit board, og hvis pixels alle lyser, er du klar til det sidste script!

Trin 7: Endelig script

Endelig script
Endelig script

Nu er det tid til at indlæse vores endelige kode. Kopier koden herunder til en ny projektfil. Pin er indstillet til 9, og antallet af NeoPixels er sat til 6. Hvis du bruger noget andet, skal du ændre dem, før du kører dette script. Du kan justere yndlingsfarverne ved at justere værdierne for R, G og B fra 0-255. Du kan også tilføje flere yndlingsfarver ved at tilføje en ny linje. Flyttegrænsen kan også justeres. Jo lavere tallet er, jo lettere er det at registrere bevægelse og tænde NeoPixels. Når du har foretaget de ønskede ændringer, skal du gemme og uploade til dit Flora -hovedkort. Du bør kunne se pixlerne lyse op, hvis du flytter accelerometeret rundt. Når du ser, at du kan tage stikket ud af din computer, og vi kan oprette forbindelse til vores batteripakke.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parameter 1 = antal pixels i strimmel // Parameter 2 = pin -nummer (de fleste er gode, men vi bruger 9) // Parameter 3 = pixeltype flag, tilføj efter behov: // NEO_RGB Pixels er forbundet til RGB -bitstream (v1 FLORA -pixels, ikke v2) // NEO_GRB Pixels er forbundet til GRB -bitstream (de fleste NeoPixel -produkter. produkt vi bruger) // NEO_KHZ400 400 KHz (klassisk 'v1' (ikke v2) FLORA -pixels, WS2811 -drivere) // NEO_KHZ800 800 KHz bitstream (de fleste NeoPixel -produkter m/WS2812 LED'er. produkt vi bruger) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KHZ800) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Juster R, G, B fra 0-255 og // tilføj nye {nnn, nnn, nnn}, for flere farver // RGB uint8_t myFavoriteColors [3] = {{ 255, 255, 255}, // hvid {255, 0, 0}, // rød {0, 255, 0}, // grøn}; // rediger ikke linjen under #define FAVCOLORS sizeof (myFavoriteColors) /3 // dette tal justerer bevægelsesfølsomheden // lavere tal = mere følsomt #define MOVE_THRESHOLD 5 // superfølsom øjeblikkelig ugyldig opsætning () {Serial.begin (9600); // Prøv at initialisere og advare, hvis vi ikke kunne opdage chippen // Brug Serial Monitor til at se udskriften, hvis (! Accel.begin ()) {Serial.println ("Vi har et problem. Det er dig, ikke mig … Ude af stand til at initialisere LSM303. Jeg vil starte med en hurtig kontrol af ledningerne "); mens (1); } strip.begin (); strip.show (); // Indstil pixels til 'off'} void loop () {/ * Få en ny sensorhændelse */ sensors_event_t event; accel.getEvent (& event); // Serial.print ("Accel X:"); Seriel.print (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Seriel.print (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // Få størrelsen (længden) af den 3 -akse vektor dobbelte lagretVector = 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); // vent lidt forsinkelse (250); // få nye data! accel.getEvent (& event); dobbelt 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); // flytter vi endnu? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // første nummer er 'vent' forsinkelse, kortere num == kortere glimt flashRandom (10, 4); // andet tal er, hvor mange neopixel, der samtidigt skal lyse op flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// tilfældigt valgt blandt yndlingsfarver int c = random (FAVCOLORS); int hvid = myFavoriteColors [c] [0]; int red = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // de pixels, der skal tændes i en rækkefølge for (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Serial.println (i); // nu vil vi 'falme' det i 3 trin for (int x = 0; x = 0; x--) {int w = hvid * 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 (); forsinkelse (vent); }} // LED'er slukkes, når de er færdige (de er falmet til 0)}

Trin 8: Batteripakke

Batteri pakke
Batteri pakke

For at holde din sweater løbende drevet bruger vi en batteripakke. Vi skal lave en sele til pakken, så den ikke bare hænger fra brættet. Jeg brugte hjørnet af en gammel pudebetræk som min batterilomme. Jeg syede den åbne side op og syede den ene side af toppen til trøjen tæt nok på hovedkortet, så den let kan sættes i og ikke trække i den.

Sæt batteriet i hovedkortet, drej den lille kontakt på hovedkortet fra fra til tændt, og tænd for din batteripakke. Din trøje skal nu fungere og være klar til at have på.

Trin 9: Konklusion

Konklusion
Konklusion

Du har nu lavet en lys sweater, der vil imponere alle dine venner og familie! Men dette er ikke kun et ferieprojekt. Gør din valentine til en hjertelysstrøje eller tænd en shamrock -skjorte til St. Patrick's Day. Brug din fantasi og lad os vide, hvad du har skabt!

Anbefalede: