INHOUDSOPGAWE:

Arduino Light Up trui: 9 stappe
Arduino Light Up trui: 9 stappe

Video: Arduino Light Up trui: 9 stappe

Video: Arduino Light Up trui: 9 stappe
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, November
Anonim
Image
Image

Lelike truipartytjies is 'n stapelvoedsel van die vakansie. Elke jaar moet u u spel versterk en die beste trui dra wat u kan kry. Maar hierdie jaar kan u een beter doen en die beste trui maak. Ons gebruik Adafruit Wearables om 'n pragtige verligte trui te skep wat u vriende en familie beslis sal beïndruk.

Adafruit het al 'n paar wonderlike projekte rondom Wearables geskep, so ons gebruik hul gewysigde kode om hierdie projek uit hul Sparkle Skirt -projek te implementeer.

In hierdie tutoriaal sal u:

  • Leer om wearables te gebruik
  • Kodeer u Flora -hoofbord, versnellingsmeter en NeoPixels om aan te steek met Arduino

Stap 1: Aan die gang

Aan die gang kom
Aan die gang kom

Ons gaan Adafruit Flora Wearables, 'n battery, geleidende draad en 'n vakansie trui gebruik. U benodig ook gereelde draad, naalde en naellak. Dit sal alles mettertyd sin maak. Ons weergawe sal Kersvader verlig, maar ons ondersteun alle godsdienste en vakansiedae en oortuigings, so wees kreatief!

  • Adafruit Flora Hoofraad (https://www.adafruit.com/product/659)
  • Flora versnellingsmeter (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Batterypak (https://www.adafruit.com/product/727)
  • Geleidende draad (https://www.adafruit.com/product/641)

Stap 2: Uitleg

Uitleg
Uitleg

Ons moet die pixels, hoofbord en versnellingsmeter uitleg voordat ons met die stikproses begin. Die pixels het 'n dataverbinding, + vir krag, en - vir grond. Die versnellingsmeter benodig aansluitings vir 3V, SCL, SDA en grond.

Plaas die pixels, die hoofbord en die versnellingsmeter op die trui terwyl u dit wil stik. Maak seker dat u geen stiksel kruis nie, aangesien dit kortbroek veroorsaak. Aangesien ons bord na binne en NeoPixels na buite kyk, gebruik ons die 3V, Pin 9 en Ground om die NeoPixels aan te sluit.

Die NeoPixels het 'n pyltjie wat wys hoe die dataverbinding van die Flora -hoofbord na die volgende NeoPixel moet verloop. Maak seker dat alle NeoPixels op dieselfde manier gerig is.

Stap 3: Steekwenke

Die belangrike deel van stikwerk is drie dinge; geen kortbroek/kruising van steke nie, stywe knope wanneer 'n steek beëindig word, en goeie verbindings met draagbare.

Geen kortbroek/steekoorgang nie

Maak seker dat u u wearables so uitstel dat u stikwerk nie oorsteek nie. Die lyne moet natuurlik nie kruis nie. As u eers 'n uitleg het wat verseker dat alle steke apart bly, moet u seker maak dat dit styf is wanneer u stik. As u te veel laat, kan die draad raak. As u klaar is met 'n steek, sny u die oortollige punte af sodat daar geen verdwaalde drade is nie.

Streng knope

As u 'n steeklyn eindig, sal 'n stywe knoop verseker dat die steek nie loskom nie. Die truuk is om 'n klein klompie helder naellak op die knoop te sit en te laat droog word. Dit help om die knoop op sy plek te hou, soortgelyk aan gom. Die geleidende draad hou nie so goed in 'n knoop as 'n gewone draad nie, dus ek beveel sterk aan dat u naellak gebruik, anders kan u stiksel loskom.

Goeie verbindings

Maak seker dat die lusse op die penne styf is. Dit sal help om te verseker dat as u kring nie werk nie, ons weet dat dit nie die verbindings is wat die probleem is nie. U kan 2-3 keer deur die penne loop om seker te maak dat daar altyd 'n goeie verbinding is.

Wenke/truuks

Maak seker dat u kledingstuk nie aangeskakel is as u dit aan en uit trek nie. Dit is die maklikste manier om drade aan te raak en kort te maak. Moenie u battery aanskakel voordat die kledingstuk gemaklik aangeskakel is nie.

Stap 4: stik die komponente vas

Stik die komponente
Stik die komponente
Stik die komponente
Stik die komponente

Die eerste stuk wat ons moet heg, is die Flora -hoofbord. Steek die bord aan u trui met gewone draad deur twee penne wat u nie van plan is om te gebruik nie. Dit hou die bord vas en maak dit makliker om met die geleidende draad te stik. 'N Paar eenvoudige lusse is genoeg om te verhoed dat dit beweeg.

Vervolgens moet u die vier verbindings van die Flora -hoofbord en die versnellingsmeter vasmaak. Dit sal die Power, Ground, SCL en SDA wees. As u die versnellingsmeter links bo op die hoofbord plaas, kom die verbindings direk in lyn. U sal dus vier afsonderlike steke hê om die twee planke aan te sluit. Gebruik 'n bietjie duidelike naellak aan albei knope om te verhoed dat dit ontrafel. 'N Bietjie naellak op die planke sal hulle nie seermaak nie.

Uiteindelik moet u die 3V-, grond- en dataverbindings van die Flora -hoofbord aan die NeoPixels koppel. U kan twee lang, deurlopende steke vir die grond en krag doen, aangesien dit onder en bo -op die NeoPixels is. Vir die dataverbindings van Pin 9 moet u afsonderlike steke van elke NeoPixel na die volgende maak.

Stap 5: Arduino IDE

Die Flora-hoofbord is Arduino-versoenbaar, so ons sal Arduino IDE gebruik vir ons kode. U kan die nuutste weergawe via hierdie skakel aflaai.

Daar is ook 'n webweergawe via hierdie skakel.

Daar is vier biblioteke wat bygevoeg moet word om ons NeoPixels en versnellingsmeter te gebruik. Gaan na Skets, sluit biblioteek in, bestuur biblioteke. Vir elkeen moet u dit op naam soek, die nuutste weergawe kies en klik op installeer.

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

Sodra dit geïnstalleer is en die stikwerk voltooi is, is ons gereed om ons trui te toets om seker te maak dat alles werk.

Stap 6: Toets skrifte

Toetsskrifte
Toetsskrifte

Om ons projek te toets, moet ons ons Adafruit -hoofbord met 'n USB -kabel op u rekenaar koppel. Gaan dan na Tools, Port en kies u Flora -hoofbord in die lys.

Die eerste ding wat ons sal toets, is of die versnellingsmeter behoorlik werk. Gaan na File, Voorbeelde, Adafruit LSM303DLHC, accelsensor. Dit sal 'n script oopmaak wat toets of die sensor gekoppel is en koördinaatwaardes lees. Laai dit op u bord op en maak die Serial Monitor regs bo in die Arduino IDE oop. As u sien dat waardes verander in die Serial Monitor, soos op die foto, terwyl u die versnellingsmeter beweeg, werk dit!

Die tweede ding wat ons sal toets, is of die NeoPixels werk. Gaan na File, Voorbeelde, Adafruit NeoPixels, strandtest. Voordat ons hierdie script gebruik, verander die speld na 9 en die aantal pixels na 6 (of wat u ook al vir u projek gebruik). Laai na u bord en as die pixels brand, is u gereed vir die finale skrif!

Stap 7: Finale skrif

Finale skrif
Finale skrif

Nou is dit tyd om ons finale kode te laai. Kopieer die onderstaande kode in 'n nuwe projeklêer. Die pen is ingestel op 9 en die aantal NeoPixels is ingestel op 6. As u iets anders gebruik, verander dit voordat u hierdie skrip uitvoer. U kan die gunsteling kleure aanpas deur die waardes van R, G, & B van 0-255 aan te pas. U kan ook meer gunsteling kleure byvoeg deur 'n nuwe reël by te voeg. Die skuifdrempel kan ook aangepas word. Hoe laer die getal, hoe makliker is dit om beweging op te spoor en die NeoPixels aan te skakel. Sodra u die gewenste veranderings gemaak het, stoor en laai dit op na u Flora -hoofbord. U moet die pixels kan sien verlig as u die versnellingsmeter beweeg. As u eers sien dat u die koppelaar van u rekenaar kan ontkoppel, kan ons aansluit op ons battery.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parameter 1 = aantal pixels in strook // Parameter 2 = pin -nommer (die meeste is goed, maar ons gebruik 9) // Parameter 3 = pixeltipe vlae, voeg by indien nodig: // NEO_RGB Pixels word bedraad vir RGB -bitstroom (v1 FLORA -pixels, nie v2) // NEO_GRB Pixels word bedraad vir GRB -bitstroom (die meeste NeoPixel -produkte. produk wat ons gebruik) // NEO_KHZ400 400 KHz (klassiek 'v1' (nie v2) FLORA -pixels, WS2811 -bestuurders) // NEO_KHZ800 800 KHz bitstroom (die meeste NeoPixel -produkte met WS2812 LED's. produk wat ons gebruik) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KHZ800); Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Pas die R, G, B aan van 0-255 en // voeg nuwe {nnn, nnn, nnn} by, vir meer kleure // RGB uint8_t myFavoriteColors [3] = { 255, 255, 255}, // wit {255, 0, 0}, // rooi {0, 255, 0}, // groen}; // moenie die reël hieronder wysig nie #define FAVCOLORS sizeof (myFavoriteColors) /3 // hierdie getal pas die bewegingsgevoeligheid aan // laer getal = meer sensitief #define MOVE_THRESHOLD 5 // supergevoelig tansvoid setup () {Serial.begin (9600); // Probeer om te initialiseer en te waarsku as ons nie die chip kan opspoor nie // Gebruik Serial Monitor om die afdruk te sien as (! Accel.begin ()) {Serial.println ("Ons het 'n probleem. Dit is jy, nie ek nie … Kon nie die LSM303 inisialiseer nie. Ek sou begin met 'n vinnige ondersoek van die bedrading "); terwyl (1); } strip.begin (); strip.show (); // Stel pixels op 'af'} leegte -lus () {/ * Kry 'n nuwe sensorgebeurtenis */ sensors_event_t -gebeurtenis; accel.getEvent (& geleentheid); // Serial.print ("Accel X:"); Reeks.afdruk (gebeurtenis.versnelling.x); Serial.print (""); // Serial.print ("Y:"); Serial.print (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // Kry die grootte (lengte) van die 3 -as -vektor dubbel gestoorVector = event.acceleration.x*event.acceleration.x; storageVector += event.acceleration.y*event.acceleration.y; storageVector += event.acceleration.z*event.acceleration.z; storageVector = sqrt (gestoorVector); // Serial.print ("Len:"); Serial.println (storeVector); // wag 'n bietjie vertraging (250); // kry nuwe data! accel.getEvent (& geleentheid); 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 ("New Len:"); Serial.println (newVector); // beweeg ons nog? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // eerste nommer is 'wag' vertraging, korter num == korter flikker flitsRandom (10, 4); // tweede getal is hoeveel neopixels gelyktydig flashRandom (10, 6) moet aansteek; }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// willekeurig gekies uit gunsteling kleure int c = random (FAVCOLORS); int white = myFavoriteColors [c] [0]; int rooi = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // die pixels om aan te skakel in 'n volgorde vir (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel aan"); Serial.println (i); // nou 'vervaag' ons dit in 3 stappe vir (int x = 0; x = 0; x--) {int w = wit * x; w /= 3; int r = rooi * x; r /= 3; int g = groen * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); vertraag (wag); }} // LED's sal af wees as dit klaar is (hulle is vervaag tot 0)}

Stap 8: Batterypak

Batterypak
Batterypak

Om u trui voortdurend aan te hou, gebruik ons 'n battery. Ons moet 'n harnas vir die pak maak sodat dit nie net aan die bord hang nie. Ek het die hoek van 'n ou kussingsloop as my batterysak gebruik. Ek het die oop kant vasgemaak en die een kant van die bokant vasgemaak aan die trui naby genoeg aan die hoofbord sodat dit maklik kan inprop en nie daaraan kan trek nie.

Steek die battery in die hoofbord, draai die klein skakelaar van die hoofbord van af na aan en skakel u battery aan. Jou trui moet nou werk en gereed wees om aan te trek.

Stap 9: Gevolgtrekking

Afsluiting
Afsluiting

U het nou 'n trui gemaak wat al u vriende en familie sal beïndruk! Maar dit is nie net 'n vakansieprojek nie. Maak van jou Valentynsdag 'n hartlike trui of steek 'n klawerhemp aan vir St Patrick's Day. Gebruik u verbeelding en laat ons weet wat u geskep het!

Aanbeveel: