Мазмуну:
- 1 -кадам: Баштоо
- 2 -кадам: Макет
- 3 -кадам: тигүү кеңештери
- 4 -кадам: Компоненттерди тигүү
- 5 -кадам: Arduino IDE
- 6 -кадам: Скрипттерди текшерүү
- 7 -кадам: Акыркы скрипт
- 8 -кадам: Батарея пакети
- 9 -кадам: Жыйынтык
Video: Arduino Light Up свитери: 9 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Чиркин свитер кечелери - майрамдардын негизги бөлүгү. Жыл сайын оюнуңузду көтөрүп, өзүңүзгө жаккан свитерди кийишиңиз керек. Бирок бул жылы сиз бирөөнү жакшыраак жасап, эң мыкты свитер жасай аласыз. Биз Adafruit Wearables колдонуп, досторуңузга жана үй -бүлөңүзгө суктандыра турган кооз жарык свитер жаратабыз.
Adafruit Wearables тегерегинде бир нече сонун долбоорлорду жараткан, ошондуктан биз алардын долбоорун Sparkle Skirt долбоорунан ишке ашыруу үчүн алардын кодун колдонуп жатабыз.
Бул үйрөткүчтө сиз:
- Wearables колдонууну үйрөнүңүз
- Flora башкы тактаңызды, акселерометрди жана NeoPixels кодун Arduino менен жарыктандыруу үчүн
1 -кадам: Баштоо
Биз Adafruit Flora Wearables, батареянын пакетин, өткөргүч жипти жана майрамдык свитерди колдонобуз. Ошондой эле сизге кадимки жип, ийне жана лак керек болот. Мунун баары убакыттын өтүшү менен мааниге ээ болот. Биздин версия Аяз атабыздын көздөрүнө жарык берет, бирок биз бардык диндерди, майрамдарды жана ишенимдерди колдойбуз, андыктан чыгармачыл болуңуз!
- Adafruit Flora башкы башкармалыгы (https://www.adafruit.com/product/659)
- Флора акселерометри (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ти сыртка каратып жаткандыктан, NeoPixelsти туташтыруу үчүн 3V, Pin 9 жана Ground колдонобуз.
NeoPixelsте Flora башкы тактасынан кийинки NeoPixelге маалымат байланышы кандайча өтүшү керек экенин көрсөтүүчү жебе бар. Бардык NeoPixelsтин бирдей караганына көзүңүз жетсин.
3 -кадам: тигүү кеңештери
Тигүүнүн маанилүү бөлүгү үч нерсе; шорты жок/тигиштердин кесилиши, тигүүнү бүтүрүүдө бекем түйүндөр жана Wearables менен жакшы байланыштар.
Шорты жок
Кийилүүчү нерселериңизди тигиштериңиз өтпөй тургандай кылып түзүңүз. Сызыктар кесилишпеши керек, албетте. Бардык тигиштердин өзүнчө болушун камсыз кылган макетке ээ болгондон кийин, тигилгениңизде анын бекем экенин текшеришиңиз керек. Эгерде сиз өтө боштукту калтырсаңыз, анда ал жипке тийиши мүмкүн. Сиз тигүүнү бүтүргөндөн кийин ашыкча учтарын кесип, эч кандай жип жок болот.
Tight Knots
Тигүү линиясын аяктаганда, бекем түйүн тигүүнүн бошоп кетпешин камсыз кылат. Айла - түйүнгө кичинекей куурчак тунук лак салып, кургатуу. Бул желимге окшош түйүндү кармап турууга жардам берет. Өткөргүч жип кадимки жипке окшош эмес, ошондуктан мен лак колдонууну сунуштайм, болбосо тигүү бошоп кетиши мүмкүн.
Жакшы байланыштар
Казыктардын илмектери бекем экенин текшериңиз. Бул сиздин схемаңыз иштебесе, көйгөй байланыштар эмес экенин билүүгө жардам берет. Сиз дайыма жакшы байланыш болооруна ынануу үчүн 2-3 жолу казыктарды айланта аласыз.
Кеңештер/амалдар
Кийим -кечеңизди алып, өчүрүп күйгүзбөңүз. Бул жиптерге тийүүнүн жана кыскартуунун эң оңой жолу. Батарея пакетиңизди кийим ыңгайлуу күймөйүнчө күйгүзбөңүз.
4 -кадам: Компоненттерди тигүү
Биз тиркөөбүз керек болгон биринчи нерсе - бул Flora Main Board. Колдонууну пландаштырбаган эки казык аркылуу кадимки жипти колдонуп тактайды свитериңизге тигиңиз. Бул тактайдын ордун бекем кармап, өткөргүч жипти колдонуп тигүүнү жеңилдетет. Бир нече жөнөкөй циклдар аны кыймылга келтирбөө үчүн жетиштүү.
Андан кийин, Flora Main Board менен Акселерометрдин төрт байланышын тигиш керек. Бул Power, Ground, SCL жана SDA болот. Эгерде сиз акселерометрди башкы тактанын жогорку сол жагына койсоңуз, анда туташуулар түздөн -түз тизилет. Ошентип, сиз эки тактаны туташтыруу үчүн төрт өзүнчө тигишке ээ болосуз. Ачылып калбашы үчүн эки учунун түйүнүнө кичине тунук лак колдонуңуз. Такталардагы кичинекей лак аларга зыян келтирбейт.
Акырында, Flora Main тактасынан 3V, жер жана маалымат байланыштарын NeoPixelsке туташтыруу керек. Жер жана бийлик үчүн эки узун, үзгүлтүксүз тигүү жасай аласыз, анткени алар NeoPixelsтин түбүндө жана үстүндө. Pin 9дан маалымат туташуусу үчүн, ар бир NeoPixelден экинчисине өзүнчө тигиш жасашыңыз керек.
5 -кадам: Arduino IDE
Flora Main Board Arduino менен шайкеш келет, ошондуктан биз кодубуз үчүн Arduino IDE колдонобуз. Бул шилтеме аркылуу акыркы версиясын жүктөп алсаңыз болот.
Бул шилтеме аркылуу веб -версия да бар.
Биздин NeoPixelsти жана Акселерометрди колдонуу үчүн төрт китепкананы кошуу керек. Эскизге өтүңүз, Китепкананы кошуңуз, Китепканаларды башкарыңыз. Ар бири үчүн аны аты боюнча издеп, акыркы версиясын тандап, орнотууну чыкылдатуу керек болот.
- Adafruit NeoPixel
- Adafruit бирдиктүү сенсор
- Adafruit TSL2561
- Adafruit LSM303DLHC
Булар орнотулуп, тигүү аяктагандан кийин, биз баарыбыз иштеп жатканына ынануу үчүн свитерибизди сынап көрүүгө даярбыз.
6 -кадам: Скрипттерди текшерүү
Долбоорубузду текшерүү үчүн биз Adafruit башкы тактабызды USB кабели аркылуу компьютериңизге туташтырышыбыз керек. Андан кийин Аспаптарга, Портко барып, тизмеден Flora Main тактаңызды тандаңыз.
Биз текшере турган биринчи нерсе - акселерометр туура иштеп жатабы. Файлга, мисалдарга, Adafruit LSM303DLHC, accensensorго өтүңүз. Бул сенсор туташып, координаттардын маанилерин окуй тургандыгын текшерүүчү скриптти ачат. Тактаңызга жүктөп, Arduino IDEнин жогорку оң жагындагы Сериялык Мониторду ачыңыз. Эгерде сиз сериялык монитордо акселерометрди жылдырып жатканда сүрөттөрдөгүдөй өзгөрүп баратканын көрсөңүз, ал иштеп жатат!
Биз сынай турган экинчи нерсе, эгерде NeoPixels иштеп жатса. Файлга, Мисалдарга, Adafruit NeoPixelsке өтүңүз, strandtest. Бул сценарийди иштетүүдөн мурун, пинди 9га жана пикселдердин санын 6га (же сиз долбооруңуз үчүн колдонуп жаткан нерсеге) өзгөртүңүз. Тактаңызга жүктөп бериңиз, эгер пикселдердин баары күйүп калса, сиз акыркы сценарийге даярсыз!
7 -кадам: Акыркы скрипт
Эми биздин акыркы кодду жүктөө убактысы келди. Жаңы долбоор файлына төмөндөгү кодду көчүрүңүз. Pin 9га, NeoPixels саны 6га коюлган. Эгерде сиз башка нерсени колдонуп жатсаңыз, бул скриптти иштетүүдөн мурун аларды өзгөртүңүз. Сиз R, G, & B маанилерин 0-255ке чейин тууралоо аркылуу сүйүктүү түстөрдү тууралай аласыз. Сиз ошондой эле жаңы сапты кошуу менен сүйүктүү түстөрдү кошо аласыз. Кыймылдын босогосу да жөнгө салынышы мүмкүн. Сан канчалык аз болсо, кыймылды аныктоо жана NeoPixelsти күйгүзүү оңой болот. Каалаган өзгөртүүлөрдү киргизгенден кийин, сактап, Flora Main Boardке жүктөңүз. Акселерометрди жылдырсаңыз, пикселдер күйүп турганын көрө аласыз. Компьютериңизден сууруп салсаңыз болорун көргөндөн кийин, биз батарейкабызга туташа алабыз.
#кошуу #кошуу #кошуу #кошуу #аныктоо PIN 9 #аныктоо PIXELCOUNT 6 // Параметр 1 = тилкедеги пикселдердин саны // Параметр 2 = пин саны (көбү жакшы, бирок биз 9ду колдонуп жатабыз) // Параметр 3 = пикселдин түрү желектер, керектүү учурда бирге кошуңуз: // NEO_RGB пикселдери RGB бит агымы үчүн зымдуу (v1 FLORA пиксел эмес, v2) 'v1' (v2 эмес) FLORA пикселдери, WS2811 драйверлери) // NEO_KHZ800 800 КГц бит агымы (көпчүлүк NeoPixel продуктылары w/WS2812 светодиоддорунда. биз колдонгон продукт) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_KB; NEO_GRB) 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}, // жашыл}; // астындагы сызыкты түзөтпөңүз #FAVCOLORS sizeof (myFavoriteColors) /3 // бул сан кыймылдын сезгичтигин жөнгө салат // төмөнкү сан = дагы сезимтал #define MOVE_THRESHOLD 5 // супер сезимтал учурдаvoid setup () {Serial.begin (9600); // Чипти аныктай албасак, инициализациялоого жана эскертүүгө аракет кылыңыз // Басып чыгарууну көрүү үчүн Serial Monitor колдонуңуз (! Accel.begin ()) {Serial.println ("Бизде көйгөй бар. Бул сен эмес, мен эмес … LSM303 инициализацияланбай жатат. Мен зымдарды тез текшерүүдөн баштайм "); while (1); } strip.begin (); strip.show (); // Пикселдерди "өчүрүү" кылып коюңуз} void loop () {/ * Жаңы сенсор окуясын алуу */ sensors_event_t окуясы; 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 огунун векторунун чоңдугун (узундугун) алыңыз сакталганВектор += окуя.ак ылдамдатуу.y*окуя.ак ылдамдатуу.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); // биринчи сан - "күтүү" кечигүүсү, кыскараак == кыскараак жаркыроо 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 white = 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 = white * x; w /= 3; int r = red * x; r /= 3; int g = жашыл * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); кечиктирүү (күтүү); }} // Жарык диоддор бүткөндө өчөт (алар 0гө чейин өчөт)}
8 -кадам: Батарея пакети
Свитериңизди үзгүлтүксүз иштетүү үчүн, биз батарейканы колдонобуз. Тактага илинип калбашы үчүн, биз таңгакты байлоо керек. Батарея чөнтөгүм катары эски жаздык каптын бурчун колдондум. Мен ачык жагын тигип, үстүнкү бир жагын башкы тактага жетиштүү жакын свитерге тигип койгом, ал оңой сайылып, тартылбайт.
Батарея пакетин негизги тактага сайыңыз, башкы тактадагы кичинекей которгучту өчүрүп күйгүзүңүз жана батареяңызды күйгүзүңүз. Сиздин свитериңиз азыр иштеп, кийүүгө даяр болушу керек.
9 -кадам: Жыйынтык
Сиз азыр бардык досторуңузду жана үй -бүлөңүздү таң калтыра турган жеңил свитер жасадыңыз! Бирок бул жөн эле майрамдык долбоор эмес. Сүйүктүүңүздү жүрөккө жеңил свитер кылыңыз же Сент -Патрик күнүнө шамрок көйнөгүн күйгүзүңүз. Фантазияңызды колдонуңуз жана бизге эмнени жаратканыңызды билдириңиз!
Сунушталууда:
Жөнөкөй Light-Up Ugly Christmas свитери: 9 кадам (Сүрөттөр менен)
Жөнөкөй Light-Up чиркин жаңы жылдык свитер: Бул жыл сайын болот … Сизге " чиркин майрамдык свитер " жана сиз алдын ала пландаштырууну унутуп калдыңыз. Ооба, бул жылы сиз ийгиликке жетесиз! Сиздин кечигүүңүз сиздин кулашыңыз болбойт. Биз сизге кантип жөнөкөй Light-Up Ugly Christmas свитер жасоону көрсөтөбүз
BookWorm Light-Up Book Light жана Bookmark: 13 кадам (сүрөттөр менен)
BookWorm Light-Up Book Light жана Bookmark: Китеп чырагы катары эки эселенген бул кызыктуу bookworm кыстармасын жасаңыз! Биз аны басып чыгарабыз, кыркабыз, түстөбүз жана кооздойбуз, алар аны түн ичинде жарык берүү үчүн колдонушат, сиз караңгыда окуй аласыз. Ал бир нече материалдардан жасалган жана эң сонун чыгарманы жаратат
Animated Mood Light & Night Light: 6 кадам (сүрөттөр менен)
Animated Mood Light & Night Light: Жарыкка берилүү менен чектелген бир кызыкчылыкка ээ болуп, каалаган өлчөмдөгү RGB жарык дисплейлерин түзүү үчүн колдонула турган кичинекей модулдук ПХБлардын тандалмасын түзүүнү чечтим. Модулдук PCB жасап, мен аларды бир жерге жайгаштыруу идеясына чалындым
Mystery Light Box (Night Light): 4 кадам
Mystery Light Box (Night Light): Жана бул кичинекей кызыктуу проект, бул проект https://www.instructables.com/id/Arduino-Traffic-L…, Бирок мен мурунтан эле оригиналдуу сайттын көп структурасын өзгөрттү, мен дагы лед кошуп, бут кийим кутусун таңгактоо үчүн колдоном
Жеке "шамдар" менен жарык Чанука свитери: 7 кадам (Сүрөттөр менен)
Жеке "шамдар" менен жарыктандырылган Чанука свитери: Анын майрамдык кече мезгили жана бул жылы сиз меноранын свитери менен кеченин жаркыраган жылдызы боло аласыз! Бул онлайнда жана кол өнөрчүлүк дүкөнүндө оңой табылган салыштырмалуу арзан материалдарды колдонуу менен тигилген схема. Андан да жакшы