Բովանդակություն:
- Պարագաներ
- Քայլ 1: Եկեք կեր ստեղծենք Adafruit- ում:
- Քայլ 2: Հիմա եկեք ստեղծենք վահանակ
- Քայլ 3: Ստացեք մեր բանալին
- Քայլ 4. Բացեք Feed Read- ի օրինակը
- Քայլ 5: Եկեք կարգավորենք մեր կապը
- Քայլ 6. Ստուգեք Adafruit IO- ի հետ կապը
- Քայլ 7: Թույլ տվեք LED
- Քայլ 8: Addամաչափին ավելացրեք ժամանակաչափ
- Քայլ 9: Հետհաշվարկ:
- Քայլ 10. Դարձրեք այն հեռակառավարվող. Մաս I
- Քայլ 11. Դարձրեք այն հեռակառավարվող. Մաս II
- Քայլ 12: Խաղացեք շուրջը: Մենք ավարտված ենք…
- Քայլ 13. ԼՐԱ. Ստեղծեք պահի կոճակ
- Քայլ 14. ԼՐԱՈ AddԻՉ. Ավելացնել զրոյական գործառույթ
![Հեռակառավարվող ժամաչափ NodeMCU- ով ՝ 14 քայլ Հեռակառավարվող ժամաչափ NodeMCU- ով ՝ 14 քայլ](https://i.howwhatproduce.com/images/001/image-1372-83-j.webp)
Video: Հեռակառավարվող ժամաչափ NodeMCU- ով ՝ 14 քայլ
![Video: Հեռակառավարվող ժամաչափ NodeMCU- ով ՝ 14 քայլ Video: Հեռակառավարվող ժամաչափ NodeMCU- ով ՝ 14 քայլ](https://i.ytimg.com/vi/mUgO9q5ewFU/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
![Հեռակառավարվող ժամաչափ NodeMCU- ով Հեռակառավարվող ժամաչափ NodeMCU- ով](https://i.howwhatproduce.com/images/001/image-1372-84-j.webp)
Այստեղ մենք կստեղծենք ժամանակաչափ ՝ օգտագործելով NodeMCU և Adafruit: Մենք ցուցադրելու ենք մեր ժմչփը LED շերտով և կարող ենք այն կառավարել ՝ օգտագործելով մեր հեռախոսը կամ համակարգիչը:
Մեր նպատակը
Ստեղծեք ժամաչափ ՝ օգտագործելով LED ժապավեն, որը մենք կարող ենք ՝ գործարկել, դադարեցնել և վերակայել ՝ օգտագործելով մեր հեռախոսը կամ համակարգիչը:
Պարագաներ
Սարքավորումներ:
- NodeMCU ESP 8266
- Adafruit NeoPixel LED ժապավեն
Գրադարաններ:
- Adafruit_NeoPixel.h
- AdafruitIO_WiFi.h
Այլ:
Արժանապատիվ WiFi կապ
Քայլ 1: Եկեք կեր ստեղծենք Adafruit- ում:
![Եկեք կեր ստեղծենք Ադաֆրուտում Եկեք կեր ստեղծենք Ադաֆրուտում](https://i.howwhatproduce.com/images/001/image-1372-85-j.webp)
Այժմ, երբ մենք ստացել ենք այն ամենը, ինչ մեզ անհրաժեշտ է, պատրաստ ենք սկսել շինարարությունը: Առաջին հերթին մենք պետք է կեր ստեղծենք Adafruit- ում: Adafruit- ը ծառայություն է, որը մեզ համար իսկապես դյուրին է դարձնում մեր Arduino- ն ինտերնետին միացնելը և հեռակառավարվող օգտակար գործառույթների ստեղծումը: Եթե դեռ չեք հասցրել գրանցվել, գրանցվեք Adafruit- ում:
Հիմա եկեք ստեղծենք նոր հոսք:
Մենք կարող ենք մեր ֆիդային անվանել այն, ինչ ցանկանում ենք, ես այն անվանում եմ «ժամանակաչափ»:
Այն, ինչ անում է լրահոսը, գրանցում է այն ամենը, ինչ մենք անում ենք մեր վահանակում (որը մենք կստեղծենք ընդամենը մեկ րոպեի ընթացքում) և այդ տվյալները ուղարկում է մեր տախտակին, բայց դա այն է, ինչ մենք կանդրադառնանք, երբ մենք ունենք տվյալներ ուղարկելու համար:
Քայլ 2: Հիմա եկեք ստեղծենք վահանակ
![Հիմա եկեք ստեղծենք վահանակ Հիմա եկեք ստեղծենք վահանակ](https://i.howwhatproduce.com/images/001/image-1372-86-j.webp)
![Հիմա եկեք ստեղծենք վահանակ Հիմա եկեք ստեղծենք վահանակ](https://i.howwhatproduce.com/images/001/image-1372-87-j.webp)
![Հիմա եկեք ստեղծենք վահանակ Հիմա եկեք ստեղծենք վահանակ](https://i.howwhatproduce.com/images/001/image-1372-88-j.webp)
Այժմ, նույն կերպ, ինչ մենք պատրաստել ենք հոսք, մենք կստեղծենք նոր կառավարման վահանակ: Ես կանվանեմ իմ վահանակը ՝ «ժամաչափի ինտերֆեյս», որովհետև հիմնականում դա կլինի մեր վահանակը ՝ ինտերֆեյս կոճակներով ՝ մեր ժամաչափը կառավարելու համար:
Քայլ 3: Ստացեք մեր բանալին
![Ստացեք մեր բանալին Ստացեք մեր բանալին](https://i.howwhatproduce.com/images/001/image-1372-89-j.webp)
Եթե մենք ցանկանում ենք միացնել մեր Arduino- ն մեր թարմացվող բովանդակությանը, մենք պետք է ստանանք մեր Adafruit բանալին, սա ձեր գաղտնի գաղտնաբառն է, որը համոզված կլինի, որ միայն դուք կարող եք միանալ ձեր հոսքերին:
Դուք կարող եք ստանալ ձեր բանալին ՝ կտտացնելով Adafruit- ի ձեր էկրանի վերևի աջ մասում գտնվող դեղին AIO ստեղնին:
Պահեք այս բանալին ինչ -որ տեղ, այն մեզ ավելի ուշ պետք կգա:
Մի՛ կիսեք ձեր բանալին: Հակառակ դեպքում վատ մտադրություններ ունեցող մարդիկ կարող են միանալ ձեր հոսքերին և սարքերին:
Քայլ 4. Բացեք Feed Read- ի օրինակը
![Բացեք հոսքի ընթերցման օրինակը Բացեք հոսքի ընթերցման օրինակը](https://i.howwhatproduce.com/images/001/image-1372-90-j.webp)
Այժմ եկեք բացենք մեր Arduino IDE- ն և սկսենք կոդավորման գործընթացը: Առաջին հերթին մենք պետք է տեղադրենք Adafruit IO Arduino գրադարանը:
Չգիտե՞ք ինչպես տեղադրել գրադարաններ: սա Adafruit- ի հիանալի ուղեցույց է. Arduino գրադարաններ
Adafruit- ն առաջարկում է բազմաթիվ նախապես պատրաստված օրինակներ `օգտագործելու և դասեր քաղելու համար: Այս օրինակներից մեկն է ՝ adafruitio_21_feed_read: Այս օրինակը կարող եք գտնել այստեղ ՝ Ֆայլ - Օրինակներ Adafruit IO Arduino adafruitio_21_feed_read
(ներեցեք իմ հոլանդական միջերեսը պատկերում)
Քայլ 5: Եկեք կարգավորենք մեր կապը
Եթե դուք հաջողությամբ բացել եք adafruitio_21_feed_read ուրվագիծը, ուրվագծում պետք է տեսնեք 2 ներդիր ՝ adafruitio_21_feed_read և config.h: Այս ուրվագիծը կատարվել է այնպես, որ մենք կարողանանք միանալ այն հոսքին, որը մենք պատրաստել ենք 1 -ին քայլում:
Այս լրահոսին միանալու համար մենք պետք է մի քանի մանրամաս լրացնենք մեր WiFi- ի և Adafruit հաշվի մասին,
Եկեք ճանապարհորդենք դեպի config.h, այստեղ մենք կլրացնենք հետևյալ մանրամասները
Ձեր Adafruit օգտվողի անունը.
#սահմանել IO_USERNAME «joopert»
Ձեր Adafruit բանալին.
#սահմանեք IO_KEY «1234567890abcdefghijklmnop»
Ձեր WiFi- ի անունը.
#սահմանել WIFI_SSID «MyWifi»
Եվ ձեր WiFi գաղտնաբառը.
#սահմանել WIFI_PASS «aVerySecretPassword»
Այժմ վերադառնանք adafruitio_21_feed_read ներդիրին և լրացնենք
Ձեր Adafruit օգտվողի անունը … կրկին.
#սահմանել FEED_OWNER "joopert"
Եվ վերջապես ձեր լրահոսի անունը (այն քայլից, որը մենք պատրաստել ենք 1 -ին քայլում).
AdafruitIO_Feed *sharedFeed = io.feed («ժամանակաչափ», FEED_OWNER);
Քայլ 6. Ստուգեք Adafruit IO- ի հետ կապը
![Ստուգեք Adafruit IO- ի կապը Ստուգեք Adafruit IO- ի կապը](https://i.howwhatproduce.com/images/001/image-1372-91-j.webp)
Ստուգելու համար, թե արդյոք մեր կատարած քայլերը ճիշտ են կատարված, մենք պատրաստվում ենք մեր ուրվագիծը վերբեռնել NodeMCU: Եթե բացում եք ձեր սերիական մոնիտորը, այն պետք է նման լինի վերը նշված նկարի: Նախ սերիական մոնիտորը ցույց է տալիս, որ փորձում է միանալ ձեր WiFi- ին և Adafruit- ին: եթե դա ամբողջական է, ապա պետք է ասվի.
Adafruit IO- ն միացված է
Սա հիանալի նորություն է: Այժմ մենք կարող ենք սկսել ֆունկցիոնալություն ավելացնել մեր ժամաչափին…
Քայլ 7: Թույլ տվեք LED
![Թույլ է տալիս LED Թույլ է տալիս LED](https://i.howwhatproduce.com/images/001/image-1372-92-j.webp)
![Թույլ է տալիս LED Թույլ է տալիս LED](https://i.howwhatproduce.com/images/001/image-1372-93-j.webp)
Այժմ ժամանակն է միացնել մեր LED ժապավենը:
Միացրեք ձեր LED ժապավենը D5 PIN- ին (եթե չեք գտնում D5- ը, միացրեք այն այլ PIN- ին և փոխեք LED_PIN- ը ծածկագրում):
Սահմանեք LED շերտ
Հետևյալ ծածկագիրը կավելացնի NeoPixel գրադարանը (ավելին իմացեք այս գրադարանի մասին այստեղ ՝ https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use) և համոզվեք, որ մեր Arduino- ն գիտի, թե որտեղ է գտնվում մեր LED ժապավենը և քանի լույս ունի: Եթե ձեր LED շերտն ունի տարբեր բնութագրեր, փոխեք այն ծածկագրում:
Ավելացրեք հետևյալ ծածկագիրը ՎԵՐ set դատարկ կարգավորումից ().
// կարգավորել NeoPixel կապը #ներառել #ifdef _AVR_ #ներառել #endif
#սահմանել LED_PIN D5 // Որտե՞ղ է միացված LED ժապավենը:
#սահմանել LED_COUNT 30 // Քանի՞ պիքսել ունի:
#սահմանել ՊԱՀՊԱՆՈ 50ԹՅՈ 50ՆԸ 50 // NeoPixel պայծառություն, 0 (րոպե) մինչև 255 (առավելագույնը)
Adafruit_NeoPixel շերտ (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
Գործարկեք LED ժապավենը
Այժմ մենք կսկսենք մեր LED ժապավենը և կդարձնենք պայծառությունը (պայծառությունը 0 րոպեից անցնում է առավելագույնը 255 -ի, բայց ես խորհուրդ եմ տալիս 50… 255 -ը ԻՐԱԿԱՆ պայծառ է):
Ավելացրեք հետևյալ կոդը IN void setup () - ում.
strip.begin (); // ՍՆԱՆԵԼ NeoPixel շերտի օբյեկտ (ՊԱՐՏԱԴԻՐ) strip.show (); // Անջատեք բոլոր պիքսելները ASAP strip.setBrightness (50); // BRIGHTNESS- ը սահմանել մոտ 1/5 (առավելագույնը = 255)
ledsOn (); // Callանգահարում է գործառույթին `յուրաքանչյուր LED- ը մեկ առ մեկ միացնելու համար
Միացրեք լույսերը
Գուցե դուք արդեն նկատել եք, որ մենք կանչում ենք դեռ գոյություն չունեցող գործառույթ, որը կլինի կոդավորման մեր հաջորդ մասը: Եթե մենք ցանկանում ենք միացնել մեր լույսերը, մենք պետք է ստեղծենք «օղակի համար», որը միացնում է յուրաքանչյուր առանձին LED- ը մեկ առ մեկ (չգիտեմ, թե ինչ է loop հանգույցը: Ստուգեք այստեղ ՝ www.arduino.cc/reference/ en/լեզու/կառուցվածք/վերահսկիչ-կառուցվածք/for/):
Այժմ մենք ստեղծելու ենք գործառույթը ՝ ledsOn ();
Ավելացնել հետևյալ ծածկագիրը BOWOW void handleMessage ():
void ledsOn () {for (int i = 0; i <strip.numPixels (); i ++) {// շերտի յուրաքանչյուր պիքսելի համար… strip.setPixelColor (i, 0, 0, 255); // Պիքսելների գույնը սահմանել կապույտ strip.show (); // Թարմացնել շերտագիծը համապատասխանեցնելու համար}}
Վերբեռնել
Այժմ զվարճալի մասն է, եկեք մեր կոդը վերբեռնենք NodeMCU- ում … Եթե ամեն ինչ ճիշտ է աշխատում, ձեր LED շերտը այժմ պետք է ամբողջովին կապույտ դառնա:
Արդյո՞ք պիքսելներ չեն հայտնվում: Կամ գուցե ձեր ինտերնետային կապը կորել է:
Արդյո՞ք միայն որոշ պիքսելներ չեն երևում: ստուգեք ՝ արդյոք պիքսելների ճիշտ քանակը սահմանե՞լ եք:
Քայլ 8: Addամաչափին ավելացրեք ժամանակաչափ
Այժմ մենք համոզվելու ենք, որ մեր ժամաչափը իրականում… լավ… անգամ, ինչ -որ բան:
Կան տարբեր եղանակներ Arduino- ի հետ ժամանակացույց անելու համար, մեկը ուշացումն է (), սա դադարեցնում է մեր տախտակի մշակումը որոշակի ժամանակահատվածում: Մենք չենք օգտագործելու սա, քանի որ մեր Arduino- ն հիմնականում սառչում է ուշացման ընթացքում, և մենք ցանկանում ենք, որ մեր խորհուրդը պարբերաբար թարմացվի: Այսպիսով, մենք կօգտագործենք Millis () - ը, սա Arduino- ում ժամանակի կատարման ավելի էլեգանտ միջոց է, իսկ Millis () - ի հետ մենք դեռ կարող ենք կոդ գործարկել միջակայքերի միջև:
Եթե ձեզ հետաքրքրում է, թե ինչպես է դա աշխատում, կարող եք ծանոթանալ այս հոդվածին ՝
Եկեք ավելացնենք Millis- ի ծածկագիրը ():
Տեղադրեք այս կոդը վերը նշված դատարկ կարգավորումից ()
անստորագիր երկար նախորդ Միլիս = 0; // կպահի վերջին անգամ, երբ LED շերտը թարմացվել է միջակայք = 1000; // մեր ժամաչափի ընդմիջում (միլիվայրկյաններ)
Եվ եկեք այս կոդը դնենք դատարկ օղակում ():
անստորագիր երկար հոսանք Millis = millis ();// սկսել TIMER RYTHM ****************************************** ********* if (currentMillis - previousMillis> = interval) {previousMillis = currentMillis;
// վերջ TIMER RYTHM ****************************************** ***********
Այն, ինչ մենք պարզապես արեցինք, մեր LED շերտի համար LED- ների անջատման համար ռիթմ ստեղծեց, հաջորդ քայլում մենք կավելացնենք հենց դա անելու կոդը:
Քայլ 9: Հետհաշվարկ:
Այս քայլում. Մենք կկատարենք մի գործառույթ, որը համոզված կլինի, որ յուրաքանչյուր վայրկյան (կամ որևէ ընդմիջում եք սահմանել) մենք անջատում ենք մեկ LED շերտի վերջում, մինչև մեր բոլոր LED- ները անջատված լինեն:
Վերևում մենք կստեղծենք «int», որը կոչվում է «leds»: Սա հետագայում կասի մեր ժմչփին, թե քանի led պետք է դեռ անջատվի:
Ավելացրեք հետևյալ ծածկագիրը ՎԵՐ set դատարկ կարգավորումից ().
int leds = LED_COUNT-1; // հեռացնում է, թե քանի պիքսել պետք է լուսավորված լինի
Հիմա եկեք ավելացնենք 'ժմչփ ();' գործառույթը, սա ամեն վայրկյան լույս է անջատում
Ստորև բերեք դատարկ ledsOn () - ի հետևյալ ծածկագիրը.
void timer () {strip.setPixelColor (leds, 0, 0, 0);
if (leds> -1) {leds--; } else {blinkie (); }}
Մենք ցանկանում ենք որոշակի արձագանք տալ օգտագործողին, որ ժամաչափը կատարվում է բոլոր լույսերի այրվելուց հետո: 'Blinkie ();' LED- ները կթարթեն կարմիրը ժամաչափի ավարտից հետո:
Ավելացրեք հետևյալ ծածկագիրը ՎԵՐ set դատարկ կարգավորումից ().
int blinkStatus = 1; // պատմում է blinkie (); ավելի լավ, եթե լույսը պետք է միացված կամ անջատված լինի
Ավելացրեք հետևյալ ծածկագիրը Ստորև դատարկ ժամանակաչափ ().
անվավեր blinkie () {if (blinkStatus == 1) {
blinkStatus = 0; strip.clear (); } else {blinkStatus = 1; for (int i = 0; i <strip.numPixels (); i ++) {// շերտի յուրաքանչյուր պիքսելի համար… strip.setPixelColor (i, 255, 0, 0); // Սահմանել պիքսելների գույնը (RAM- ում) strip.show (); // Թարմացրեք ժապավենը համապատասխանեցման համար}}}}
Ի վերջո, մենք պետք է կանչենք մեր void loop () գործառույթը:
Հիշում եք TIMER RYTHM- ը, որը մենք ավելացրել ենք 8 -րդ քայլում: Այս if հայտարարության մեջ մենք կանչելու ենք գործառույթի ժամանակաչափ ();.
TIMER RYTHM- ն այժմ պետք է ունենա այս տեսքը.
// սկսել TIMER RYTHM ****************************************** *********
if (currentMillis - previousMillis> = ընդմիջում) {previousMillis = currentMillis; ժամանակաչափ (); strip.show ();} // վերջ TIMER RYTHM ************************************ ******************
Հիմա վերբեռնեք այս կոդը:
Հենց հիմա ձեր LED շերտը պետք է անջատի 1 LED յուրաքանչյուր վայրկյան և կարմիր թարթել, երբ այն ավարտվի…
Հիմա եկեք այս մայրասերը դարձնենք հեռակառավարվող:
Քայլ 10. Դարձրեք այն հեռակառավարվող. Մաս I
![Դարձրեք այն հեռակառավարվող ՝ մաս I Դարձրեք այն հեռակառավարվող ՝ մաս I](https://i.howwhatproduce.com/images/001/image-1372-94-j.webp)
![Դարձրեք այն հեռակառավարվող ՝ մաս I Դարձրեք այն հեռակառավարվող ՝ մաս I](https://i.howwhatproduce.com/images/001/image-1372-95-j.webp)
Մենք ունենք մեր ժամաչափը, ամեն ինչ կարգին է, բայց ես ձեզ խոստացա, որ կկարողանաք կառավարել այն ձեր հեռախոսով: Եկեք մտնենք մեր նախագծի վերջին փուլը `ժամաչափը հեռակառավարմամբ սարքելը:
Դեռ բացե՞լ եք ձեր Adafruit ներդիրը: Եկեք վերադառնանք io.adafruit.com և գնանք մեր ժամաչափի ինտերֆեյսի վահանակ և ստեղծենք նոր բլոկ ՝ TOGGLE
- Միացրեք անջատիչը TIMER հոսքին
- Սահմանեք ON արժեքը ՝ 1
- Անջատված արժեքը սահմանեք ՝ 0
Դրա պատճառն այն է, որ Adafruit- ը տեքստային տվյալներ չի ուղարկում մեր NodeMCU- ին, այլ միայն թվեր:
Եթե ցանկանում եք, կարող եք նաև անջատիչ անուն տալ, գուցե ՝ «Միացնել/անջատել անջատիչ»
Այժմ վերադառնանք Arduino IDE- ին
Պարզապես համոզվելու համար, որ մեր ծածկագիրը արդիական է, եկեք ևս մեկ անգամ ԲԵՌՆԵՆՔ մեր ծածկագիրը:
ԲԱ SԵՔ ՍԵՐԻԱԼ ՄՈՆԻՏՈՐԸ, երբ ավարտվի վերբեռնումը և մի քանի անգամ սեղմեք GՈGՅԼԸ մեր Adafruit- ի վահանակի վրա: Այժմ մենք պետք է տեսնենք, որ այսպիսի մի բան հայտնվում է մեր սերիական մոնիտորում.
ստացել է <- 0 ստացվել է <- 1 ստացել է <- 0 ստացել է <- 1 ստացել է <- 0
Սա նշանակում է, որ մենք իրականում կարող ենք վերահսկողություն ուղարկել մեր NodeMCU- ին:
Եթե դուք չեք ստանում այս հաղորդագրությունները, ստուգեք ՝ արդյոք ձեր config.h- ի Adafruit- ի տվյալները դեռ ճի՞շտ են:
Քայլ 11. Դարձրեք այն հեռակառավարվող. Մաս II
Այժմ մեզ մնում է ինչ -որ բան անել մեր ստացած վերահսկիչներով:
Դա անելու համար մենք պետք է փոխենք մեր TIMER RYTHM- ի հայտարարությունը void loop- ում (); մի քիչ.
Մենք մեր NodeMCU- ին կասենք, որ այն պետք է գործի ժամաչափը միայն այն ժամանակ, երբ Adafruit- ից ստանանք «1» -ը (ինչը նշանակում է ՝ ON):
Նախ եկեք հավաքենք այն տվյալները, որոնք մեզ ուղարկում է Adafruit- ը
Ավելացրեք հետևյալ ծածկագիրը ՎԵՐ set դատարկ կարգավորումից ().
int adaData; // հավաքում է այն տվյալները, որոնք մեզ ուղարկում է AdaFruit- ը
Հիմա եկեք իրականում հավաքենք այդ տվյալները
Ավելացրեք հետևյալ ծածկագիրը INSIDE the void handleMessage () հասցեում:
adaData = data-> toInt ();
Եկեք փոխենք մեր դատարկ օղակը ();
TIMER RYTHM- ն այժմ պետք է ունենա այս տեսքը.
// սկսել TIMER RYTHM ****************************************** ********* if (currentMillis - previousMillis> = interval) {previousMillis = currentMillis; if (adaData == 0) {Serial.println ("ես չեմ աշխատում"); } else if (adaData == 1) {ժամանակաչափ (); } strip.show (); } // վերջ TIMER RYTHM ***************************************** ************
Բեռնեք ձեր ծածկագիրը…
Այժմ դուք պետք է կարողանաք միացնել և անջատել ժամաչափը ՝ օգտագործելով անջատիչը Adafruit- ում:
Քայլ 12: Խաղացեք շուրջը: Մենք ավարտված ենք…
Հենց հիմա դուք պետք է ունենաք լիովին գործող հեռաչափաչափ: Եթե դա ձեզ համար է, ապա շնորհակալություն այս նախագծին միանալու համար:
Եթե ցանկանում եք մի փոքր ավելի երկար շարունակել, հաջորդ մի քանի քայլերում մենք կավելացնենք RESET կոճակը մեր ժամաչափի համար:
Քայլ 13. ԼՐԱ. Ստեղծեք պահի կոճակ
![ԼՐԱՈ Create. Ստեղծեք պահի կոճակ ԼՐԱՈ Create. Ստեղծեք պահի կոճակ](https://i.howwhatproduce.com/images/001/image-1372-96-j.webp)
Եկեք վերադառնանք մեր վահանակին: Այժմ մենք ցանկանում ենք կրկին ՍՏԵԵԼ ՆՈՐ ԲԼՈԿ:
- Ստեղծեք պահի կոճակ
- Միացրեք այն «ժմչփ» հոսքին
- Մամուլի արժեքը սահմանեք ՝ 2
- Հեռացնել թողարկման արժեքը
- Տվեք նրան գեղեցիկ գույն:
Հարմարավետությամբ ակնթարթային կոճակն արդեն կոչվում է «Վերագործարկեք»:
Այս բլոկը ստեղծելուց հետո փորձարկեք այն, կոճակը գործում է, եթե ստանում եք.
ստացել է <- 2
Ձեր սերիական մոնիտորի վրա:
Եթե չեք տեսնում այս հաղորդագրությունը, փորձեք նորից վերբեռնել էսքիզը
Քայլ 14. ԼՐԱՈ AddԻՉ. Ավելացնել զրոյական գործառույթ
Վերականգնման կոճակը որևէ բան անելու համար մենք պետք է ավելացնենք մի գործառույթ, որը բոլոր LED- ները կվերականգնի սկզբնական վիճակին:
Ավելացրեք հետևյալ ծածկագիրը Ստորև ՝ void blinkie () - ով:
void rerun () {leds = LED_COUNT; ledsOn (); }
Այժմ մնում է միայն կանչել մեր գործառույթը, դրա համար մենք պետք է վերջին անգամ փոխենք TIMER RYTHM- ը
TIMER RYTHM- ն այժմ պետք է ունենա այս տեսքը.
// սկսել TIMER RYTHM ****************************************** ********* if (currentMillis - previousMillis> = interval) {previousMillis = currentMillis if (adaData == 0) {Serial.println ("ես չեմ աշխատում"); } else if (adaData == 1) {ժամանակաչափ (); } else if (adaData == 2) {կրկնել (); } strip.show (); } // վերջ TIMER RYTHM ***************************************** ************
Բեռնեք ձեր ծածկագիրը…
Այժմ դուք նույնպես պետք է կարողանաք վերականգնել ժամաչափը `սեղմելով կոճակը:
Խորհուրդ ենք տալիս:
Հեռակառավարվող լուսադիոդային աչքեր և կոստյում `7 քայլ (նկարներով)
![Հեռակառավարվող լուսադիոդային աչքեր և կոստյում `7 քայլ (նկարներով) Հեռակառավարվող լուսադիոդային աչքեր և կոստյում `7 քայլ (նկարներով)](https://i.howwhatproduce.com/images/002/image-5022-j.webp)
Հեռակառավարվող լուսադիոդային աչքեր և զգեստների գլխարկ. Երկվորյակ ծնոտներ: Կրկնակի Օրկո! Երկու ուրվական կախարդներ Bubble-Bobble- ից: Այս զգեստի գլխարկը կարող է լինել ցանկացած LED- աչքերով արարած, որը դուք կընտրեք ՝ պարզապես փոխելով գույները: Այս նախագիծը ես առաջին անգամ պատրաստեցի 2015 թվականին ՝ շատ պարզ սխեմայով և կոդով, բայց այս տարի ես ուզում էի
Smokin ' - հեռակառավարվող ծխի մեքենա էժանագին `5 քայլ (նկարներով)
![Smokin ' - հեռակառավարվող ծխի մեքենա էժանագին `5 քայլ (նկարներով) Smokin ' - հեռակառավարվող ծխի մեքենա էժանագին `5 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-2611-18-j.webp)
Smokin ' - Հեռակառավարվող ծխի մեքենա էժանագին. Սա կարճ հրահանգ է, թե ինչպես պատրաստել համեմատաբար փոքր, հեռակառավարվող, էժան և զվարճալի փոքրիկ ծխամեքենա, որը կարող է օգտագործվել ընկերներին կատակելու, կախարդական հնարքներ անելու, օդային հոսքերի փորձարկման կամ այլնի համար: դուք ցանկանում եք ձեր սրտերը: Հրաժարում. Այս կառուցվածքը պարունակում է
DIY Ir հեռակառավարվող լուսադիոդային ժապավեն. 10 քայլ (նկարներով)
![DIY Ir հեռակառավարվող լուսադիոդային ժապավեն. 10 քայլ (նկարներով) DIY Ir հեռակառավարվող լուսադիոդային ժապավեն. 10 քայլ (նկարներով)](https://i.howwhatproduce.com/images/005/image-13296-j.webp)
DIY Ir Remote Controlled Led Strip. Բարև ձեզ, բարի գալուստ բոլորին, մեր նոր հրահանգներին, ինչպես արդեն գիտեք մանրապատկերից, որ այս նախագծում մենք պատրաստելու ենք Ir led շերտի վերահսկիչ, որը կարող է կառավարվել ՝ օգտագործելով ընդհանուր հասանելի IR հեռակառավարման վահանակը, որն ընդհանրապես օգտագործվում է
Կորած և գտած հեռակառավարվող ազդանշան. 4 քայլ
![Կորած և գտած հեռակառավարվող ազդանշան. 4 քայլ Կորած և գտած հեռակառավարվող ազդանշան. 4 քայլ](https://i.howwhatproduce.com/images/005/image-13760-j.webp)
Հեռակառավարվող ազդանշան կորածների և գտածների համար. Այս երկու մասից բաղկացած միացումը բաղկացած է ազդանշանից և վերահսկիչից: Կցեք ազդանշանը մի առարկայի վրա, որը կարող եք հաճախ կորցնել, և օգտագործեք կոճակը և կարգավորիչի ձայնի կոճակը `ազդանշանը ակտիվացնելու համար, երբ տարրը կորչում է: Բզզոցն ու վերահսկիչը
Transform-a-Car: Հեռակառավարվող ՝ ինքնակառավարվող ՝ 4 քայլ
![Transform-a-Car: Հեռակառավարվող ՝ ինքնակառավարվող ՝ 4 քայլ Transform-a-Car: Հեռակառավարվող ՝ ինքնակառավարվող ՝ 4 քայլ](https://i.howwhatproduce.com/images/005/image-14332-j.webp)
Transform-a-Car. Remote Controlled to Self Controlled: Սա կոտրում է RC մեքենայի կոտրված հեռակառավարմամբ: Դուք կարող եք շատ բան գտնել ավտոտնակների վաճառքում: