Съдържание:

Пуловер Arduino Light Up: 9 стъпки
Пуловер Arduino Light Up: 9 стъпки

Видео: Пуловер Arduino Light Up: 9 стъпки

Видео: Пуловер Arduino Light Up: 9 стъпки
Видео: How To Control WS2812B Individually Addressable LEDs using Arduino 2024, Ноември
Anonim
Image
Image

Грозни партита пуловери са основна част от празниците. Всяка година трябва да усъвършенствате играта си и да носите най -добрия пуловер, който можете да намерите. Но тази година можете да направите един по -добър и да направите най -добрия пуловер. Използваме Adafruit Wearables, за да създадем красив светещ пуловер, който със сигурност ще впечатли приятелите и семейството ви.

Adafruit вече създаде някои страхотни проекти около Wearables, така че използваме техния модифициран код, за да реализираме този проект от техния проект Sparkle Skirt.

В този урок ще:

  • Научете се да използвате носими материали
  • Кодирайте вашата основна платка Flora, акселерометър и NeoPixels, за да светне с помощта на Arduino

Стъпка 1: Първи стъпки

Приготвяме се да започнем
Приготвяме се да започнем

Ще използваме Adafruit Flora Wearables, батерия, проводима нишка и празничен пуловер. Ще ви трябват и редовни конци, игли и лак за нокти. С времето всичко ще има смисъл. Нашата версия ще осветли Дядо Коледа, но ние подкрепяме всички религии и празници и вярвания, така че бъдете креативни!

  • Главен съвет на Adafruit Flora (https://www.adafruit.com/product/659)
  • Акселерометър Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Батерия (https://www.adafruit.com/product/727)
  • Проводима нишка (https://www.adafruit.com/product/641)

Стъпка 2: Оформление

Оформление
Оформление

Трябва да разположим пикселите, основната платка и акселерометъра, преди да започнем процеса на зашиване. Пикселите ще имат връзка за данни, + за захранване и - за земя. Акселерометърът се нуждае от връзки за 3V, SCL, SDA и земя.

Разположете пикселите, основната платка и акселерометъра върху пуловера, докато планирате да го зашиете. Уверете се, че няма да кръстосвате шевове, тъй като това ще доведе до къси панталони. Тъй като сме с лицевата страна на борда и NeoPixels с лицевата страна, използваме 3V, Pin 9 и Ground за свързване на NeoPixels.

NeoPixels има стрелка, която показва как трябва да премине връзката за данни от основната платка Flora към следващия NeoPixel. Уверете се, че всички NeoPixels са подредени еднакво.

Стъпка 3: Съвети за шиене

Важната част от шевовете са три неща; без къси панталони/пресичане на шевове, стегнати възли при завършване на бод и добри връзки с носими.

Без шорти/Бод

Не забравяйте да подредите вашите носими материали, така че шевовете ви да не се пресичат. Очевидно линиите не трябва да се пресичат. След като имате оформление, което гарантира, че всички шевове остават отделни, трябва да се уверите, когато зашивате, че е стегнато. Ако оставите прекалено много хлабаво, нишката може да се докосне. След като приключите с бода, отрежете излишните краища, така че да няма бездомни конци.

Стегнати възли

Когато приключвате линията на шева, стегнатият възел ще гарантира, че бодът не се разхлабва. Номерът е да поставите малка капка чист лак за нокти върху възела и да го оставите да изсъхне. Това помага да се задържи възела на място, подобно на лепилото. Проводимата нишка не се държи толкова добре във възел, колкото обикновената нишка, така че горещо препоръчвам да използвате лак за нокти или в противен случай може да се разхлабите шевовете.

Добри връзки

Уверете се, че бримките на щифтовете са стегнати. Това ще помогне да се гарантира, че ако вашата верига не работи, ние знаем, че проблемът не е в връзките. Можете да преминете през щифтовете 2-3 пъти, за да сте сигурни, че винаги ще има добра връзка.

Съвети и трикове

Уверете се, че дрехата ви не е включена, когато я събувате и сваляте. Това е най -лесният начин нишките да се докоснат и да причинят късо съединение. Не включвайте батерията, докато облеклото не е удобно.

Стъпка 4: Зашиване на компонентите

Зашиване на компонентите
Зашиване на компонентите
Зашиване на компонентите
Зашиване на компонентите

Първото парче, което трябва да прикачим, е основната дъска на Flora. Зашийте дъската към вашия пуловер с обикновена нишка през два щифта, които не планирате да използвате. Това ще задържи дъската на място и ще улесни шиенето с помощта на проводимата нишка. Няколко прости бримки са достатъчни, за да не се движи.

След това трябва да зашиете четирите връзки от основната платка на Flora и акселерометъра. Това ще бъде Power, Ground, SCL и SDA. Ако поставите акселерометъра в горния ляв ъгъл на основната платка, връзките ще се подредят директно. Така че ще имате четири отделни бримки за свързване на двете дъски. Използвайте малко прозрачен лак за нокти на двата крайни възела, за да ги предпазите от разплитане. Малко лак за нокти върху дъските няма да им навреди.

И накрая, трябва да свържете 3V, заземяване и връзки за данни от основната платка Flora към NeoPixels. Можете да направите два дълги, непрекъснати шева за земята и захранването, тъй като те са в долната и горната част на NeoPixels. За връзките за данни от Pin 9 трябва да направите отделни шевове от всеки NeoPixel до следващия.

Стъпка 5: Arduino IDE

Основната платка на Flora е съвместима с Arduino, така че ще използваме Arduino IDE за нашия код. Можете да изтеглите най -новата версия чрез тази връзка.

Има и уеб версия чрез тази връзка.

Има четири библиотеки, които трябва да бъдат добавени, за да се използват нашите NeoPixels и акселерометър. Отидете на Sketch, Include Library, Manage Libraries. За всеки ще трябва да го потърсите по име, да изберете последната версия и да кликнете върху инсталиране.

  • Adafruit NeoPixel
  • Унифициран сензор Adafruit
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

След като те бъдат инсталирани и шевовете са завършени, ние сме готови да тестваме нашия пуловер, за да се уверим, че всичко работи.

Стъпка 6: Тестови скриптове

Тестови скриптове
Тестови скриптове

За да тестваме нашия проект, трябва да свържем нашата основна платка Adafruit към вашия компютър с помощта на USB кабел. След това отидете на Tools, Port и изберете вашата Flora Main board в списъка.

Първото нещо, което ще тестваме, е дали акселерометърът работи правилно. Отидете на Файл, Примери, Adafruit LSM303DLHC, сензор за ускорение. Това ще отвори скрипт, който проверява дали сензорът е свързан и чете координатни стойности. Качете на дъската си и отворете серийния монитор в горния десен ъгъл на Arduino IDE. Ако видите, че стойностите се променят в серийния монитор, както на снимката, докато премествате акселерометъра, той работи!

Второто нещо, което ще тестваме, е дали NeoPixels работи. Отидете на File, Examples, Adafruit NeoPixels, strandtest. Преди да стартираме този скрипт, променете Pin на 9 и броя на пикселите на 6 (или каквото и да използвате за вашия проект). Качете на дъската си и ако всички пиксели светят, сте готови за финалния скрипт!

Стъпка 7: Окончателен скрипт

Краен сценарий
Краен сценарий

Сега е време да заредим нашия окончателен код. Копирайте кода по -долу в нов файл на проекта. Pin е зададен на 9, а броят на NeoPixels е зададен на 6. Ако използвате нещо различно, променете тези преди да стартирате този скрипт. Можете да регулирате любимите цветове, като регулирате стойностите на R, G и B от 0-255. Можете също да добавите още любими цветове, като добавите нов ред. Прагът на движение може също да се регулира. Колкото по -малко е числото, толкова по -лесно е да се открие движение и да се включат NeoPixels. След като направите каквито и да е промени, запишете и качете на главния борд на Flora. Трябва да можете да видите пикселите да светят, ако преместите акселерометъра наоколо. След като видите, че можете да изключите от компютъра си и ние можем да се свържем с нашата батерия.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Параметър 1 = брой пиксели в лентата // Параметър 2 = пинов номер (повечето са добри, но използваме 9) // Параметър 3 = тип пиксел флагове, добавете заедно, ако е необходимо: // NEO_RGB Пикселите са свързани за RGB битови потоци (v1 FLORA пиксели, а не v2) // NEO_GRB Пикселите са свързани за GRB битстрийм (повечето продукти NeoPixel. продукт, който използваме) // NEO_KHZ400 400 KHz (класически 'v1' (не v2) FLORA пиксели, драйвери WS2811) // NEO_KHZ800 800 KHz битов поток (повечето NeoPixel продукти с WS2812 светодиоди. продукт, който използваме) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KH; Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Регулирайте R, G, B от 0-255 и // добавете нови {nnn, nnn, nnn}, за повече цветове // RGB uint8_t myFavoriteColors {] [3] 255, 255, 255}, // бяло {255, 0, 0}, // червено {0, 255, 0}, // зелено}; // не редактирайте реда под #define FAVCOLORS sizeof (myFavoriteColors) /3 // този номер коригира чувствителността към движение // по -нисък брой = по -чувствителен #define MOVE_THRESHOLD 5 // свръхчувствителен в момента </b> няма настройка () {Serial.begin (9600); // Опитайте се да инициализирате и да предупредите, ако не можем да открием чипа // Използвайте Serial Monitor за преглед на разпечатката if (! … не мога да инициализирам LSM303. Ще започна с бърза проверка на окабеляването "); докато (1); } strip.begin (); strip.show (); // Задайте пикселите на „off“} void loop () {/ * Вземете ново събитие на сензора */ 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 (""); // Вземете величината (дължината) на 3 -осния вектор, двоен storeVector = event.acceleration.x*event.acceleration.x; storedVector += event.acceleration.y*event.acceleration.y; storedVector += event.acceleration.z*event.acceleration.z; storedVector = sqrt (storedVector); // Serial.print ("Len:"); Serial.println (storedVector); // изчакайте малко забавяне (250); // вземете нови данни! accel.getEvent (& event); двоен 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); // движим ли се още? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // първото число е „чакане“закъснение, по -кратко num == по -кратко блещукане flashRandom (10, 4); // второ число е колко неопиксела да светне едновременно flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// произволно избран от любимите цветове int c = random (FAVCOLORS); int бяло = myFavoriteColors [c] [0]; int red = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // пикселите за включване в ред за (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Пиксел включен"); Serial.println (i); // сега ще го „избледним“на 3 стъпки за (int x = 0; x = 0; x--) {int w = бяло * x; w /= 3; int r = червено * x; r /= 3; int g = зелено * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); забавяне (изчакване); }} // Светодиодите ще бъдат изключени, когато приключат (те избледняват до 0)}

Стъпка 8: Батерия

Батерия
Батерия

За да поддържаме вашия пуловер непрекъснато захранван, ще използваме батерия. Трябва да направим сбруя за глутницата, така че да не виси само от дъската. Използвах ъгъла на стара калъфка за възглавница като джоб за батерията. Заших отворената страна и заших едната страна на горната част към пуловера достатъчно близо до основната платка, за да може лесно да се включи, а не да го дръпне.

Включете батерията в основната платка, завъртете малкия превключвател на основната платка от изключено към включено и включете батерийния пакет. Вашият пуловер вече трябва да е работещ и готов за носене.

Стъпка 9: Заключение

Заключение
Заключение

Вече сте направили светъл пуловер, който ще впечатли всички ваши приятели и семейство! Но това не е просто ваканционен проект. Направете Валентин сърдечен лек пуловер или запалете трилистна риза за Деня на Свети Патрик. Използвайте въображението си и ни уведомете какво сте създали!

Препоръчано: