Мазмұны:

Arduino Light Up жемпір: 9 қадам
Arduino Light Up жемпір: 9 қадам

Бейне: Arduino Light Up жемпір: 9 қадам

Бейне: Arduino Light Up жемпір: 9 қадам
Бейне: Дочкина свадьба_Рассказ_Слушать 2024, Шілде
Anonim
Image
Image

Жағымсыз жемпір кештері - бұл мерекенің негізгі бөлігі. Жыл сайын сіз өз ойынызды жақсартуға және өзіңіз таба алатын ең жақсы жемпірді киюге тура келеді. Бірақ бұл жылы сіз біреуін жақсырақ жасай аласыз және ең жақсы жемпір жасай аласыз. Біз Adafruit Wearables көмегімен достарыңыз бен туыстарыңызды таң қалдыратын әдемі жарықтандырылған жемпір жасаймыз.

Adafruit Wearables айналасында керемет жобалар жасады, сондықтан біз олардың жобасын Sparkle Skirt жобасынан іске асыру үшін олардың өзгертілген кодын қолданамыз.

Бұл оқулықта сіз:

  • Wearable құралдарын қолдануға үйреніңіз
  • 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 -қадам: орналасу

Орналасу
Орналасу

Біз тігу процесін бастамас бұрын пикселдерді, негізгі тақтаны және акселерометрді орналастыруымыз керек. Пиксельдер деректер байланысына ие болады, + қуат үшін, және - жерге. Акселерометрге 3В, SCL, SDA және жерге қосылу қажет.

Свитерде пикселдерді, негізгі тақтаны және акселерометрді тігуді жоспарлаған кезде орналастырыңыз. Ешқандай тігіс өтпейтініне көз жеткізіңіз, себебі бұл қысқа болады. Бізде тақтаның беті бар және NeoPixels сыртта болғандықтан, біз 3V, Pin 9 және Ground көмегімен NeoPixels қосамыз.

NeoPixels -те Flora негізгі тақтасынан келесі NeoPixel -ге деректер байланысының қалай өту керектігін көрсететін көрсеткі бар. Барлық NeoPixel -тің бірдей қаратылғанына көз жеткізіңіз.

3 -қадам: тігу бойынша кеңестер

Тігудің маңызды бөлігі - үш нәрсе; шорт жоқ/тігістердің қиылысы, тігісті аяқтау кезінде тығыз түйіндер және Wearables -пен жақсы байланыс.

Шорт/тігіс қиылысы жоқ

Тігу қиылыспайтындай етіп киюге болатын киімдерді орналастырыңыз. Сызықтар қиылыспауы керек, анық. Сізде барлық тігістердің бөлек қалуын қамтамасыз ететін макет болғаннан кейін, оның тігілген кезде оның тығыз екеніне көз жеткізу керек. Егер сіз тым көп бос тұрсаңыз, ол жіпке тиіп кетуі мүмкін. Тігісті аяқтағаннан кейін артық ұштарын кесіп тастаңыз, сондықтан ешқандай жіп болмайды.

Қатты түйіндер

Тігіс сызығын аяқтаған кезде, тығыз түйін тігістің бос болмауын қамтамасыз етеді. Айла - түйінге кішкене мөлдір лак қуыршағын салып, оны құрғатыңыз. Бұл желім сияқты түйінді орнында ұстауға көмектеседі. Өткізгіш жіп түйінде қалыпты жіп сияқты жақсы сақталмайды, сондықтан мен тырнаққа лак қолдануды ұсынамын, әйтпесе тігіс босап кетуі мүмкін.

Жақсы байланыстар

Ілмектердің ілмектерінің тығыз екеніне көз жеткізіңіз. Бұл сіздің схемаңыз жұмыс істемесе, біз проблема байланыстарда емес екенін білеміз. Сіз әрқашан жақсы байланыс болатынына көз жеткізу үшін түйреуіштерді 2-3 рет айналдыра аласыз.

Кеңестер/амалдар

Киімді киіп, оны шешкенде оның қосылмайтынына көз жеткізіңіз. Бұл жіптерді ұстаудың және қысқартудың ең оңай жолы. Батарея жинағын киім ыңғайлы түрде қосылмайынша қоспаңыз.

4 -қадам: Компоненттерді тігу

Компоненттерді тігу
Компоненттерді тігу
Компоненттерді тігу
Компоненттерді тігу

Бізге бекітетін бірінші бөлік - бұл Flora Main Board. Тақтаны жемпірге әдеттегі жіпті қолданып жоспарламайтын екі түйреуіш арқылы тігіңіз. Бұл тақтаны орнында ұстайды және өткізгіш жіпті пайдаланып тігуді жеңілдетеді. Оның қозғалмауы үшін бірнеше қарапайым ілмектер жеткілікті.

Әрі қарай, сіз Flora негізгі тақтасы мен акселерометрден төрт қосылысты тігуіңіз керек. Бұл Power, Ground, SCL және SDA болады. Егер сіз акселерометрді негізгі тақтаның жоғарғы сол жағына қойсаңыз, онда қосылулар тікелей түзіледі. Осылайша сізде екі тақтаны қосатын төрт бөлек тігіс болады. Бөлінбеуі үшін екі түйінге де кішкене мөлдір лак қолданыңыз. Тақтадағы кішкене лак оларға зиян тигізбейді.

Соңында, Flora Main тақтасынан 3V, жер және деректер байланысын NeoPixels -ке қосу керек. Сіз жер мен қуат үшін екі ұзын үздіксіз тігіс жасай аласыз, себебі олар NeoPixels -тің төменгі және жоғарғы жағында. Pin 9 деректер байланысы үшін әр NeoPixel -ден келесіге бөлек тігістер жасау қажет.

5 -қадам: Arduino IDE

Flora негізгі тақтасы Arduino-мен үйлесімді, сондықтан біз Arduino IDE кодын қолданамыз. Сіз бұл сілтеме арқылы соңғы нұсқаны жүктей аласыз.

Бұл сілтеме арқылы веб -нұсқасы да бар.

Біздің NeoPixels пен акселерометрді пайдалану үшін төрт кітапхананы қосу қажет. Эскизге өтіңіз, кітапхананы қосыңыз, кітапханаларды басқарыңыз. Әрқайсысы үшін оны аты бойынша іздеу керек, соңғы нұсқаны таңдап, орнату түймесін басыңыз.

  • Adafruit NeoPixel
  • Adafruit бірыңғай сенсоры
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Олар орнатылып, тігу аяқталғаннан кейін, біз жемпірді тексеруге дайынбыз, бәрі жұмыс істеп тұр.

6 -қадам: тест сценарийлері

Тест сценарийлері
Тест сценарийлері

Біздің жобаны тексеру үшін бізге Adafruit негізгі тақтасын компьютерге USB кабелі арқылы қосу керек. Содан кейін Tools, Port бөліміне өтіп, тізімнен Flora Main тақтасын таңдаңыз.

Біз тексеретін бірінші нәрсе - акселерометрдің дұрыс жұмыс істеуі. Файлға, мысалдарға, Adafruit LSM303DLHC, аксессенсорға өтіңіз. Бұл сенсор қосылғанын және координат мәндерін оқитынын тексеретін сценарийді ашады. Тақтаға жүктеп, Arduino IDE жоғарғы оң жақтағы сериялық мониторды ашыңыз. Егер сіз сериялық мониторда акселерометрді жылжыту кезінде фотодағыдай мәндердің өзгеруін көрсеңіз, ол жұмыс істейді!

Біз тексеретін екінші нәрсе - егер NeoPixels жұмыс істеп тұрса. Файлға, мысалдарға, Adafruit NeoPixels тармағына өтіңіз, strandtest. Бұл сценарийді іске қоспас бұрын, түйреуішті 9 -ға және пиксель санын 6 -ға өзгертіңіз (немесе сіздің жобаңыз үшін не пайдалансаңыз да). Тақтаға жүктеп салыңыз, егер пиксельдер жанса, сіз соңғы сценарийге дайынсыз!

7 -қадам: Қорытынды сценарий

Қорытынды сценарий
Қорытынды сценарий

Енді соңғы кодты жүктеу уақыты келді. Төмендегі кодты жаңа жоба файлына көшіріңіз. Pin 9 -ға, NeoPixels саны 6 -ға орнатылған. Егер сіз басқа нәрсені қолдансаңыз, осы сценарийді іске қоспас бұрын оны өзгертіңіз. Таңдаулы түстерді R, G, & B мәндерін 0-255 аралығында реттеу арқылы реттеуге болады. Сіз жаңа жолды қосу арқылы сүйікті түстерді қоса аласыз. Қозғалыс шегі де реттелуі мүмкін. Нөмір неғұрлым төмен болса, қозғалысты анықтау және NeoPixels қосу оңайырақ болады. Қалаған өзгерістерді енгізгеннен кейін, сақтаңыз және Flora негізгі тақтасына жүктеңіз. Егер сіз акселерометрді жылжытсаңыз, пиксельдің жанып тұрғанын көруіңіз керек. Компьютерден ажыратуға болатынын көргенде, біз батарея жинағына қосыла аламыз.

#қосу #қосу #қосу #қосу #PIN кодын анықтау 9 #PIXELCOUNT 6 анықтау // Параметр 1 = жолақтағы пиксель саны // Параметр 2 = түйреуіш нөмірі (көбі жақсы, бірақ біз 9 қолданамыз) // Параметр 3 = пиксель түрі жалаушалар, қажет болған жағдайда қосыңыз: // NEO_RGB пиксельдері RGB бит ағыны үшін сымды (v1 FLORA пиксель, v2 емес) // NEO_GRB пиксельдері GRB бит ағыны үшін сымды (біз қолданатын NeoPixel өнімдерінің көпшілігі) // NEO_KHZ400 400 КГц (классикалық) 'v1' (v2 емес) FLORA пиксельдері, WS2811 драйверлері) // NEO_KHZ800 800 КГц бит ағыны (WS2812 светодиоды бар NeoPixel өнімдерінің көпшілігі. біз қолданатын өнім) Adafruit_NeoPixel жолағы = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEOO_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); // Егер біз чипті анықтай алмасақ, инициализациялауға және ескертуге тырысыңыз // Егер (! Accel.begin ()) {Serial.println («Бізде мәселе туындады. Бұл сіз емес, мен емес) басып шығаруды қарау үшін Serial Monitor пайдаланыңыз. … LSM303 инициализацияланбады. Мен сымды жылдам тексеруден бастаймын »); кезінде (1); } strip.begin (); strip.show (); // Пиксельдерді «өшірулі» етіп орнатыңыз} void loop () {/ * Жаңа сенсорлық оқиғаны алу */ sensors_event_t оқиғасы; accel.getEvent (& оқиға); // 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 осьтік вектордың екі еселенген сақтау көлемін (ұзындығын) алыңызVector = event.acceleration.x*оқиға.acceleration.x; storageVector += event.acceleration.y*оқиға.acceleration.y; storageVector += event.acceleration.z*оқиға.acceleration.z; storageVector = sqrt (storageVector); // Serial.print («Len:»); Serial.println (storageVector); // сәл кідіруді күтіңіз (250); // жаңа мәліметтер алыңыз! accel.getEvent (& оқиға); double newVector = event.acceleration.x*event.acceleration.x; newVector += event.acceleration.y*оқиға.acceleration.y; newVector += event.acceleration.z*оқиға.acceleration.z; newVector = sqrt (newVector); // Serial.print («New Len:»); Serial.println (newVector); // біз әлі қозғаламыз ба? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println («Жарқыл! Жарқыл! Жарқыл! 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 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 («Pixel on»); Serial.println (i); // енді біз оны 3 қадаммен «өшіреміз» (int x = 0; x = 0; x--) {int w = white * 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 -қадам: Қорытынды

Қорытынды
Қорытынды

Сіз қазір барлық достарыңыз бен туыстарыңызды таң қалдыратын жеңіл жемпір жасадыңыз! Бірақ бұл жай ғана мерекелік жоба емес. Әулие Патрик күніне арналған валентинді жүрекке жеңіл свитер жасаңыз немесе самок жейдесін жағыңыз. Өз қиялыңызды қолданыңыз және бізге не жасағаныңызды айтыңыз!

Ұсынылған: