Sisukord:

Arduino kerge kampsun: 9 sammu
Arduino kerge kampsun: 9 sammu

Video: Arduino kerge kampsun: 9 sammu

Video: Arduino kerge kampsun: 9 sammu
Video: Arduino ruulib 2024, November
Anonim
Image
Image

Inetud kampsunipidud on pühade põhiosa. Igal aastal peate oma mängu parandama ja kandma parimat kampsunit. Kuid sel aastal saate teha ühe paremini ja teha parima kampsuni. Kasutame Adafruit Wearables'i, et luua kaunis valgustatud kampsun, mis kindlasti jätab teie sõpradele ja perele mulje.

Adafruit lõi juba kantavate toodete ümber suurepäraseid projekte, nii et me kasutame nende muudetud koodi selle projekti rakendamiseks nende Sparkle Skirt projektist.

Selles õpetuses saate:

  • Õppige kandma riideid
  • Kodeerige oma Flora põhiplaat, kiirendusmõõtur ja NeoPixelid Arduino abil süttima

1. samm: alustamine

Alustamine
Alustamine

Kasutame Adafruit Flora Wearables'i, akut, juhtivat niiti ja pühade kampsunit. Teil on vaja ka tavalist niiti, nõelu ja küünelakki. See kõik on aja jooksul mõistlik. Meie versioon annab jõuluvanale silmad särama, kuid me toetame kõiki religioone ja pühasid ning uskumusi, seega olge loomingulised!

  • Adafruit Flora põhiplaat (https://www.adafruit.com/product/659)
  • Flora kiirendusmõõtur (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Aku (https://www.adafruit.com/product/727)
  • Juhtiv niit (https://www.adafruit.com/product/641)

2. samm: paigutus

Paigutus
Paigutus

Enne õmblusprotsessi alustamist peame paigutama pikslid, põhiplaadi ja kiirendusmõõturi. Pikslitel on andmeside, + toiteallika jaoks ja - maa jaoks. Kiirendusmõõtur vajab ühendusi 3V, SCL, SDA ja maa jaoks.

Paigutage kampsuni pikslid, emaplaat ja kiirendusmõõtur, kui kavatsete seda õmmelda. Veenduge, et te ei läbiks ühtegi õmblust, sest see põhjustab lühikesi pükse. Kuna meie plaat on sissepoole ja NeoPixelid väljapoole, kasutame NeoPixelite ühendamiseks 3 V, Pin 9 ja Ground.

NeoPixelitel on nool, mis näitab, kuidas andmeühendus peaks minema Flora põhiplaadilt järgmisele NeoPixelile. Veenduge, et kõik NeoPixelid oleksid ühtemoodi joondatud.

3. samm: õmblusnõuanded

Õmblemise oluline osa on kolm asja; puuduvad lühikesed püksid/õmbluste ületamine, tihedad sõlmed õmbluse lõpetamisel ja head ühendused kantavatega.

Ei mingeid lühikesi pükse/õmblusi

Paigutage kindlasti kantavad riided nii, et õmblused ei läheks üle. Piirid ei tohiks ilmselgelt ületada. Kui teil on paigutus, mis tagab, et kõik õmblused jäävad eraldi, peate õmblemise ajal veenduma, et see on pingul. Kui jätate liiga palju lõtku, võib see niiti puudutada. Kui olete silmuse lõpetanud, lõigake üleliigsed otsad ära, nii et poleks hulkuvaid niite.

Tihedad sõlmed

Pistmisjoone lõpetamisel tagab tihe sõlm, et õmblus ei lähe lahti. Trikk on see, kui panna väike nukk läbipaistvat küünelakki sõlmele ja lasta kuivada. See aitab sõlme sarnaselt liimiga paigal hoida. Juhtiv niit ei hoia sõlmes nii hästi kui tavaline niit, seega soovitan soojalt kasutada küünelakki, vastasel juhul võite õmblused lahti saada.

Head ühendused

Veenduge, et tihvtide aasad on tihedad. See aitab tagada, et kui teie vooluahel ei tööta, teame, et probleem pole ühendustes. Võite tihvtid 2-3 korda läbi loopida, veendumaks, et ühendus on alati hea.

Nõuanded/nipid

Veenduge, et teie riietusese ei oleks sisse ja välja lülitatud. See on lihtsaim viis niitide puudutamiseks ja lühise tekitamiseks. Ärge lülitage akut sisse enne, kui riideese on mugavalt seljas.

4. samm: komponentide õmblemine

Komponentide õmblemine
Komponentide õmblemine
Komponentide õmblemine
Komponentide õmblemine

Esimene tükk, mille peame kinnitama, on Flora põhiplaat. Õmble plaat kampsuni külge, kasutades tavalist niiti läbi kahe tihvti, mida te ei kavatse kasutada. See hoiab plaati paigal ja hõlbustab juhtiva niidi abil õmblemist. Piisab mõnest lihtsast silmusest, et see ei liiguks.

Järgmisena peate õmblema Flora põhiplaadi ja kiirendusmõõturi neli ühendust. See on Power, Ground, SCL ja SDA. Kui asetate kiirendusmõõturi emaplaadi vasakusse ülanurka, on ühendused otse joondatud. Nii et kahe plaadi ühendamiseks on teil neli eraldi õmblust. Kasutage mõlemal otsasõlmel veidi läbipaistvat küünelakki, et need lahti ei saaks. Väike küünelakk laudadel ei tee neile haiget.

Lõpuks peate ühendama 3V, maa- ja andmeühendused Flora põhiplaadilt NeoPixelitega. Saate teha kaks pikka ja pidevat õmblust maapinna ja toite jaoks, kuna need asuvad NeoPixelite all- ja ülaosas. Pin 9 andmeühenduste jaoks peate igast NeoPixelist järgmisele õmbluse tegema eraldi.

Samm: Arduino IDE

Flora põhiplaat on Arduino-ühilduv, nii et kasutame oma koodi jaoks Arduino IDE-d. Selle lingi kaudu saate alla laadida uusima versiooni.

Selle lingi kaudu on olemas ka veebiversioon.

NeoPixelite ja kiirendusmõõturi kasutamiseks tuleb lisada neli raamatukogu. Avage Sketch, Include Library, Manage Library. Igaühe jaoks peate selle otsima nime järgi, valima uusima versiooni ja klõpsama installil.

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

Kui need on paigaldatud ja õmblemine on lõpetatud, oleme valmis oma kampsunit katsetama, et veenduda, kas kõik töötab.

6. samm: testskriptid

Testi skriptid
Testi skriptid

Projekti testimiseks peame ühendama oma Adafruit'i emaplaadi arvutiga USB -kaabli abil. Seejärel minge tööriistadesse, porti ja valige loendist oma Flora põhiplaat.

Esimene asi, mida testime, on see, kas kiirendusmõõtur töötab korralikult. Avage Fail, näited, Adafruit LSM303DLHC, kiirendaja. See avab skripti, mis kontrollib, kas andur on ühendatud ja loeb koordinaatide väärtusi. Laadige oma tahvlile üles ja avage Arduino IDE paremas ülanurgas jadamonitor. Kui näete kiirendusmõõturi liigutamisel jadamonitoris väärtusi muutumas, nagu fotol, siis see töötab!

Teine asi, mida testime, on see, kas NeoPixels töötab. Avage Fail, näited, Adafruit NeoPixels, strandtest. Enne selle skripti käivitamist muutke PIN -kood 9 -ks ja pikslite arv 6 -ks (või mis iganes te oma projekti jaoks kasutate). Laadige oma tahvlile üles ja kui kõik pikslid süttivad, olete valmis lõplikuks skriptiks!

Samm 7: Lõplik skript

Lõplik skript
Lõplik skript

Nüüd on aeg meie lõplik kood laadida. Kopeerige allolev kood uude projektifaili. Pin on seatud 9 -le ja NeoPixelite arvuks 6. Kui kasutate midagi muud, muutke neid enne selle skripti käivitamist. Lemmikvärve saate reguleerida, reguleerides väärtusi R, G ja B vahemikus 0–255. Uue rea lisamisega saate lisada ka rohkem lemmikvärve. Liikumiskünnist saab samuti reguleerida. Mida väiksem on number, seda lihtsam on liikumist tuvastada ja NeoPixeleid sisse lülitada. Kui olete soovitud muudatused teinud, salvestage ja laadige oma Flora põhiplaadile üles. Kui liigutate kiirendusmõõturit, peaksite nägema piksleid süttimas. Kui näete, et saate arvutist lahti ühendada ja saame oma akuga ühenduse luua.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parameeter 1 = pikslite arv ribas // Parameeter 2 = pin -number (enamik on head, aga me kasutame 9) // Parameeter 3 = piksli tüüp lipud, lisage vastavalt vajadusele: // NEO_RGB Pikslid on ühendatud RGB bitivooga (v1 FLORA pikslit, mitte v2) // NEO_GRB Pikslid on ühendatud GRB bitivooga (enamik NeoPixeli tooteid. toode, mida me kasutame) // NEO_KHZ400 400 KHz (klassikaline 'v1' (mitte v2) FLORA pikslid, WS2811 draiverid) // NEO_KHZ800 800 KHz bitivool (enamik NeoPixeli tooteid koos WS2812 LED -idega. toode, mida me kasutame) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Reguleerige R, G, B vahemikku 0–255 ja // lisage uusi {nnn, nnn, nnn}, rohkemate värvide jaoks // RGB uint8_t myFavoriteColors [3] { 255, 255, 255}, // valge {255, 0, 0}, // punane {0, 255, 0}, // roheline}; // ärge redigeerige allolevat rida #define FAVCOLORS sizeof (myFavoriteColors) /3 // see number reguleerib liikumistundlikkust // madalam number = tundlikum #define MOVE_THRESHOLD 5 // ülitundlik praegu kehtiv seadistus () {Serial.begin (9600); // Proovige initsialiseerida ja hoiatada, kui me ei suutnud kiipi tuvastada // Kasutage väljatrüki vaatamiseks Serial Monitori, kui (! Accel.begin ()) {Serial.println ("Meil on probleem. See on teie, mitte mina … Ei saa LSM303 initsialiseerida. Alustaksin juhtmestiku kiirest kontrollimisest "); samas (1); } strip.begin (); strip.show (); // Määra pikslitele 'off'} void loop () {/ * Hangi uus andurisündmus */ sensors_event_t event; accel.getEvent (& sündmus); // Serial.print ("Accel X:"); Seeriaprint (sündmus.kiirendus.x); Serial.print (""); // Seeria.print ("Y:"); Seeriaprint (sündmus.kiirendus.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // Hankige 3 -teljelise vektori suurusjärk (pikkus) double storageVector = event.acceleration.x*event.acceleration.x; salvestatudVektor += sündmus.kiirendus.y*sündmus.kiirendus.y; salvestatudVektor += sündmus.kiirendus.z*sündmus.kiirendus.z; salvestatudVektor = sqrt (salvestatudVektor); // Serial.print ("Len:"); Serial.println (storageVector); // oota natuke viivitust (250); // hankige uusi andmeid! accel.getEvent (& sündmus); topelt uusVektor = sündmus.kiirendus.x*sündmus.kiirendus.x; newVektor += sündmus.kiirendus.y*sündmus.kiirendus.y; newVektor += sündmus.kiirendus.z*sündmus.kiirendus.z; newVector = sqrt (newVector); // Serial.print ("Uus Len:"); Serial.println (newVector); // kas me liigume veel? if (abs (uusVektor - salvestatudVektor)> MOVE_THRESHOLD) {Serial.println ("Vilkuv! Välk! Välk! McFlash!"); flashRandom (10, 2); // esimene number on 'oota' viivitus, lühem number == lühem sädelev välkJuhuslik (10, 4); // teine number on see, kui palju neopiksleid samaaegselt süttib flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// juhuslikult valitud lemmikvärvide hulgast int c = random (FAVCOLORS); int valge = myFavoriteColors [c] [0]; int punane = myFavoriteColors [c] [1]; int roheline = myFavoriteColors [c] [2]; // pikslid sisselülitamiseks järjekorras (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Seeria.println (i); // nüüd kustutame selle kolme sammuga (int x = 0; x = 0; x--) {int w = valge * x; w /= 3; int r = punane * x; r /= 3; int g = roheline * x; g /= 3; riba.setPixelColor (i, riba. Värv (w, r, g)); strip.show (); viivitus (oota); }} // LEDid kustuvad, kui need on tehtud (need on tuhmunud 0 -ni)}

8. samm: aku

Aku
Aku

Teie kampsuni pidevaks toiteks kasutame akut. Paki jaoks peame valmistama rakmed, nii et see ei jääks lihtsalt tahvli külge rippuma. Akutaskuna kasutasin vana padjapüüri nurka. Õmblesin lahtise külje kokku ja õmblesin ühe ülaosa kampsuni külge nii, et see oleks emaplaadile piisavalt lähedal, et seda oleks lihtne ühendada ja mitte tõmmata.

Ühendage aku põhiplaadiga, keerake emaplaadi väike lüliti välja ja sisse ning lülitage aku sisse. Teie kampsun peaks nüüd töötama ja kandmiseks valmis olema.

9. samm: järeldus

Järeldus
Järeldus

Olete nüüd teinud heleda kampsuni, mis avaldab muljet kõigile teie sõpradele ja perele! Kuid see pole ainult puhkuseprojekt. Tehke oma sõbrapäevale südamelähedane kampsun või pange Püha Patricku päevaks põlema šampoonist särk. Kasutage oma kujutlusvõimet ja andke meile teada, mida olete loonud!

Soovitan: