Turinys:

„Arduino Light Up“megztinis: 9 žingsniai
„Arduino Light Up“megztinis: 9 žingsniai

Video: „Arduino Light Up“megztinis: 9 žingsniai

Video: „Arduino Light Up“megztinis: 9 žingsniai
Video: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, Liepa
Anonim
Image
Image

Bjaurūs megztinių vakarėliai yra pagrindinis atostogų elementas. Kiekvienais metais turite atnaujinti savo žaidimą ir dėvėti geriausią megztinį, kokį tik galite rasti. Tačiau šiais metais galite padaryti vieną geriau ir padaryti geriausią megztinį. Mes naudojame „Adafruit Wearables“, kad sukurtume gražų apšviestą megztinį, kuris tikrai nustebins jūsų draugus ir šeimos narius.

„Adafruit“jau sukūrė puikių projektų, susijusių su nešiojamaisiais kompiuteriais, todėl mes naudojame jų modifikuotą kodą šiam projektui įgyvendinti iš „Sparkle Skirt“projekto.

Šioje pamokoje jūs:

  • Išmokite naudotis nešiojamaisiais kompiuteriais
  • Koduokite „Flora“pagrindinę plokštę, akselerometrą ir „NeoPixels“, kad įsižiebtų naudojant „Arduino“

1 žingsnis: Darbo pradžia

Darbo pradžia
Darbo pradžia

Mes naudosime „Adafruit Flora Wearables“, akumuliatorių, laidų siūlą ir šventinį megztinį. Jums taip pat reikės įprastų siūlų, adatų ir nagų lako. Visa tai turės prasmę laikui bėgant. Mūsų versija Kalėdų Seneliui suteiks šviesos, bet mes palaikome visas religijas ir šventes bei įsitikinimus, todėl būkite kūrybingi!

  • „Adafruit Flora“pagrindinė lenta (https://www.adafruit.com/product/659)
  • „Flora“pagreičio matuoklis (https://www.adafruit.com/product/1247)
  • „Flora RGB NeoPixels“(https://www.adafruit.com/product/1260)
  • Akumuliatorius (https://www.adafruit.com/product/727)
  • Laidus siūlas (https://www.adafruit.com/product/641)

2 žingsnis: išdėstymas

Išdėstymas
Išdėstymas

Prieš pradėdami susiuvimo procesą, turime išdėstyti taškus, pagrindinę plokštę ir akselerometrą. Pikseliai turės duomenų ryšį, + maitinimo šaltinį ir - žemę. Akselerometrui reikia 3V, SCL, SDA ir įžeminimo jungčių.

Išdėstykite megztinio taškus, pagrindinę plokštę ir akselerometrą, kai planuojate jį susiūti. Įsitikinkite, kad neperkelsite jokių siūlių, nes tai sukels šortus. Kadangi mūsų plokštė yra į priekį, o „NeoPixels“- į išorę, „NeoPixels“prijungimui naudojame 3 V, 9 kaištį ir įžeminimą.

„NeoPixels“turi rodyklę, rodančią, kaip duomenų ryšys turėtų pereiti iš „Flora“pagrindinės plokštės į kitą „NeoPixel“. Įsitikinkite, kad visi „NeoPixels“elementai yra išdėstyti vienodai.

3 žingsnis: siuvimo patarimai

Svarbi susiuvimo dalis yra trys dalykai; jokių šortų/siūlių kirtimo, sandarių mazgų baigiant dygsnį ir geros jungtys su nešiojamais.

Nėra šortų/siūlių kirtimo

Įsitikinkite, kad dėvite nešiojamus drabužius taip, kad susiuvimas nesikištų. Akivaizdu, kad linijos neturėtų kirsti. Kai turėsite išdėstymą, kuris užtikrins, kad visos siūlės lieka atskiros, siuvinėdami turite įsitikinti, kad jis yra tvirtas. Jei paliksite per daug laisvą, siūlas gali prisiliesti. Baigę siūlę, nupjaukite perteklinius galus, kad neliktų nuklydusių siūlų.

Tvirti mazgai

Baigiant dygsnio liniją, tvirtas mazgas užtikrins, kad dygsnis neatsiliks. Apgaulė - ant mazgo uždėti nedidelį lašelį skaidraus nagų lako ir leisti jam išdžiūti. Tai padeda išlaikyti mazgą vietoje, panašiai kaip klijai. Laidus siūlas nesilaiko taip gerai mazge kaip įprastas siūlas, todėl labai rekomenduoju naudoti nagų laką, nes kitaip siūlai gali atsilaisvinti.

Geri ryšiai

Įsitikinkite, kad kilpos ant kaiščių yra sandarios. Tai padės užtikrinti, kad jei jūsų grandinė neveikia, mes žinome, kad ne jungtys yra problema. Galite kaištis per kaiščius 2-3 kartus, kad įsitikintumėte, jog visada bus geras ryšys.

Patarimai ir triukai

Įsitikinkite, kad drabužis neįjungtas, kai jį įjungiate ir nusirengiate. Tai lengviausias būdas susilieti siūlus ir sukelti trumpąjį. Nejunkite akumuliatoriaus, kol patogiai neįsirengsite drabužių.

4 žingsnis: komponentų susiuvimas

Komponentų susiuvimas
Komponentų susiuvimas
Komponentų susiuvimas
Komponentų susiuvimas

Pirmasis gabalas, kurį turime pritvirtinti, yra „Flora“pagrindinė plokštė. Prijunkite lentą prie megztinio naudodami įprastą siūlą per du kaiščius, kurių neplanuojate naudoti. Taip lenta laikysis vietoje ir bus lengviau susiūti naudojant laidų siūlą. Pakanka kelių paprastų kilpų, kad jis nejudėtų.

Toliau reikia susiūti keturias jungtis iš pagrindinės „Flora“plokštės ir akselerometro. Tai bus „Power“, „Ground“, „SCL“ir „SDA“. Jei pagreičio matuoklį pastatysite pagrindinės plokštės viršuje kairėje, jungtys bus tiesiai. Taigi turėsite keturias atskiras siūles, kad sujungtumėte dvi plokštes. Abiejuose galiniuose mazguose naudokite šiek tiek skaidraus nagų lako, kad jie neišsiskleistų. Šiek tiek nagų lako ant lentų jiems nepakenks.

Galiausiai turite prijungti 3 V, antžeminius ir duomenų ryšius iš „Flora“pagrindinės plokštės prie „NeoPixels“. Galite atlikti du ilgus, nenutrūkstamus dygsnius žemei ir galiai, nes jie yra „NeoPixels“apačioje ir viršuje. Norėdami prisijungti prie 9 kaiščio, turite atlikti atskirus siūlius iš kiekvieno „NeoPixel“į kitą.

5 žingsnis: „Arduino IDE“

„Flora“pagrindinė plokštė suderinama su „Arduino“, todėl savo kodui naudosime „Arduino IDE“. Naujausią versiją galite atsisiųsti per šią nuorodą.

Taip pat yra žiniatinklio versija per šią nuorodą.

Norint naudoti „NeoPixels“ir „Accelerometer“, reikia pridėti keturias bibliotekas. Eikite į Eskizas, Įtraukti biblioteką, Tvarkyti bibliotekas. Kiekvieno iš jų turėsite ieškoti pagal pavadinimą, pasirinkti naujausią versiją ir spustelėkite įdiegti.

  • „Adafruit NeoPixel“
  • „Adafruit“vieningas jutiklis
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Kai jie bus sumontuoti ir susiuvami, būsime pasiruošę išbandyti savo megztinį, kad įsitikintume, jog viskas veikia.

6 veiksmas: bandymo scenarijai

Bandymo scenarijai
Bandymo scenarijai

Norėdami išbandyti savo projektą, turime prijungti „Adafruit“pagrindinę plokštę prie kompiuterio naudodami USB kabelį. Tada eikite į „Tools“, „Port“ir sąraše pasirinkite „Flora Main“plokštę.

Pirmiausia patikrinsime, ar akselerometras veikia tinkamai. Eikite į Failas, Pavyzdžiai, „Adafruit LSM303DLHC“, greitintuvas. Bus atidarytas scenarijus, kuris patikrins, ar jutiklis prijungtas, ir nuskaito koordinačių reikšmes. Įkelkite į savo lentą ir atidarykite „Arduino IDE“viršuje dešinėje esantį serijinį monitorių. Jei matote, kad serijiniame monitoriuje, pvz., Nuotraukoje, keičiasi vertės judant akselerometrui, jis veikia!

Antras dalykas, kurį išbandysime, yra tai, ar „NeoPixels“veikia. Eikite į Failas, Pavyzdžiai, „Adafruit NeoPixels“, „strandtest“. Prieš paleisdami šį scenarijų, pakeiskite kaištį į 9, o pikselių skaičių - į 6 (arba bet kokią, kurią naudojate savo projektui). Įkelkite į savo lentą ir jei visi taškai užsidega, esate pasiruošę galutiniam scenarijui!

7 žingsnis: galutinis scenarijus

Galutinis scenarijus
Galutinis scenarijus

Dabar atėjo laikas įkelti galutinį kodą. Nukopijuokite žemiau esantį kodą į naują projekto failą. Smeigtukas nustatytas į 9, o „NeoPixels“skaičius - 6. Jei naudojate ką nors kito, prieš paleisdami šį scenarijų pakeiskite juos. Mėgstamiausias spalvas galite koreguoti koreguodami R, G ir B reikšmes nuo 0 iki 255. Taip pat galite pridėti daugiau mėgstamų spalvų pridėdami naują eilutę. Judėjimo slenkstį taip pat galima reguliuoti. Kuo mažesnis skaičius, tuo lengviau aptikti judesį ir įjungti „NeoPixels“. Kai atliksite norimus pakeitimus, išsaugokite ir įkelkite į savo „Flora“pagrindinę plokštę. Perkeldami akselerometrą, turėtumėte matyti, kaip užsidega pikseliai. Kai pamatysite, kad galite atjungti nuo kompiuterio ir mes galime prisijungti prie savo akumuliatoriaus.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // 1 parametras = pikselių skaičius juostelėje // Parametras 2 = kaiščio skaičius (dauguma yra geri, bet mes naudojame 9) // 3 parametras = pikselių tipas vėliavėlės, prireikus pridėkite: // NEO_RGB Pikseliai yra prijungti RGB bitų srautui (v1 FLORA pikseliai, o ne v2) // NEO_GRB Pikseliai prijungti prie GRB bitų srauto (dauguma „NeoPixel“produktų. mūsų naudojamas produktas) // NEO_KHZ400 400 KHz (klasikinis „v1“(ne v2) FLORA pikseliai, WS2811 tvarkyklės) // NEO_KHZ800 800 KHz bitų srautas (dauguma „NeoPixel“produktų su WS2812 šviesos diodais. mūsų naudojamas produktas) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Sureguliuokite R, G, B nuo 0 iki 255 ir // pridėkite naujų {nnn, nnn, nnn}, jei norite daugiau spalvų // RGB uint8_t myFavoriteColors [3] { 255, 255, 255}, // balta {255, 0, 0}, // raudona {0, 255, 0}, // žalia}; // neredaguokite žemiau esančios eilutės #define FAVCOLORS sizeof (myFavoriteColors) /3 // šis skaičius reguliuoja judesio jautrumą // mažesnis skaičius = jautresnis #define MOVE_THRESHOLD 5 // itin jautrus šiuo metu negaliojantis nustatymas () {Serial.begin (9600); // Pabandykite inicijuoti ir įspėti, jei nepavyko aptikti lusto // Naudokite serijinį monitorių, kad pamatytumėte atspausdintą if (! Accel.begin ()) {Serial.println ("Mes turime problemą. Tai jūs, o ne aš … negaliu inicijuoti LSM303. Pradėčiau nuo greito laidų patikrinimo "); tuo tarpu (1); } strip.begin (); strip.show (); // Nustatykite taškus į „off“} void loop () {/ * Gaukite naują jutiklio įvykį */ 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 (""); // Gauti 3 ašių vektoriaus dydį (ilgį) dvigubai storageVector = event.acceleration.x*event.acceleration.x; storageVector += event.acceleration.y*event.acceleration.y; storageVector += event.acceleration.z*event.acceleration.z; saugomas vektorius = kv. (saugomas vektorius); // Serial.print ("Len:"); Serial.println (storageVector); // šiek tiek palaukti (250); // gauti naujų duomenų! accel.getEvent (& event); dvigubas naujasVektorius = 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 ("Naujas Len:"); Serial.println (newVector); // ar mes jau judame? if (abs (naujasVektorius - saugomasVektorius)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); „flashRandom“(10, 2); // pirmasis skaičius yra „laukimo“uždelsimas, trumpesnis numeris == trumpesnis mirksėjimas „Atsitiktinis“(10, 4); // antrasis skaičius yra tai, kiek neopikselių vienu metu užsidega flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// atsitiktinai pasirinktas iš mėgstamiausių spalvų int c = random (FAVCOLORS); int balta = myFavoriteColors [c] [0]; int raudona = myFavoriteColors [c] [1]; int žalia = myFavoriteColors [c] [2]; // pikseliai, kurie turi būti įjungti tokia tvarka (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print („Pixel on“); Serijinis.println (i); // dabar „išbluksime“jį 3 žingsniais (int x = 0; x = 0; x--) {int w = white * x; w /= 3; int r = raudona * x; r /= 3; int g = žalia * x; g /= 3; strip.setPixelColor (i, juostelė. Spalva (w, r, g)); strip.show (); atidėti (laukti); }} // Šviečiant šviesos diodams, jie bus išjungti (jie išblukę iki 0)}

8 žingsnis: akumuliatorių paketas

Akumuliatorius
Akumuliatorius

Kad jūsų megztinis nuolat maitintųsi, naudosime akumuliatorių. Pakuotei turime pagaminti pakinktus, kad ji ne tik kabėtų nuo lentos. Aš kaip baterijos kišenę naudojau senos pagalvės užvalkalo kampą. Aš susiuvau atvirą pusę ir vieną viršaus pusę prisegiau prie megztinio pakankamai arti pagrindinės plokštės, kad jis galėtų lengvai užsikabinti ir netraukti.

Prijunkite akumuliatorių prie pagrindinės plokštės, išjunkite ir įjunkite mažą jungiklį pagrindinėje plokštėje ir įjunkite akumuliatorių. Jūsų megztinis dabar turėtų veikti ir būti paruoštas dėvėti.

9 žingsnis: Išvada

Išvada
Išvada

Dabar jūs padarėte lengvą megztinį, kuris sužavės visus jūsų draugus ir šeimos narius! Bet tai ne tik atostogų projektas. Šv. Pasinaudokite savo vaizduote ir praneškite mums, ką sukūrėte!

Rekomenduojamas: