Satura rādītājs:

Arduino iedegtais džemperis: 9 soļi
Arduino iedegtais džemperis: 9 soļi

Video: Arduino iedegtais džemperis: 9 soļi

Video: Arduino iedegtais džemperis: 9 soļi
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Jūlijs
Anonim
Image
Image

Neglītas džemperu ballītes ir brīvdienu štāpeļšķiedrām. Katru gadu jums ir jāuzlabo sava spēle un jāvalkā labākais džemperis, kādu varat atrast. Bet šogad jūs varat izdarīt vienu labāk un izgatavot labāko džemperi. Mēs izmantojam Adafruit Wearables, lai izveidotu skaistu izgaismotu džemperi, kas noteikti iespaidos jūsu draugus un ģimeni.

Adafruit jau izveidoja lieliskus projektus ap valkājamiem, tāpēc mēs izmantojam viņu modificēto kodu, lai īstenotu šo projektu no viņu Sparkle Skirt projekta.

Šajā apmācībā jūs:

  • Iemācieties lietot valkājamos
  • Kodējiet savu Flora galveno plati, akselerometru un NeoPixels, lai iedegtos, izmantojot Arduino

1. darbība. Darba sākšana

Darba sākšana
Darba sākšana

Mēs izmantosim Adafruit Flora Wearables, akumulatoru, vadošu pavedienu un svētku džemperi. Jums būs nepieciešami arī regulāri diegi, adatas un nagu laka. Tam visam ar laiku būs jēga. Mūsu versija sniegs Ziemassvētku vecītim acis, bet mēs atbalstām visas reliģijas un brīvdienas un uzskatus, tāpēc esiet radoši!

  • Adafruit Flora galvenā padome (https://www.adafruit.com/product/659)
  • Flora akselerometrs (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Akumulators (https://www.adafruit.com/product/727)
  • Vadošs pavediens (https://www.adafruit.com/product/641)

2. darbība. Izkārtojums

Izkārtojums
Izkārtojums

Pirms izšūšanas procesa sākšanas mums ir jāizkārto pikseļi, pamatplate un akselerometrs. Pikseļiem būs datu savienojums, + jaudai un - zemei. Akselerometram ir nepieciešami savienojumi 3V, SCL, SDA un zemei.

Izvietojiet džemperī pikseļus, galveno plati un akselerometru, kad plānojat to sašūt. Pārliecinieties, ka nešķērsosiet nevienu šuvju, jo tas radīs šortus. Tā kā mūsu dēlis ir ar priekšpusi un NeoPixels uz āru, mēs izmantojam 3 V, 9. tapu un zemi, lai savienotu NeoPixels.

NeoPixels ir bultiņa, kas parāda, kā datu savienojumam vajadzētu pāriet no Flora galvenās plates uz nākamo NeoPixel. Pārliecinieties, vai visi NeoPixels attēli ir novietoti vienādi.

3. darbība. Padomi par sašūšanu

Svarīga šūšanas daļa ir trīs lietas; bez šortiem/šuvju šķērsošanas, saspringtiem mezgliem, izbeidzot dūrienu, un labiem savienojumiem ar valkājamiem.

Bez šortiem/dūrienu krustojuma

Pārliecinieties, ka valkājamie ir izkārtoti tā, lai izšuvumi netiktu šķērsoti. Protams, līnijām nevajadzētu šķērsot. Kad esat izveidojis izkārtojumu, kas nodrošina, ka visi valdziņi paliek atsevišķi, jums, šujot, jāpārliecinās, ka tas ir stingrs. Ja atstājat pārāk daudz atslābuma, pavediens var pieskarties. Kad esat pabeidzis dūrienu, nogrieziet liekos galus, lai nebūtu nekādu klaiņojošu pavedienu.

Stingri mezgli

Pabeidzot dūrienu līniju, saspringts mezgls nodrošinās, ka valdziņš neatvienojas. Viltība ir uzlikt mezglam nelielu karoti skaidras nagu lakas un ļaut tai nožūt. Tas palīdz noturēt mezglu vietā, līdzīgi kā līme. Vadošais pavediens nav tik labi mezglā kā parasts pavediens, tāpēc es ļoti iesaku izmantot nagu laku, pretējā gadījumā jūs varat atbrīvoties no šuvēm.

Labi savienojumi

Pārliecinieties, vai cilpas uz tapām ir cieši pieguļošas. Tas palīdzēs nodrošināt, ka, ja jūsu ķēde nedarbojas, mēs zinām, ka problēma nav savienojumos. Jūs varat 2-3 reizes izlaist caur tapām, lai pārliecinātos, ka vienmēr būs labs savienojums.

Padomi/triki

Pārliecinieties, ka jūsu apģērbs nav ieslēgts, kad to uzvelkat un noņemat. Tas ir vienkāršākais veids, kā pavedieni pieskarties un izraisīt īssavienojumu. Neieslēdziet akumulatoru, kamēr apģērbs nav ērti ieslēgts.

4. solis: komponentu sašūšana

Sastāvdaļu sašūšana
Sastāvdaļu sašūšana
Sastāvdaļu sašūšana
Sastāvdaļu sašūšana

Pirmais gabals, kas mums jāpievieno, ir Flora galvenā plāksne. Piestipriniet dēli pie džempera, izmantojot parasto diegu caur divām tapām, kuras neplānojat izmantot. Tas turēs dēli vietā un atvieglos šūšanu, izmantojot vadošo diegu. Pietiek ar dažām vienkāršām cilpām, lai tas nepārvietotos.

Tālāk jums ir jāsavieno četri savienojumi no Flora galvenās plates un akselerometra. Tas būs Power, Ground, SCL un SDA. Ja novietojat akselerometru galvenās plates augšējā kreisajā stūrī, savienojumi būs tieši vienā līnijā. Tātad, lai savienotu divus dēļus, jums būs četras atsevišķas šuves. Izmantojiet nedaudz caurspīdīgu nagu laku abos gala mezglos, lai tie neatšķirtos. Neliela nagu laka uz dēļiem viņiem nekaitēs.

Visbeidzot, jums ir jāpievieno 3V, zemes un datu savienojumi no Flora galvenās plates ar NeoPixels. Jūs varat veikt divas garas, nepārtrauktas šuves zemei un jaudai, jo tās atrodas NeoPixels apakšā un augšpusē. Datu savienojumiem no 9. taustiņa jums ir jāveic atsevišķas šuves no katra NeoPixel uz nākamo.

5. darbība: Arduino IDE

Flora galvenā plāksne ir saderīga ar Arduino, tāpēc mūsu kodam izmantosim Arduino IDE. Jaunāko versiju varat lejupielādēt, izmantojot šo saiti.

Izmantojot šo saiti, ir arī tīmekļa versija.

Lai izmantotu mūsu NeoPixels un akselerometru, ir jāpievieno četras bibliotēkas. Dodieties uz Skice, Iekļaut bibliotēku, Pārvaldīt bibliotēkas. Katram no tiem jums būs jāmeklē pēc nosaukuma, atlasiet jaunāko versiju un noklikšķiniet uz instalēt.

  • Adafruit NeoPixel
  • Adafruit vienotais sensors
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Kad tie ir uzstādīti un sašūšana ir pabeigta, mēs esam gatavi pārbaudīt savu džemperi, lai pārliecinātos, ka viss darbojas.

6. darbība. Pārbaudiet skriptus

Pārbaudes skripti
Pārbaudes skripti

Lai pārbaudītu mūsu projektu, mums ir jāpievieno Adafruit galvenā plate datoram, izmantojot USB kabeli. Pēc tam dodieties uz Rīki, Ports un sarakstā atlasiet savu Flora Main dēli.

Pirmā lieta, ko mēs pārbaudīsim, ir tas, vai akselerometrs darbojas pareizi. Dodieties uz Fails, Piemēri, Adafruit LSM303DLHC, akselerators. Tiks atvērts skripts, kas pārbauda, vai sensors ir pievienots, un nolasa koordinātu vērtības. Augšupielādējiet savā dēlī un atveriet sērijas monitoru Arduino IDE augšējā labajā stūrī. Ja redzat, ka sērijveida monitorā mainās vērtības, piemēram, fotoattēlā, pārvietojot akselerometru, tad tas darbojas!

Otra lieta, ko mēs pārbaudīsim, ir tas, vai NeoPixels darbojas. Dodieties uz Fails, Piemēri, Adafruit NeoPixels, strandtest. Pirms šī skripta palaišanas mainiet tapu uz 9 un pikseļu skaitu uz 6 (vai visu, ko izmantojat savam projektam). Augšupielādējiet savā dēlī un, ja visi pikseļi iedegas, esat gatavs pēdējam skriptam!

7. darbība: galīgais skripts

Galīgais skripts
Galīgais skripts

Tagad ir pienācis laiks ielādēt mūsu galīgo kodu. Nokopējiet zemāk esošo kodu jaunā projekta failā. Piespraude ir iestatīta uz 9 un NeoPikseļu skaits ir uz 6. Ja izmantojat kaut ko citu, pirms šī skripta palaišanas nomainiet tos. Jūs varat pielāgot iecienītākās krāsas, pielāgojot R, G un B vērtības no 0 līdz 255. Varat arī pievienot vairāk iecienītāko krāsu, pievienojot jaunu rindu. Pārvietošanās slieksni var arī pielāgot. Jo mazāks skaitlis, jo vieglāk ir noteikt kustību un ieslēgt NeoPixels. Kad esat veicis nepieciešamās izmaiņas, saglabājiet un augšupielādējiet to Flora galvenajā padomē. Ja pārvietojat akselerometru, jums vajadzētu redzēt pikseļu iedegšanos. Kad redzat, ka varat atvienoties no datora un mēs varam izveidot savienojumu ar mūsu akumulatoru.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Parametrs 1 = pikseļu skaits joslā // Parametrs 2 = tapas numurs (lielākā daļa ir labi, bet mēs izmantojam 9) // Parametrs 3 = pikseļu tips karodziņus, pēc vajadzības pievienojiet: // NEO_RGB pikseļi ir pieslēgti RGB bitu plūsmai (v1 FLORA pikseļi, nevis v2) // NEO_GRB pikseļi ir pieslēgti GRB bitu plūsmai (lielākā daļa NeoPixel produktu. produkts, ko mēs izmantojam) // NEO_KHZ400 400 KHz (klasisks 'v1' (ne v2) FLORA pikseļi, WS2811 draiveri) // NEO_KHZ800 800 KHz bitu plūsma (lielākā daļa NeoPixel produktu ar WS2812 gaismas diodēm. produkts, kuru mēs izmantojam) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Pielāgojiet R, G, B no 0-255 un // pievienojiet jaunu {nnn, nnn, nnn}, lai iegūtu vairāk krāsu // RGB uint8_t myFavoriteColors [3] { 255, 255, 255}, // balts {255, 0, 0}, // sarkans {0, 255, 0}, // zaļš}; // nerediģējiet rindu zem #define FAVCOLORS sizeof (myFavoriteColors) /3 // šis skaitlis pielāgo kustības jutību // zemāks skaitlis = jutīgāks #define MOVE_THRESHOLD 5 // īpaši jutīgs, pašlaik nav iestatīšanas () {Serial.begin (9600); // Mēģiniet inicializēt un brīdināt, ja mēs nevarējām noteikt mikroshēmu // Izmantojiet sērijas monitoru, lai apskatītu izdruku, ja (! Accel.begin ()) {Serial.println ("Mums radās problēma. Tas esat jūs, nevis es … Nevaru inicializēt LSM303. Sākšu ar ātru elektroinstalācijas pārbaudi "); kamēr (1); } sloksne.sākt (); strip.show (); // Iestatiet pikseļus uz 'off'} void loop () {/ * Iegūstiet jaunu sensora notikumu */ sensors_event_t event; accel.getEvent (& notikums); // Serial.print ("Accel X:"); Sērijas nospiedums (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Sērijas nospiedums (notikums.paātrinājums.y); Serial.print (""); // Serial.print ("Z:"); Sērijas nospiedums (event.acceleration.z); Serial.print (""); // Iegūstiet 3 asu vektora lielumu (garumu) double storageVector = event.acceleration.x*event.acceleration.x; storageVector += notikums.paātrinājums.y*notikums.paātrinājums.y; storageVector += notikums.paātrinājums.z*notikums.paātrinājums.z; uzglabātsVektors = sqrt (uzglabātsVektors); // Serial.print ("Len:"); Serial.println (storageVector); // pagaidiet mazliet kavēšanos (250); // iegūstiet jaunus datus! accel.getEvent (& notikums); double newVector = event.acceleration.x*event.acceleration.x; newVector += event.acceleration.y*notikums.acceleration.y; newVector += notikums.paātrinājums.z*notikums.paātrinājums.z; newVector = sqrt (newVector); // Serial.print ("Jaunais Len:"); Serial.println (newVector); // vai mēs jau pārvietojamies? if (abs (newVector - storageVector)> MOVE_THRESHOLD) {Serial.println ("Mirgojošs! Zibspuldze! Zibspuldze! McFlash!"); flashRandom (10, 2); // pirmais skaitlis ir 'gaidīšanas' aizkave, īsāks skaitlis == īsāks mirgojošs zibspuldzeRandom (10, 4); // otrais skaitlis ir neopikseļu skaits, lai vienlaicīgi iedegtos zibspuldzeRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// nejauši izvēlēta no iecienītākajām krāsām int c = random (FAVCOLORS); int balts = myFavoriteColors [c] [0]; int red = myFavoriteColors [c] [1]; int zaļš = myFavoriteColors [c] [2]; // pikseļi, kas jāieslēdz secībā (int i = 0; i <6; i ++) int j = sloksne.numPixels (); Serial.print ("Pixel on"); Sērijas.println (i); // tagad mēs to “izbalināsim” 3 soļos (int x = 0; x = 0; x--) {int w = balts * x; w /= 3; int r = sarkans * x; r /= 3; int g = zaļš * x; g /= 3; strip.setPixelColor (i, sloksne. Krāsa (w, r, g)); strip.show (); aizkavēties (gaidīt); }} // Gaismas diode izslēgsies, kad būs pabeigta (tie ir izbalējuši līdz 0)}

8. solis: akumulators

Baterijas paka
Baterijas paka

Lai jūsu džemperis nepārtraukti darbotos, mēs izmantosim akumulatoru. Mums iepakojumam ir jāizgatavo iejūgs, lai tas nekarājas tikai no tāfeles. Kā akumulatora kabatu izmantoju veca spilvendrānas stūri. Es uzšuvu atvērto pusi un vienu augšdaļas pusi piešuvu džemperim pietiekami tuvu pie pamatplates, lai to varētu viegli iespraust un nevilkt.

Pievienojiet akumulatoru galvenajam plati, pagrieziet mazo slēdzi uz galvenās plates no izslēgšanas uz ieslēgšanu un ieslēdziet akumulatoru. Jūsu džemperim tagad vajadzētu strādāt un būt gatavam valkāšanai.

9. solis. Secinājums

Secinājums
Secinājums

Jūs tagad esat izgatavojis gaišu džemperi, kas pārsteigs visus jūsu draugus un ģimeni! Bet tas nav tikai brīvdienu projekts. Padariet savu valentīnu par sirds vieglu džemperi vai iedegiet šamota kreklu Svētā Patrika dienā. Izmantojiet savu iztēli un dariet mums zināmu, ko esat radījis!

Ieteicams: