Բովանդակություն:
- Քայլ 1: Մասերի ցուցակ
- Քայլ 2. Համագումարի քայլեր
- Քայլ 3. 1. Ստացիոնար բազա DC շարժիչով
- Քայլ 4: 2. Neopixel հավելված
- Քայլ 5. 3. Պտտվող սարքավորման հավաքում
- Քայլ 6: 4. Էլեկտրական բաղադրիչների միացում
- Քայլ 7: 5. Arduino կոդ
Video: Advent Lantern With POV անիմացիա ՝ 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Տեսողության համառություն (POV) նախագծերը բավականին երկար ժամանակ են, պարզ և էժան DIY հավաքածուները նույնիսկ մատչելի են առցանց գնումների համար: POV- ն հիմնված է օպտիկական պատրանքի վրա, երբ մենք տեսնում ենք լուսավորված առարկաներ այն բանից հետո, երբ օբյեկտն այլևս չի լուսավորվում նույնիսկ կարճ ժամանակով: Ավանդական POV նախագծերը ցուցադրում են այս սկզբունքով կամ առավելագույնը աշխատող ժամացույցներ: Այնուամենայնիվ, ոչինչ չի խանգարում անիմացիաների նախագծմանը `օգտագործելով ժամացույցի արագության և խելացի RGB LED- ների միկրոկոնտրոլերներ: Այս անիմացիան իրենից ներկայացնում է Ամանորյա դեկորացիայի համար հյուսիսային եղջերուներին, որը կարող է հեռակա կարգով վերահսկվել ցանկացած վեբ դիտարկիչով WiFi շարժական սարքի միջոցով: Լապտերը սնուցվում է Arduino ընտանիքի Wemos ESP8266 D1 Mini միկրոկառավարիչով: 8-բիթանոց հյուսիսային եղջերու անիմացիոն շրջանակների վարկը բաժին է հասնում տաղանդավոր գրաֆիկ նկարիչ Ռիչարդ Ֆենիոյին:
Քայլ 1: Մասերի ցուցակ
Այս նախագծի համար ձեզ հարկավոր կլինի պատյան, որը բավական ծանր է, որպեսզի պտտվող միավորը տեղում պահի ՝ առանց շրջվելու: Հին PSU պատյանը կատարյալ է, պարզապես զգույշ եղեք, որ կոնդենսատորները լիցքաթափվեն նախքան ապամոնտաժվելը: Ձեզ նույնպես կպահանջվի 5V-12V սնուցման ցանկացած տեսակի ադապտեր ՝ DC շարժիչը սնուցելու համար: Իրոք, 500 մԱ և ավելի բարձր հզորությունից դա կանի:
Պահանջվող մասերը թվարկված են ստորև ՝ վեբ խանութի հղումներով և ընթացիկ գներով:
- 2 հատ 18650 Մարտկոց, 4 ԱՄՆ դոլար, 78 դոլար
- Մարտկոցի սեփականատեր ՝ 2x18650, 0 ԱՄՆ դոլար, 63 դոլար
- Wemos D1 Mini, 2 դոլար, 14 դոլար
- Սև ծղոտ, 0 դոլար, 10 դոլար
- Ինֆրակարմիր ռեֆլեկտիվ սենսոր, 0 դոլար, 38 դոլար
- 250V Power Rocker անջատիչ, 0 դոլար, 10 դոլար
- Փոխել սահիկի անջատիչը, 0 դոլար, 02 դոլար
- 6-900rpm DC շարժիչ, 3 դոլար, 99 ԱՄՆ դոլար
- Adafruit Neopixel WS2812 8-բիթ, 1 ԱՄՆ դոլար, 01
Ընդհանուր արժեքը 15 դոլարից պակաս է, բայց ձեզ հարկավոր են նաև ձեռքի գործիքներ, հորատում, տաք սոսինձ, զոդման սարքավորումների և հմտությունների հետ միասին:
Քայլ 2. Համագումարի քայլեր
Այս քայլերից հետո միավորը կարող է ամբողջությամբ հավաքվել:
- Ստացիոնար հիմքը կառուցված է DC շարժիչով և անջատիչով:
- Նեոպիքսելները զոդվում են եւ ամրացվում ծղոտի լիսեռին:
- Պտտվող սարքավորումը կառուցված է միկրոկառավարիչով, սլայդերի անջատիչով, ինֆրասենսորով և ծղոտի լիսեռով:
- Էլեկտրամոնտաժը ամրացված է էլեկտրական մասերի միակցիչների վրա
- Arduino կոդը վերբեռնվում է Wemos միկրոկոնտրոլերի վրա:
Քայլ 3. 1. Ստացիոնար բազա DC շարժիչով
- Գործի վրա անցք բացեք և ամրացրեք DC շարժիչը այնպես, որ լիսեռը դեպի վեր լինի:
- Sոդեք ճոճվող հոսանքի անջատիչը և սովորական 5V-12V սնուցման ադապտերը ՝ ստորև բերված էլեկտրագծերի սխեմայի համաձայն:
- Ուղղորդված DC շարժիչը պտտվում է մոտ 800 RPM (րոպեում պտույտներ) 12 Վ արագությամբ, ինչը հանգեցնում է վերջնական կարգավորման մոտ 10 FPS (վայրկյան մեկ շրջանակի) ՝ կախված ծղոտի լիսեռի քամու իրական դիմադրությունից:
- Միացրեք սնուցման ադապտերը վարդակին (110 կամ 220 Վ):
- Միացրեք ռոքը և ստուգեք DC շարժիչի աշխատանքը:
Հաջորդը, պտտվող սարքավորումը կհավաքվի և ամրացվի բազայի DC շարժիչի լիսեռի վրա:
Քայլ 4: 2. Neopixel հավելված
- Կտրեք ծղոտի ծայրը երկու հակադիր կողմերում `մեկ ծայրով մոտ 1,5 սմ -ով, ինչպես ցույց է տալիս նկարը:
- Aceանյակը երեք ավելի երկար լար է ծղոտին: Սրանք Neopixel- ի կապումներն են միացնում Wemos նավահանգիստներին ՝ սարքի վրա:
- Երեք լարերը կպցրեք Neopixel կապում GND, 5V և D-IN:
- Թեժ սոսինձ ՝ Neopixels- ից զոդված կոկիկ և կոկիկ մետաղալարերը մինչև վերջ ՝ LED վահանի ճշգրիտ կեսով:
- Քաշեք ծղոտի կտրված թևերը և տաք սոսնձեցրեք դրանք ճշգրիտ համաչափությամբ LED շերտի կենտրոնի վրա (մի կողմից լարերի վերևում):
- Հաղորդալարերն անցնում են ծղոտի ներսում մինչև ամբարձիչ ՝ հասնելու համապատասխան Wemos նավահանգիստներին:
Քայլ 5. 3. Պտտվող սարքավորման հավաքում
Ամբողջ սարքը պետք է ամբողջությամբ հավաքվի, նախքան DC շարժիչի լիսեռին ամրացնելը: Դա պայմանավորված է նրանով, որ ամրացման տեղը պետք է հավասարակշռված լինի, որպեսզի պտույտը կատարյալ կենտրոնացված լինի առանց որևէ տատանումների:
- Wemos D1 Mini միկրոկառավարիչի տաք սոսինձը և սլայդերի անջատիչը մարտկոցի կրիչի մի կողմում, ինչպես ցույց է տրված նկարում:
- Տաք սոսնձեք ինֆրակարմիր անդրադարձման սենսորը մարտկոցի կրիչի մյուս կողմում:
- Տեղադրեք մարտկոցները ամրացման մեջ:
- Մարտկոցների վրա դրեք և ամրացրեք ծղոտի մյուս ծայրը: Մի փոքր պտուտակ կամ ռետինե օղակ դա կանի: Համոզվեք, որ այն չի կորչի, երբ սարքը սկսում է պտտվել 10 RPM- ով:
- Տեղադրեք սարքերի ամբողջ ծանրության կենտրոնը ներքևի մասում: Ձեր մատի ծայրին հավասարակշռելով դա կանեք:
- Կատարեք մի փոքր անցք մարտկոցի կրիչի ներքևի ճշգրիտ տեղում:
- Կիրառեք տաք սոսինձ և ամրացրեք շարժիչի լիսեռը այդ անցքի մեջ: Համոզվեք, որ տաք սոսինձը չի մտնում շարժիչի մարմնի մեջ: Պահպանեք այն կայուն, մինչև սոսինձը չորանա:
- Կտրեք մի փոքր կտոր սպիտակ թուղթ և կպցրեք այն ստացիոնար հիմքի վրա այնպես, որ ինֆրակարմիր անդրադարձիչ տվիչը շրջվի հենց այդ թղթի մոտ: Սա կհանգեցնի անիմացիայի շրջանակների գծագրմանը յուրաքանչյուր պտույտի ճշգրիտ տեղում: Նկարը ցույց է տալիս այս արտացոլման կտորը հիմքի ներքևի ներքևի անկյունում:
Քայլ 6: 4. Էլեկտրական բաղադրիչների միացում
Էլեկտրագծերի սխեմայից հետո էլեկտրական բաղադրիչները կպցրեք հետևյալ քայլերին: Ուշադրություն դարձրեք, որ Wemos D1 Mini միկրոկառավարիչի նույն նավահանգիստը մի քանի անգամ կզոդվի մի քանի տարբեր լարերով: Դա պահանջում է որոշակի պրակտիկա, կամ միացրեք այս լարերը նախքան Wemos նավահանգստին միանալը:
- Երեք լար (GND, 5V և D-IN) միացված են Wemos G, 5V և D3 նավահանգիստներին համապատասխանաբար:
- Ինֆրակարմիր ռեֆլեկտիվ սենսորից (VCC, GND, OUT) երկու լար լարված են Wemos նավահանգիստների վրա `համապատասխանաբար 5V, G և D2:
- Մարտկոցի կրիչի գրունտ (Սև) մետաղալարը կպցված է Wemos G նավահանգստի վրա:
- Մարտկոցի սեփականատիրոջ դրական (կարմիր) մետաղալարը սոսնձված է սլայդ անջատիչի ամենամոտ կապում:
- Wemos 5V պորտը միացված է սլայդ անջատիչի մյուս քորոցին:
Քայլ 7: 5. Arduino կոդ
Այս հատուկ ծածկագիրը POV Lantern- ի 24 բիթանոց տարբերակի համար է, որը կարող է հեռակա կարգով կառավարվել վեբ դիտարկիչներով ցանկացած բջջային սարքի կողմից և ունի տեսողական էֆեկտներ, ինչպիսիք են World Map- ը, Matrix Animation Effect- ը և Reindeer Sleight անիմացիան: Ազատորեն հարմարեցրեք պիքսելների քանակը, էֆեկտի պարամետրերը կամ WiFi հեռակա ինտերֆեյսը ձեր կարիքներին ՝ աղբյուրի կոդի մեջ:
// 24 բիթ POV Lantern - 2019 Պիտեր sուրգեյ
#ներառել ESP8266WiFiMulti.h
#ներառել WiFiClient.h #ներառել ESP8266WebServer.h #ներառել WebSocketsServer.h #ներառել Adafruit_NeoPixel.h
#սահմանեք DEBUG 1 -ը
Լարային տեքստ [3] = {"INSTRUCTABLES", "ARDUINO", "CONTEST"};
const uint8_t ներկապնակ [8] [3] = {
{0, 0, 0}, // 0 - Թափանցիկ {0, 0, 127}, // 1 - կապույտ {127, 0, 0}, // 2 - կարմիր {127, 127, 0}, // 3 - Դեղին {0, 127, 0}, // 4 - Կանաչ {127, 24, 0}, // 5 - Նարնջագույն {127, 0, 127}, // 6 - Մագենտա {127, 127, 127} // 7 - Սպիտակ};
const unsigned char world [24] [42] PROGMEM =
{ { 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
const unsigned char char պղպեղ [24] [8+31] PROGMEM =
{ { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 0, 1, 1, 0, 1, 1, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 0, 0, 1, 1, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 4, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 0, 4, 4, 4, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 0, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 0, 1, 1, 0, 1, 1, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 0, 0, 1, 1, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 4, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
const unsigned char abc [8] [27*5] PROGMEM = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
const անստորագիր char santa [4] [8] [41] PROGMEM = {
{ { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } } };
#սահմանեք INFRATRIGGER_PIN D2
#սահմանել NEOPIXELS_PIN D3 #սահմանել NEO_NUMPIXELS 24
Adafruit_NeoPixel պիքսել = Adafruit_NeoPixel (NEO_NUMPIXELS, NEOPIXELS_PIN, NEO_GRB + NEO_KHZ800);
IPAddress localIPaddress;
IPAddress apIPaddress; WiFiServer սերվեր (80); WebSocketsServer webSocket = WebSocketsServer (81); uint8_t կտավ [24] [65]; uint8_t co = 0; uint8_t տեսարան = 0; uint8_t numScenes = 5; Լարային տեսարաններ [6] = {"ԱՇԽԱՐՀ", "Ձմեռ պապ", "ՊԵՊՈՐ", "ՏԵՔՍՏ", "ՄԱՏՐԻՔՍ"}; uint8_t պտտել = 1; uint8_t numGreens = 0; // MATRIX շարք ընկնող գծերի uint8_t կանաչի [64] [2]; // MATRIX պատահական pos և x ընկնող գծեր
void setup () {
if (DEBUG) {Serial.begin (9600); Serial.println («Սկսել …»); } ուշացում (3000);
ESP8266WiFiMulti wifiMulti;
wifiMulti.addAP («wifissid», «pwd»); wifiMulti.addAP («mobilessid», «pwd»); wifiMulti.addAP («laptopssid», «pwd»); if (DEBUG) Serial.print («Կայանը միացնելով»); while (wifiMulti.run ()! = WL_CONNECTED) {հետաձգում (1000); if (DEBUG) Serial.print ("."); } if (DEBUG) Serial.println (""); if (DEBUG) Serial.print ("WiFi- ն միացված է` SSID = "); if (DEBUG) Serial.println (WiFi. SSID ()); localIPaddress = WiFi.localIP (); if (DEBUG) Serial.print («Տեղական կայանի IP հասցե ՝»); եթե (DEBUG) Serial.println (localIPaddress);
server.begin ();
if (DEBUG) Serial.println ("Սերվերը (80) գործարկված է"); webSocket.begin (); webSocket.onEvent (webSocketEvent); եթե (DEBUG) Serial.println («WebSocket (81) գործարկվել է»); uint8_t coli = 0; համար (int i = 0; i <24; i ++) {for (int j = 0; j <64; j ++) {կտավ [j] = coli ++; coli = coli % 7; } կտավ [64] = 0; } pinMode (INFRATRIGGER_PIN, INPUT); attachInterrupt (digitalPinToInterrupt (INFRATRIGGER_PIN), ներկ, RISING); pixels.begin (); pixels.show (); if (DEBUG) {Serial.print ("Neopixel- ը սկսվեց, NUMPIXELS:"); Serial.println (pixels.numPixels ()); }}
void webSocketEvent (uint8_t num, WStype_t տեսակը, uint8_t * բեռնվածությունը, size_t երկարությունը) {
if (մուտքագրել == WStype_TEXT) {String req = String ((const char *) payload); if (DEBUG) {Serial.print ("81 Req:"); Serial.println (պահանջ); } processReq (պահանջ); }}
String rip2 (String s) {
Լարային վերափոխում; int i = 0; while (s ! = '/') i ++; i ++; while (s ! = '/') i ++; i ++; մինչդեռ (s ! = '/' && s ! = '' && s ! = '\ r' && s ! = '\ n') res+= s [i ++]; վերադարձ res; }
դատարկ գործընթացReq (լարային պահանջ) {
եթե (req.indexOf ("/պտտել")! = -1) {պտտել = 1; } else if (req.indexOf ("/տեսարան")! = -1) {պտտել = 0; Լարային sc = rip2 (պահանջ); եթե (isDigit (sc [0])) տեսարան = sc.toInt (); այլ {տեսարան = 0; համար (int i = 0; i
դատարկ շրջան () {
webSocket.loop (); WiFiClient client = server.available (); եթե (! հաճախորդ) {վերադարձ; } String req = client.readStringUntil ('\ r'); if (DEBUG) {Serial.print ("80 Req:"); Serial.println (պահանջ); } processReq (պահանջ);
client.flush ();
String s = "HTTP/1.1 200 OK / r / n Բովանդակություն-տեսակ. Text/html; charset = UTF-8 / r / n Access-Control-Allow-Headers: Content-Type / r / n Access-Control-Allow-Origin: *\ r / n Միացում. փակել / r / n / r / n "; s + = "localIP:" + ipToString (localIPaddress) + ""; s + = "apIP:" + ipToString (apIPaddress) + ""; client.print (ներ); ուշացում (100); client.stop (); }
դատարկ ներկ () {
համար (int i = 0; i <65; i ++) {for (int j = 0; j <24; j ++) {unsigned char ind = կտավ [j] ; pixels.setPixelColor (j, pixels. Color (գունապնակ [ind] [0], ներկապնակ [ind] [1], ներկապնակ [ind] [2])); } pixels.show (); միկրովայրկյաններ (10); } co = (co + 1) % 40; եթե (պտտել) {եթե (համատեղ == 0) {տեսարան = (տեսարան+1) % numScenes; if (DEBUG) {Serial.print ("Տեսարան."); Serial.println (տեսարան); }} if (co == 0) loadCanvas (տեսարաններ [տեսարան]); } if (տեսարաններ [տեսարան].indexOf ("SANTA")! = -1) {for (int i = 0; i <8; i ++) for (int j = 0; j = co && j
void loadCanvas (String what) {
clearCanvas (); if (DEBUG) {Serial.print ("loadCanvas:"); Serial.println (ինչ); } if (what.indexOf ("TEXT")! = -1) {for (int l = 0; l <3; l ++) for (int n = 0; n = 12 && j <51) կտավ [j] = pgm_read_byte_near (պղպեղ +j-12); } else if (what.indexOf ("WORLD")! = -1) {for (int i = 0; i <24; i ++) for (int j = 0; j = 11 && j <53) կտավ [j] = pgm_read_byte_near (աշխարհ +j-11); }}
void clearCanvas () {
if (DEBUG) Serial.println ("clearCanvas"); համար (int i = 0; i <24; i ++) for (int j = 0; j <65; j ++) կտավ [j] = 0; }
Լարային ipToString (IPAddress ip) {
Տող s = ""; (int i = 0; i <4; i ++) s+= i? "." + Լար (ip ): լարային (ip ); վերադարձ s; }
Խորհուրդ ենք տալիս:
Bitmap անիմացիա SSD1331 OLED էկրանին (SPI) Visuino- ով. 8 քայլ
Bitmap Animation on SSD1331 OLED Display (SPI) Visuino- ի հետ. Այս ձեռնարկում մենք կցուցադրենք և կշարժվենք bitmap պատկերով ՝ անիմացիայի պարզ ձևով SSD1331 OLED Display (SPI) –ով Visuino– ով: Դիտեք տեսանյութը
PUBG թեմայի երգ+անիմացիա Arduino- ի հետ: 13 քայլ (նկարներով)
PUBG թեմայի երգ+անիմացիա Arduino- ի հետ. Բարև ձեզ և բարի գալուստ այս զվարճալի ուսանելի: Հուսով եմ, որ բոլորդ լավ եք և առողջ եք: Այս փոքր, բայց զարմանալի նախագիծը PUBG թեմայի երգը նվագելու և նույնիսկ arduino- ի միջոցով որոշ խաղային անիմացիաներ ստեղծելու մասին է: Օգտագործված բաղադրիչները շատ էլ
Խաղալիք անիմացիա ՝ 4 քայլ
Խաղալիք անիմացիա. Նախ ստեղծեք ձեր նախագիծը Scratch- ի հետ: Սա այն է, ինչ ես ստեղծեցի. Խաղալիքի պատմություն:
Լազերային փորագրված 16 մմ ֆիլմերի անիմացիա ՝ 4 քայլ
Լազերային փորագրված 16 մմ ֆիլմերի անիմացիա. Այսօր մենք կօգտագործենք լազերային դանակ ՝ 16 մմ ժապավենի շերտը փորագրելու համար ՝ կարճ անիմացիա ստեղծելու համար: Իմ ստեղծած անիմացիան ծովային ջրիմուռներով լողացող ձկներից է, սակայն ցանկության դեպքում կկարողանաք ստեղծել ձեր սեփական դիզայնը: Նյութեր ՝ համակարգիչ
Ինչպես հեշտ անիմացիա պատրաստել թվային պլանշետի միջոցով. 6 քայլ
Ինչպես պատրաստել հեշտ անիմացիա ՝ օգտագործելով թվային պլանշետ. Այս ամառ, ծնողներիս օգնությամբ, ես կարողացա ձեռք բերել Wacom Intous Pro- ն փոքր: Սովորեցի լուսանկարների խմբագրում, նկարել և նկարել մուլտֆիլմեր և այլն: Հետո որոշեցի պատրաստել «Ուղեցույց»: Ի վերջո, ես որոշեցի ստեղծել կարճ և զվարճալի անիմացիա