Բովանդակություն:
- Քայլ 1: Բաղադրությունը
- Քայլ 2: Գործիքներ
- Քայլ 3: Կոդի պահանջներ
- Քայլ 4: Adafruit IO- ի ստեղծում
- Քայլ 5: IFTTT- ի կարգավորում
- Քայլ 6. ESP8266 տախտակների տեղադրում Arduino IDE- ում
- Քայլ 7: Տեղադրեք WiFi մենեջերի գրադարանը
- Քայլ 8. ESP8266 ծածկագիրը `վրիպազերծման տպագրությամբ
- Քայլ 9: Ամեն ինչ միասին կպցրեք
- Քայլ 10: 3D տպում
- Քայլ 11: Հսկա LED հավաքում
- Քայլ 12: Կարգավորման և շահագործման հրահանգներ
- Քայլ 13: Ի՞նչ կարող է անել հսկա LED- ը
![Հսկա LED - հետևում է Ադամ Սևիջին. 13 քայլ (նկարներով) Հսկա LED - հետևում է Ադամ Սևիջին. 13 քայլ (նկարներով)](https://i.howwhatproduce.com/images/010/image-28627-j.webp)
Video: Հսկա LED - հետևում է Ադամ Սևիջին. 13 քայլ (նկարներով)
![Video: Հսկա LED - հետևում է Ադամ Սևիջին. 13 քայլ (նկարներով) Video: Հսկա LED - հետևում է Ադամ Սևիջին. 13 քայլ (նկարներով)](https://i.ytimg.com/vi/oh-H9PzfULc/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
![Հսկա լուսադիոդ - հետևում է Ադամ Սևիջին Հսկա լուսադիոդ - հետևում է Ադամ Սևիջին](https://i.howwhatproduce.com/images/010/image-28627-1-j.webp)
![Հսկա լուսադիոդ - հետևում է Ադամ Սևիջին Հսկա լուսադիոդ - հետևում է Ադամ Սևիջին](https://i.howwhatproduce.com/images/010/image-28627-2-j.webp)
![Հսկա լուսադիոդ - հետևում է Ադամ Սևիջին Հսկա լուսադիոդ - հետևում է Ադամ Սևիջին](https://i.howwhatproduce.com/images/010/image-28627-3-j.webp)
Այստեղ դուք կգտնեք Հսկա լուսադիոդի վերարտադրություն, որը վերազինված է լինելու որպես Twitter, YouTube և Twitch ազդանշանային լամպի դեր: Ինձ համար հիմնական նպատակն է ահազանգ տալ, երբ կան թվիթեր, տեսանյութեր կամ twitch streams Ադամ Սևիջի և փորձարկված թիմի կողմից, և ազնիվ լինելու համար ՝ մի քանի այլ մարդկանց, որոնց ես հետևում եմ, ինչպիսիք են Ռոբերտ Քոուանը, Մարտի մեխանիկը և այլն:
Ակնհայտ է, որ ես կարող եմ օգտագործել twitter, twitch և այլն ՝ իմ հեռախոսի կամ նոութբուքի վրա, բայց այնքան շատ ահազանգեր կան այդքան ծառայություններից և ծանուցումներից, որ ես դրանք հիմնականում անջատում եմ, գումարած, որ երեկոյան ժամը 22 -ից հետո հեռախոսը անցնում է լուռ ռեժիմի: Webhooks- ը, որը ես ունեմ, նույնպես կազմաձևված է ՝ աշխատանքի հետ կապված Biq Query- ի որոշ աղյուսակներից թարմացումներ ստանալու համար, որպեսզի ինձ տեղյակ պահի, թե արդյոք դրանք արդիացվել են OK ՝ բավարար քանակությամբ գրառումներով ամեն օր:
Adafruit- ն ունի Adafruit IO ծառայություն, որը ես ուզում էի փորձել, և ես ամբողջ տարի նկատի ունեի փորձել և նորից հաղթահարել ESP8266- ը Wemos D1 Mini 3. թողարկման վերաբերյալ լավ խոսքեր լսելուց հետո: Ամեն ինչ սկսեց հավաքվել, երբ գտա Դիզայն ՝ տիեզերքում լուսադիոդի համար Astro73- ի կողմից: Ես սկսեցի դրանից և մի փոքր վերամշակեցի այն մասշտաբի համար, ինչպես նաև բազայի մեջ սեղմիչ կոճակ և որոշ այլ կոսմետիկ փոփոխություններ ավելացնելու համար: Ռեմիքսը կարող եք գտնել այստեղ ՝
Բացի այդ, այն կարող է ձայնով կառավարվել Alexa- ի միջոցով, ինչպես նաև IFTTT alexa ձգան բառի ի հայտ գալով:
Քայլ 1: Բաղադրությունը
Եթե ցանկանում եք դրանցից մեկը դարձնել, մասերի ցանկը բավականին փոքր է և նույնպես համապատասխանաբար էժան: Եթե դուք դեմ չեք սպասելուն, ապա կարող եք հիմնական մասերը արտասահմանից ստանալ, ինչպես նաև գինը է՛լ ավելի նվազեցնելով: Այնուամենայնիվ, հիմնական բաղադրիչը Giant LED պատյանն ու հիմքն են: Եթե ունեք 3D տպիչ, ապա ամեն ինչ պատրաստ է, եթե ոչ, կան մի քանի առցանց տպիչ ընկերություններ, որոնք տպելու են մասերը: Կան ընդամենը 3, այնպես որ դրանք նույնպես պետք է լինեն բավականին էժան:
1. Wemos D1 Mini R3
2. Neopixel 8 LED
3. Տպագրված հիմք և ոտքեր սև PETG- ով
4. Տպագրված ոսպնյակներ և լուսատու ՝ թափանցիկ PLA- ում
5. Սեղմեք կոճակի անջատիչ 12 մմ քառակուսի x1
6. Կլոր սեղմիչ կոճակի գլխարկ x1
7. USB կապ և ադապտեր էներգիայի համար
8. M3x20 կոճակի գլուխ
9. M3 ընկույզ
10. M2x8 մմ պտուտակ x2
11. M2 Ընկույզ x2
12. Սև, կարմիր և դեղին մետաղալարեր
13. 300-500 Օմ դիմադրություն
14. pieceերմացկման փոքր կտոր
Դուք կարող եք օգտագործել այլ ESP սարքեր կամ նույնիսկ Huzzah, բայց պատյանը նախատեսված էր մինի համար, որն ունի ամրացվող անցքեր և խուսափում է այն կպցնելուց:
Քայլ 2: Գործիքներ
Սա ստեղծելու և կառուցելու համար ձեզ հարկավոր է հետևյալը
1. 3D տպիչ
2. 1.5 մմ և 2 մմ Ալեն բանալին
3. oldոդման երկաթ և զոդ
4. Հաղորդալարեր
5. Տափակաբերան աքցան
6. Հումորի զգացում
7. Սկալպել կտրելու համար
Քայլ 3: Կոդի պահանջներ
Այսպիսով, նախքան կառուցվածքի մեջ մտնելը ես պատրաստվում եմ նախանշել որոշ պահանջներ, որոնք ես ցանկանում էի ներառել դրա մեջ: Դրանցից շատերը ես մտքում ունեի սկսելուց առաջ, և ես ուրվագծեցի մի քանի հոսք `պարզելու, թե ինչ եմ պատրաստվում փորձել: Շարունակելով, չնայած ես որոշ խնդիրներ հայտնաբերեցի ծառայությունների հետ, որոնց ես ուզում էի անդրադառնալ:
Պահանջներ:
Ես ուզում էի, որ LED- ն ինձ ցույց տա, երբ տեղադրվի նոր թվիթ կամ տեսանյութ, և պարզվի, երբ Twitch- ի հատուկ ալիք է բացվում: Ես նաև ցանկանում էի, որ ահազանգը շարունակվի մինչև չեղյալ հայտարարեմ այն, որպեսզի եթե որոշ ժամանակ բացակայեմ, իմանամ, թե ինչ է տեղի ունեցել, երբ ես բացակայել էի: Ես նաև ցանկանում էի, որ այն կարգավորելի լինի Wi-Fi- ի հասանելիության համար ՝ առանց ծրագրակազմը նույնպես փոփոխելու անհրաժեշտության: Մի վերջին բան, որը նույնպես հայտնվեց, բացի իրադարձություններին ուղիղ եթերից արձագանքելուց, ինձ պետք էր, որ ամեն 15 րոպեն մեկ ստուգեի այն սնվող տվյալների կարգավիճակը
Այսպիսով, հիմունքների առկայության դեպքում հաջորդը պետք է մշակվեր, թե ինչպես է յուրաքանչյուր մաս կատարվելու: Ստորև կարող եք տեսնել իմ գաղափարները, թե որ մասի հետ կապված որ տեսակի ծրագրակազմը կամ պլատֆորմը:
1. Adafruit IO, սա օգտագործվում է ահազանգերի հոսքերը կարգավորելու համար, այստեղ կարող եք հաշիվ ստանալ
Ես սա օգտագործելու եմ որպես հաղորդագրությունների հերթագրման ծառայություն, որտեղ ես այն ուղարկելու եմ հաղորդագրություններ IFTTT- ից, այնուհետև Հսկա LED- ն ստանում է այդ հաղորդագրությունները, որպեսզի կարողանա գործել դրանց վրա:
2. IFTTT, https://ifttt.com/ և սա օգտագործվում է ընտրված Twitter, YouTube և Twitch ալիքները սկանավորելու համար, այնուհետև իրադարձությունն ուղարկում է Adafruit IO
3. ESP8266 ծածկագիրը `այս հոսքերը կարդալու համար, և այն այրվում է ESP8266- ում` օգտագործելով ստանդարտ Arduino IDE- ն (v1.8.8)
4. Arduino կոդ, բեռնված ESP8266- ում ՝ Adafruit IO հոսքերը կարդալու և Neopixel- ը լուսավորելու համար:
5. Arduino կոդ ՝ ահազանգը մաքրելու համար կոճակ կարդալու համար
6. Կարողանաք կարգաբերել WiFi ադապտերը ՝ առանց ESP- ի հետ միացման, և դրա համար ես օգտագործել եմ Tzapu- ի WiFi Manager գրադարանը ՝ https://github.com/tzapu/WiFiManager, չնայած կարգավորումների ընտրանքներին անհրաժեշտ էր մի փոքր փոփոխություն Adafruit IO գրադարաններ:
Քայլ 4: Adafruit IO- ի ստեղծում
![Adafruit IO- ի ստեղծում Adafruit IO- ի ստեղծում](https://i.howwhatproduce.com/images/010/image-28627-4-j.webp)
Սա առաջին քայլն է, քանի որ ձեզ հարկավոր կլինեն այստեղ ստեղծվող մուտքի բանալիները, ինչպես նաև պետք է ստեղծել այն հոսքերը, որոնց IFTTT- ը կուղարկի իրադարձություններ: Դուք կարող եք ստեղծել ինչպես այս, այնպես էլ IFTTT հաշիվը և գրեթե ամեն ինչ կարգավորել և աշխատել նախքան այս նախագծի Arduino մաս անցնելը:
Ադաֆրուտի օրինակները պատճենելու փոխարեն, այստեղ կարող եք գտնել հիմունքները ՝ https://learn.adafruit.com/gmailbox/adafruit-io-se…, որը կստանա կարգավորում:
Հետո GIANT LED- ի համար անհրաժեշտ կլինի նաև կանխադրված ալիքներին ավելացնել հետևյալ հոսքերը
1. գույն - սա մեզ թույլ է տալիս գույնը փոխել հեռակա կարգով ՝ Alexa- ի նման մի բանով
2. ցնցում
3. twitterfan
4. youtubefan
Հետո պետք է նաև ստեղծել նոր խումբ, եթե դեռ մուտքագրած չեք, ապա այս խմբում ստեղծեք նաև թվային կոչվող հոսք: Սա թույլ կտա նաև տեսնել կոճակը սեղմելու էֆեկտը, եթե մենք ցանկանայինք ընդլայնել այս սարքի օգտագործումը այլ նպատակների համար:
Եթե դուք նույնպես ցանկանում եք այս պահին խաղալ խաղատախտակի հետ, որպեսզի կարողանաք դրան ավելացնել դրանք ՝ տեղեկատվության և սխալներ գտնելու նպատակով:
Քայլ 5: IFTTT- ի կարգավորում
![IFTTT- ի կարգավորում IFTTT- ի կարգավորում](https://i.howwhatproduce.com/images/010/image-28627-5-j.webp)
![IFTTT- ի կարգավորում IFTTT- ի կարգավորում](https://i.howwhatproduce.com/images/010/image-28627-6-j.webp)
Կարող եք հետևել նաև Adafruit ուղեցույցին այստեղ ՝ https://learn.adafruit.com/gmailbox/ifttt-setup: Այնուհետև կարող եք ընտրել Twitter- ի, youtube- ի և twitch- ի գործողությունները `ձեր դիտումների ցուցակները կարգավորելու համար, այնուհետև դրանք ուղարկել համապատասխան լրահոսին: Ես կցել եմ մի պարզ տեսանյութ, որպեսզի տեսնեք, թե որքան արագ կարող է լինել:
Բացի այդ, եթե ցանկանում եք ձայնով վերահսկել ձեր LED- ի գույնը Alexa- ի միջոցով, այժմ կա Amazon Alexa հավելված: Սրանցից մեկը սահմանելու համար ընտրեք ծրագիրը և ընտրեք կապույտ բառը, այնուհետև միացրեք այն ձեր ստեղծած Adafruit հոսքին, որը կոչվում է գույն և մուտքագրեք 0000ff որպես տվյալ ալիք ուղարկելու տվյալներ: Կարող եք նաև լրացուցիչ հրամաններ փոխանցել այս կերպ GIANT LED- ին, ինչպիսիք են `վերականգնելը կամ վերագործարկումը, եթե ցանկանում եք:
Երբ դուք ստեղծում եք IFTTT ձգանը, դուք պետք է ընտրեք ուղարկված տվյալները, որոնք IFTTT- ում կոչվում են «Բաղադրիչներ»: Առաջին կտորը, որն անհրաժեշտ է մեզ, «Օգտվողի անունն» է, ապա բացատը, այնուհետև «Ստեղծվածը»
Մենք ընտրում ենք երկու տարրերն այնպես, որ երբ տվյալները հասնեն ESP8266, մենք կարողանանք պարզել, արդյոք դա նոր թվիթ է, և որ այն տարբերվում է նույն օգտվողների նախորդ թվիթերից: Դուք կարող եք տեսնել, թե ինչ պետք է դա դուր գա կցված պատկերից:
Քայլ 6. ESP8266 տախտակների տեղադրում Arduino IDE- ում
Սա այն է, որտեղ ամեն ինչ մի փոքր ավելի բարդ է և կարգավորման համար կարող է մի փոքր ավելի ժամանակ պահանջվել: Բացի ESP8266- ից, ձեզ անհրաժեշտ են նաև Adafruit IO գրադարանները, և նրանց համար կարող եք հետևել այս ուղեցույցին:
learn.adafruit.com/gmailbox/arduino-setup
Կա պարզ բացատրություն, թե ինչպես ավելացնել ESP8266 տախտակները նաև այստեղ
Մի մոռացեք համոզվել, որ ձեր Arduino IDE- ն նույնպես վերջին տարբերակն է, և ես դա գրելիս 1.8.8 էի օգտագործում:
Մեկ այլ գրադարան, որը մենք օգտագործում ենք, SimpleTimer- ն է, քանի որ դա մեզ թույլ կտա ստեղծել ֆոնային ժամաչափ, որպեսզի պարբերաբար ստուգենք հոսքերը, դրա վերաբերյալ ցուցումները կարելի է գտնել օգտագործման պարզեցված հասցեով ՝ https://playground.arduino.cc/Code/SimpleTimer# Բեռնել
Քայլ 7: Տեղադրեք WiFi մենեջերի գրադարանը
Մեզ հնարավորություն տալու ստանալ WiFi կարգաբերման հեռավոր կազմաձևում, մենք պատրաստվում ենք օգտագործել Tzapu Wifi Manger- ը, դրա մասին մանրամասները և ինչպես տեղադրել գրադարանները կարող եք գտնել այստեղ, github.com/tzapu/WiFiManager
Սա արտաքին գրադարանների բավականին պարզ տեղադրում է, և տարբերակը արդեն գտնվում է ձեր Arduino IDE գործիքների բաժնի Կառավարման գրադարանում:
Քայլ 8. ESP8266 ծածկագիրը `վրիպազերծման տպագրությամբ
// Այս կոդը պարունակում է տպագիր հայտարարություններ, որպեսզի կարողանաք վերահսկել դրա աշխատանքը Սերիական մոնիտորի միջոցով
// Adafruit IO RGB LED ելքային օրինակի հիման վրա // Adafruit- ը ժամանակ և միջոցներ է ներդնում `ապահովելով այս բաց կոդ: // Խնդրում ենք աջակցել Adafruit- ին և բաց կոդով սարքավորումներին ՝ ձեռք բերելով // ապրանքներ Adafruit- ից: // // Գրված է Todd Treece- ի կողմից Adafruit Industries- ի համար // Հեղինակային իրավունք (գ) 2016-2017 Adafruit Industries // Լիցենզավորված MIT լիցենզիայի ներքո: // // Բոլոր վերը նշված տեքստերը պետք է ներառվեն ցանկացած վերաբաշխման մեջ: // օգտագործում է պարզամիտ https://playground.arduino.cc/Code/SimpleTimer#Do… // https://playground.arduino.cc/Code/SimpleTimer#Do… // Այաքս onesոնսի մնացած կոդը https:// playground.arduino.cc/Code/SimpleTimer#Do // https://playground.arduino.cc/Code/SimpleTimer#Do… // ******************** ******* Կոնֆիգուրացիա ********************************/ #սահմանել IO_USERNAME «ձեր IO Օգտվողի անունը « #սահմանի IO_KEY« քո IO բանալին »// թողիր դատարկ, քանի որ մենք դրանք կստանանք Wifi Manager- ի միջոցով, կարծես թե լավ է աշխատում այս կերպ #սահմանել WIFI_SSID» « #սահմանել WIFI_PASS» "// մենք դա չենք ներառում որպես AdafruitIO ներառել դրա տարբերակը // #include //https://github.com/esp8266/Arduino // գրադարանի համար անհրաժեշտ #include #include #include "WiFiManager.h" //https://github.com/tzapu/WiFiManager # ներառել SimpleTimer ժմչփ; #ներառել «AdafruitIO_WiFi.h» AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS); // *********************** NeoPixel- ի կարգավորումներ ********************** ********* // #ներառել «Adafruit_NeoPixel.h» #սահմանել PIXEL_PIN 5 #սահմանել PIXEL_COUNT 8 ինտ NUM_LEDS = PIXEL_COUNT; #սահմանել PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel պիքսել = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE); // Հիմնական գույներ և կանխադրված գույն երկար default_color = 865554; երկար RED_color = 2689027; // կարմիր #290803 երկար GREEN_color = 865554; // կանաչ #0d3512 երկար BLUE_color = 856117; // կապույտ #0d1035 երկար PURPLE_color = 2364968; // մանուշակագույն #241628 երկար BRIGHTRED_color = 15990784; // վառ կարմիր #f40000 // ---------------------------------------------- -------------------------------------------------- // ժամանակ գաղափարը վերցված է https://www.safaribooksonline.com/library/view/arduino-cookbook-2nd/9781449321185/ch12.html https://playground.arduino.cc/Code/SimpleTimer#Do… https:// խաղահրապարակ: arduino.cc/Code/SimpleTimer#Do… const long oneSecond = 1000; // վայրկյանը կազմում է հազար միլիվայրկյան const long oneMinute = oneSecond * 60; const long fiveMinutes = oneMinute * 5; const երկար տասնհինգ րոպե = հինգ րոպե * 3; const long oneHour = տասնհինգ րոպե * 4; // Twitter- ի այն օգտվողները, որոնք մեզ ամենաշատն են դուր գալիս, և դրանք կփայլվեն, և մեր ընտրած բոլոր թվիթերը պարզապես կփոխեն գույնը String SuperTweet = {"ajaxjones", "donttrythis", "prodnose", "testcom"}; Լարային SuperTuber = {"փորձարկված", "կովանի", "նահատակ"}; // սահմանում է ահազանգի կարգավիճակը, որպեսզի մենք կարողանանք LED- ները թարթել հիմնական հանգույցի bool- ում WHIZZY_TWEET = false; bool WHIZZY_TUBER = կեղծ; bool WHIZZY_TWITCH = կեղծ; // Պահպանում է վերջին թվիթը և youtube- ը, որպեսզի մենք կարողանանք ծառայությունը կրկնակի ստուգել մեկ -մեկ String lasttweet = ""; Լարային lasttube = ""; Լարային lasttwitch = ""; // թվային փին 5, սա այն կոճակն է, որը մենք օգտագործում ենք ազդանշանային գույները վերակայելու համար #սահմանեք BUTTON_PIN 4 // կոճակի վիճակը, իրականում այն չի օգտագործվում, քանի որ մենք փնտրում ենք անջատիչ bool current = false կոճակը: bool last = false; // ստեղծեք «գույնի» հոսքը, որպեսզի մենք կարողանանք գույները փորձարկել և ուղարկել ըստ պահանջի կամ օգտագործել Alexa trigger AdafruitIO_Feed *color = io.feed («գույն»); // ստեղծեք «twitterfan» հոսքը - Blue AdafruitIO_Feed *twitter = io.feed («twitterfan»); // ստեղծեք «youtubefan» հոսքը - Red AdafruitIO_Feed *youtube = io.feed («youtubefan»); // ստեղծեք «twitch» հոսքը - Purple AdafruitIO_Feed *twitch = io.feed («twitch»); // ստեղծել «թվային» թարմացվող բովանդակություն AdafruitIO_Feed *digital = io.feed («input.digital»); // ---------------------------------------------------- --------------------------------------------- void setup () {// set the կոճակի քորոցը ՝ որպես մուտքագրում, մենք օգտագործում ենք INPUT_PULLUP, քանի որ պարտադիր չէ օգտագործել արտաքին դիմադրիչների pinMode (BUTTON_PIN, INPUT_PULLUP); // Կցեք անջատում ISR վեկտորին ՝ կցել կոճակը ՝ attachInterrupt (digitalPinToInterrupt (BUTTON_PIN), handleInterrupt, FALLING); // Սկսեք սերիալը և սպասեք սերիական մոնիտորի բացմանը, ապա միացեք io.adafruit.com Serial.begin (115200); իսկ (! Սերիա); // neopixel begin pixels.begin (); // Ներքին վիճակը կարմիր դարձրեք, որպեսզի իմանանք, որ անցանց ենք և աշխատում ենք setAll (0xf4, 0x00, 0x00); // կարմիր // փորձարկման համար դա ցույց կտա WiFi WiFi- ի կարգավիճակը: printDiag (Սերիա); WiFiManager wifiManager; // սահմանել հետադարձ կապ, որը զանգվում է նախորդ WiFi- ին միանալիս ձախողվում է և մտնում Մուտքի կետի ռեժիմ wifiManager.setAPCallback (configModeCallback); // վերականգնել պահված կարգավորումները, չմեկնաբանել այս հաջորդ տողը ՝ WiFi մենեջերի փորձարկումը ստիպելու համար, որպեսզի կարողանաք միանալ // օգտագործեք ձեր հեռախոսը կամ պլանշետը ՝ փնտրելու Հսկա LED ցանցը, որը կհայտնվի //wifiManager.resetSettings (); // սահմանում է ժամկետ, մինչև կազմաձևման պորտալն անջատվի // օգտակար է, որ ամեն ինչ նորից փորձի կամ քնի // վայրկյանների ընթացքում wifiManager.setTimeout (240); եթե (! wifiManager.autoConnect ("GIANT LED")) {Serial.println (F («չհաջողվեց միանալ և սեղմել ժամկետը»)); // վերակայել և նորից փորձել հետաձգել (3000); ESP.reset (); ուշացում (1000); } // թեստավորման համար մենք կարող ենք տեսնել, թե արդյոք մենք ունենք համապատասխան հավատարմագրեր //Serial.println (WiFi. SSID ()) միացնելու համար; //Serial.println(WiFi.psk())//WiFi.begin(WIFI_SSID, WIFI_PASS); // while (WiFi.status ()! = WL_CONNECTED) {// ուշացում (500); //Serial.print ("."); //} Serial.println (); Serial.println (F («WiFi- ն միացված է»)); Serial.println (F ("IP հասցե` ")); Serial.println (WiFi.localIP ()); // այժմ մենք միանում ենք IO ծառայությանը Serial.print (F ("Connecting to Adafruit IO")); io.connect (); // ստեղծել «գույնի» հոսքի համար հաղորդագրությունների մշակող: գույն-> onMessage (handleMessage); // ստեղծեք հաղորդագրությունների մշակող «twitterfan» հոսքի համար: twitter-> onMessage (twitterMessage); // ստեղծեք հաղորդագրությունների մշակող «youtubefan» հոսքի համար: youtube-> onMessage (youtubeMessage); // ստեղծեք հաղորդագրությունների մշակող «twitch» հոսքի համար: twitch-> onMessage (twitchMessage); // սպասեք միացման միաժամանակ (io.status () <AIO_CONNECTED) {Serial.print (F (".")); ուշացում (500); } // մենք կապված ենք Serial.println (); Serial.println (io.statusText ()); //Serial.println (չափը ((SuperTweet)); //Serial.println (մեծության (SuperTweet [0]))); // Տպեք Twitter- ի այն հաշիվների ցուցակը, որին մենք սպասում ենք (բայթ idx = 0; idx <sizeof (SuperTweet) / sizeof (SuperTweet [0]); idx ++) {Serial.print (F ("SuperTweet [")); Serial.print (idx); Serial.print ("] = '"); Serial.print (SuperTweet [idx]); Serial.println ("'"); } // Տպեք այն YouTube հաշիվների ցուցակը, որին մենք սպասում ենք (բայթ idx = 0; idx get (); // խնդրեք հոսքերի առկա վիճակները, այնպես որ դուք պետք է սեղմեք վերակայումը ՝ YouTube- ի գործարկման ժամանակ -> ստանալ (); twitter-> ստանալ (); twitch-> ստանալ (); for (int i = 0; i get (); twitter-> get (); twitch-> get (); Serial.print («որոշ թվիթներ ստանալը»); Serial.print ("uptime (s):"); Serial.println (millis () / 1000);} // ---------------- ------------------------------------------------------ ----------------------- void loop () {// io.run (); պահանջվում է բոլոր ուրվագծերի համար: io.run (); ժամանակաչափ: run (); if (WHIZZY_TWEET == true) {RunningLights (0x0d, 0x10, 0x35, 250);} if (WHIZZY_TUBER == true) {RunningLights (0x29, 0x08, 0x03, 250);} if (WHIZZY_TWITCH ==) {RunningLights (0x24, 0x16, 0x28, 250);}} // --------------------------------- ------------------------------------------------------ ------ // սահմանեք միջամտությունը `կոճակը սեղմելիս ազդանշանը մաքրելու համար և ստուգեք ինտերնետի անվավեր handleInterrupt () {WHIZZY_TWEET = կեղծ; WHIZZY_TUBER = կեղծ; WHIZZY_TWITCH = կեղծ; ընթացիկ = ճշմարիտ; // ուղարկել ընթացիկ վիճակը adafruit io- ի «input.digital» աղբյուրին, որպեսզի մենք տեսնենք այն թվային-> save (current); for (int i = 0; i ")); Serial.print (current); Serial.print (F (" and default color ")); Serial.println (default_color); current = false; digital-> save (current); while (WiFi.status ()! = WL_CONNECTED) {հետաձգում (500); setAll (0xeb, 0xfb, 0x03); // դեղին ebfb03}} // -------------- ------------------------------------------------------ -------------------- {String tweeter = (data-> toString ()); tweeter.toLowerCase (); if ((lasttweet! = Tweeter) && (tweeter! = "")) {Lasttweet = tweeter; setAll (0x0d, 0x10, 0x35); // Սահմանել tweet կապույտ գույնը Serial.print (F ("Tweet:")); Serial.print (tweeter); // ստուգել նախընտրած թվիթերի համար (byte idx = 0; idx = 0) {// Եկեք դրանք դարձնենք tweets whizzy #0d1035 WHIZZY_TWEET = true; Serial.print ("by"); Serial.print (SuperTweet [idx]);}} Serial.println ("");}} // --------- ------------------------------------------------------ -------------------------------- - // սա կոչվում է ամեն անգամ, երբ «youtube» հաղորդագրություն է գալիս- LED- ը սահմանեք RED void youtubeMessage (AdafruitIO_Data *data) {String tuber = (data-> toString ()); tuber.toLowerCase (); if ((lasttube! = tuber) && (tuber! = "")) {lasttube = tuber; setAll (0x29, 0x08,0x03); // Սահմանել youtube- ի կարմիր գույնը 290803 Serial.print (F ("Youtube:")); Serial.println (պալար); // ստուգեք նախընտրած Youtuber- ի համար (բայթ idx = 0; idx = 0) {// Թույլ տվեք նրանց տեսանյութերը դարձնել whizzy #0d1035 WHIZZY_TUBER = true; Serial.print («ըստ»); Serial.print (SuperTuber [idx]); }} Serial.println (""); }} // ---------------------------------------------- ---------------------------------------------- // սա կոչվում է, երբ ա «twitch» հաղորդագրությունը գալիս է. LED- ն սահմանել PURPLE void twitchMessage (AdafruitIO_Data *data) {String twitch = (data-> toString ()); twitch.toLowerCase (); եթե ((lasttwitch! = twitch) && (twitch! = "")) {lasttwitch = twitch; setAll (0x24, 0x16, 0x28); // Սահմանել twitch մանուշակագույն գույնը #241628 Serial.print (F ("Twitch:")); Serial.println (ցնցում); // Ոչ մի նախընտրելի Twitcher- ի համար մենք հետևում ենք միայն մեկին WHIZZY_TUBER = true; Serial.println (""); }} // ---------------------------------------------- ---------------------------------------------- // այս գործառույթը կոչվում է ամեն անգամ ստացվում է «գունավոր» հաղորդագրություն // որը գործարկման ժամանակ կդնի կանխադրված գույնը ՝ հիմնվելով վերջին գույնի արժեքի անվավեր բռնակի վրա: ")); Serial.println (տվյալները-> արժեքը ()); երկար գույն = տվյալներ>> toNeoPixel (); // լռելյայն_գույն = գույն; Serial.print (F («Ստացվել է HEX երկարությամբ».)); Serial.println (գույն); (int i = 0; i <PIXEL_COUNT; ++ i) {pixels.setPixelColor (i, գույն); } showStrip (); } // --------------------------------------------------- ---------------------------------------------- անվավեր RunningLights (բայթ կարմիր, բայթ կանաչ, բայտ կապույտ, int WaveDelay) {int Պաշտոն = 0; համար (int j = 0; j <NUM_LEDS; j ++) {դիրք ++; // = 0; // պաշտոն + տոկոսադրույք; (int i = 0; i <NUM_LEDS; i ++) {setPixel (i, ((sin (i + Position) * 127 + 128) / 255) * կարմիր, ((sin (i + Position) * 127 + 128) / 255)*կանաչ, ((մեղք (i + Դիրք)*127 + 128) / 255)*կապույտ); } showStrip (); ուշացում (WaveDelay); }} // ---------------------------------------------- ---------------------------------------------- // Neopixel routines անվավեր setAll (բայթ կարմիր, բայթ կանաչ, բայտ կապույտ) {for (int i = 0; i getConfigPortalSSID ()); // մտավ կազմաձևման ռեժիմ, Neo Pixel- ը սահմանեց մանուշակագույն #241628 = 2364968 // setAll (0x24, 0x16, 0x28); setAll (0xeb, 0xfb, 0x03); // դեղին ebfb03}
Քայլ 9: Ամեն ինչ միասին կպցրեք
![Վաճառելով այդ ամենը միասին Վաճառելով այդ ամենը միասին](https://i.howwhatproduce.com/images/010/image-28627-7-j.webp)
![Վաճառելով այդ ամենը միասին Վաճառելով այդ ամենը միասին](https://i.howwhatproduce.com/images/010/image-28627-8-j.webp)
![Վաճառելով այդ ամենը միասին Վաճառելով այդ ամենը միասին](https://i.howwhatproduce.com/images/010/image-28627-9-j.webp)
Այս դիզայնի մեջ ամեն ինչ զոդված է միասին և պետք է լինի բավականին հեշտ կառավարելի: Ես օգտագործել եմ 3 տարբեր գույնի լարեր ՝ ամեն ինչ հեշտ դարձնելու համար, և առաջինը ՝ neopixel- ի մետաղալարերը WEMOS- ին չափելն է: Ես դրանք հյուսեցի և դրա վրա դրեցի մի փոքր կտոր ջերմամեկուսիչ, այնուհետև դրանք զոդեցի, ինչպես ցույց է տրված, այնպես որ այն հարթ կդնի ոսպնյակի մեջ:
Կոճակը հաջորդն էր և ամուր կտեղավորվի հիմքի մեջ: Կոճակի մի կողմը գնում է դեպի Gnd և այն ոլորվում է neopixel- ի Ground լարի հետ միասին: Այնուհետև ես դրանք պահածոյացրեցի և դրանք մեկ -մեկ կպցրեցի WEMOS- ի գրունտային քորոցին:
Neopixel- ի էներգիայի հոսանքը գնում է 5v PIn: Նեոպիքսելի ազդանշանային լարը կամ Di (տվյալները ներսում) զոդվում են Wemos փինին որպես D1: Կան որոշ կայքեր, որոնք առաջարկում են սերիայով տեղադրել 300-500 Օմ ռեզիստոր, բայց մինչ այժմ ես խնդիրներ չեմ ունեցել, առայժմ դա ուղղակի կապ է:
Լավ պրակտիկա ապահովելու և Adafruit- ի նման կայքերի խորհրդով ես 330R ռեզիստոր եմ դրել շարքով ՝ Di գծով մինչև նեոպիքսել: Դա այն է, որ օղակի առաջին LED- ը չթողնի կախարդական պիքսիաները և պարզապես արվի մետաղալարերը կտրելով և ռեզիստորը ներս մտցնելով: heatերմահեղձման փոքր կտորը կդադարեցնի ցանկացած կամակոր շորտեր: Դուք կարող եք բավականին կարճ կտրել դիմադրիչը և պարզապես մի օղակ դնել յուրաքանչյուր ծայրում և նույնն անել մետաղալարով:
Կոճակի մյուս մետաղալարն ուղղակիորեն անցնում է D2 կապին: Քաշելու դիմադրության կարիք չկա, քանի որ այն մշակվում է ծրագրաշարի ներսում ՝ PIN- ի հրամանը դնելով այդ քորոցին:
Հիմնականում դա այն ամենն է, ինչ կա դրանում:
Քայլ 10: 3D տպում
Այստեղ կցված են STL ֆայլերը, որոնք մենք օգտագործում ենք Giant LED- ի համար: Ֆայլերը astro73- ի ռեմիքս/վերամշակում են, և դուք կարող եք գրավել բոլոր ֆայլերը նաև https://www.thingiverse.com/thing:3290837 կայքից:
Ոտքերի և հիմքի համար ես օգտագործել եմ Sunlu PETG+ թել, որն իրոք լավ է աշխատում Prusa i3- ի վրա և օգտագործել եմ կամ 10 կամ 20% գիրոիդ լցոն:
LED- ի համար ես օգտագործում եմ Sunlu թափանցիկ PLA և օգտագործում եմ մոտ 10% լցոնում համակենտրոն վերին և ստորին շերտերով:
Յուրաքանչյուրի հետ ես օգտագործում եմ միայն Prusa PET և Prusa PLA բաժնետոմսերը Slic3r- ում, և դրանք բոլորը լավ են մշակվել: Ես մի քիչ լար եմ ստանում ոտքերիս վրա, բայց ես նրանց վրա փչակ եմ թափում, և լարն անհետանում է:)
Քայլ 11: Հսկա LED հավաքում
![Հսկա LED հավաքածու Հսկա LED հավաքածու](https://i.howwhatproduce.com/images/010/image-28627-10-j.webp)
![Հսկա LED հավաքածու Հսկա LED հավաքածու](https://i.howwhatproduce.com/images/010/image-28627-11-j.webp)
![Հսկա LED հավաքածու Հսկա LED հավաքածու](https://i.howwhatproduce.com/images/010/image-28627-12-j.webp)
Բոլոր կտորները իսկապես հեշտությամբ համակցված են, դուք պետք է M3 ընկույզը սեղմեք հիմքի մեջ, որպեսզի պտուտակն իրը միասին պահի: Անհրաժեշտ է նաև NeoPixel- ը WEMOS- ին միացնել ոտքերի միջոցով: Ես մտածում էի, թե ինչպես միակցիչներ տեղադրել, բայց որոշեցի, որ այն ապագայում չի քանդվի:
Ոսպնյակը պարզապես հրում է ոտքերի վրա, և նրանք իրենց հերթին ամրացվում են հիմքին ՝ մեկ M3x20 մմ պտուտակով: Հնարավոր է, որ անհրաժեշտ լինի դանակ վազել կոճակի անցքի ներսում, որպեսզի այն գեղեցիկ և ազատ տեղաշարժվի: Wemos- ն ամրացված է ներքևից ներքև պտուտակված 2 M2x8 վարդակից:
Ավարտելու համար անհրաժեշտության դեպքում կարող եք սոսնձել զգեստի մի կտոր հիմքի վրա `ցանկացած սայթաքում դադարեցնելու համար:
Քայլ 12: Կարգավորման և շահագործման հրահանգներ
![Image Image](https://i.howwhatproduce.com/images/010/image-28627-14-j.webp)
![](https://i.ytimg.com/vi/Mx8W5DUq5pw/hqdefault.jpg)
![Կարգավորման և շահագործման հրահանգներ Կարգավորման և շահագործման հրահանգներ](https://i.howwhatproduce.com/images/010/image-28627-15-j.webp)
![Կարգավորման և շահագործման հրահանգներ Կարգավորման և շահագործման հրահանգներ](https://i.howwhatproduce.com/images/010/image-28627-16-j.webp)
Երբ ամեն ինչ պատրաստ է և ներբեռնված ծրագրակազմը մի փոքր ուժ տվեք USB- ին, և GIANT LED- ը պետք է հայտնվի, և LED- ը կգնա ԿԱՐՄԻՐ, այնուհետև կփոխվի դեղին: Սա ցույց է տալիս, որ այն անցանց է և սպասում է wifi կարգավորմանը: Օգտագործելով հեռախոս կամ նմանատիպ որոնում GIANT LED wifi ցանցի համար և միացեք, և դուք կստանաք WiFi մենեջերի էկրան: Այն սկանավորելու է ձեր տեղական տարածքը, և դուք պարզապես մուտքագրում եք ձեր wifi տվյալները, ESP- ը կվերագործարկվի, և դուք այժմ կլինեք առցանց ՝ կանաչ լույսով: Այս պահին այն նաև կկապվի IO- ի հետ, և ահազանգի լույսերը կբարձրանան, քանի որ դեռ չի տեսել որևէ նախորդ հաղորդագրություն: Մի քանի անգամ սեղմեք կոճակը, և GIANT LED- ն այժմ պատրաստ է թարմացումների գալուն:
Այս պահին կարող եք անցնել Adafruit IO- ի վահանակ և յուրաքանչյուր տվյալի մեջ ավելացնել որոշ տվյալներ և տեսնել, որ լույսերը անցնում են ահազանգի ռեժիմի:
Զվարճանալ !
Քայլ 13: Ի՞նչ կարող է անել հսկա LED- ը
![Ինչ այլ բան կարող է անել հսկա LED- ը Ինչ այլ բան կարող է անել հսկա LED- ը](https://i.howwhatproduce.com/images/010/image-28627-17-j.webp)
![Ինչ այլ բան կարող է անել հսկա LED- ը Ինչ այլ բան կարող է անել հսկա LED- ը](https://i.howwhatproduce.com/images/010/image-28627-18-j.webp)
Երբ դուք ունեք այսպիսի դիզայնի հիմունքները և IFTTT- ի միջոցով կարող եք այն օգտագործել շատ բաների համար: Gmail- ի մուտքի արկղի մասին ահազանգը շատ հեշտ է, և քանի որ Adafruit- ն աշխատում է նաև Webhooks- ի հետ, այլ ծրագրեր նույնպես կարող են տվյալներ ուղարկել դրան: Այս պահին ստեղծվում է մեկը, որը հետևում է Big Query- ի տվյալների վերբեռնումներին ՝ որպես աշխատանքային ծրագրի մաս:
Նաև կոճակի միջոցով կարող եք այն ազդանշանել այլ GIANT LED- ներին, կարող եք ունենալ մեկ այլ տներում և օգտագործել այն որպես հեռավոր ցուցիչ, որպեսզի մյուս կողմը սեղմի լույսը չեղարկելու կոճակը:
Ահա օգտակար հղում ՝ տվյալների հոսքին ուղարկելու webhook եղանակին: Այս դեպքում այն օգտագործում է IFTTT հավելված, բայց նույնքան հեշտությամբ կարող եք օգտագործել CURL մեթոդը python- ի հետ:
io.adafruit.com/blog/notebook/2018/11/26/f…
Իրականում նույնիսկ հնարավոր է OLED 128x32- ը տեղավորել բազայի մեջ `լուսադիոդային տեքստը որոշ տեքստային բովանդակությամբ լրացնելու համար, և ես այժմ աշխատում եմ դրա վրա և կթարմացնեմ STL- ները և կտրամադրեմ IO- ն դրա օգտագործման կոդը:
Խորհուրդ ենք տալիս:
Ինչպես կառուցել հսկա թաքնված դարակի եզրային ժամացույց. 27 քայլ (նկարներով)
![Ինչպես կառուցել հսկա թաքնված դարակի եզրային ժամացույց. 27 քայլ (նկարներով) Ինչպես կառուցել հսկա թաքնված դարակի եզրային ժամացույց. 27 քայլ (նկարներով)](https://i.howwhatproduce.com/images/005/image-14771-j.webp)
Ինչպես կառուցել հսկա թաքնված դարակի եզրային ժամացույց. Մենք մեր հյուրասենյակի պատի մի մասի վրա ունեինք մեծ տարածք, որի համար երբեք չէինք գտնի դրա վրա կախելու ճիշտ «իրը»: Մի քանի տարի փորձելուց հետո որոշեցինք ինքներս ինչ -որ բան պատրաստել: Սա բավականին լավ ստացվեց (մեր կարծիքով), այնպես որ ես այն դարձրեցի
Շարժվող և խոսող հսկա Lego Hulk MiniFig (10: 1 սանդղակ). 14 քայլ (նկարներով)
![Շարժվող և խոսող հսկա Lego Hulk MiniFig (10: 1 սանդղակ). 14 քայլ (նկարներով) Շարժվող և խոսող հսկա Lego Hulk MiniFig (10: 1 սանդղակ). 14 քայլ (նկարներով)](https://i.howwhatproduce.com/images/011/image-30025-j.webp)
Տեղափոխվող և խոսող հսկա Lego Hulk MiniFig (10: 1 մասշտաբ). Ես միշտ խաղացել եմ լեգոների հետ մանկության տարիներին, բայց ես չունեի «շքեղ» լեգոներից որևէ մեկը, պարզապես դասական լեգո աղյուսներ: Ես նաև Marvel Cinematic Universe (MCU) - ի հսկայական երկրպագու եմ, և իմ ամենասիրելի կերպարը Հալկն է: Ուրեմն ինչու չմիավորել երկուսը և չդարձնել հսկա
Alexa- ի կողմից վերահսկվող Ադամ Սևիջ դդում. 5 քայլ (նկարներով)
![Alexa- ի կողմից վերահսկվող Ադամ Սևիջ դդում. 5 քայլ (նկարներով) Alexa- ի կողմից վերահսկվող Ադամ Սևիջ դդում. 5 քայլ (նկարներով)](https://i.howwhatproduce.com/images/011/image-32015-j.webp)
Alexa- ի կողմից վերահսկվող Ադամ Սևիջ դդում. Իմ տան բոլոր լույսերը խելացի են, այնպես որ ես բավականին սովոր եմ բղավել նրանց վրա միանալու և անջատելու համար, բայց դա ինձ համր տեսք է տալիս, երբ բղավում եմ մի լույսի վրա, որը ոչ . Եվ ես հատկապես բութ եմ թվում, երբ բղավում եմ մոմերի վրա: Սովորաբար սա այնքան էլ մռայլ չէ
Հսկա անալոգային CO2 հաշվիչ ՝ 6 քայլ (նկարներով)
![Հսկա անալոգային CO2 հաշվիչ ՝ 6 քայլ (նկարներով) Հսկա անալոգային CO2 հաշվիչ ՝ 6 քայլ (նկարներով)](https://i.howwhatproduce.com/images/011/image-32963-j.webp)
Հսկայական անալոգային CO2 հաշվիչ. Հավայան կղզիներից մեկի սարից բարձր մթնոլորտը պարունակում է մոտ 400 ppm ածխածնի երկօքսիդ: Այս թիվը չափազանց կարևոր է բոլոր նրանց համար, ովքեր ապրում են մոլորակների մակերևույթում: Մենք այժմ շրջապատված ենք կա՛մ այս մտահոգությունը ժխտողներով, կա՛մ նրանցով, ովքեր կծկում են իրենց
Կատարեք հսկա LED նշան: (24x8 մատրիցա) ՝ 11 քայլ (նկարներով)
![Կատարեք հսկա LED նշան: (24x8 մատրիցա) ՝ 11 քայլ (նկարներով) Կատարեք հսկա LED նշան: (24x8 մատրիցա) ՝ 11 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-2857-24-j.webp)
Կատարեք հսկա LED նշան: (24x8 մատրիցա). ԹԱՐՄԱՆԵԼ !! Սխեման ԱՆLINՆՈՄ Է: ԹԱՐՄԱՆԵԼ 2 !! Կոդն ՕՆԼԱՅՆ է: Այս նախագիծը մանրամասնում է 24x8 մատրիցայի իմ բավականին արագ կառուցումը: Այս նախագծի իմ ոգեշնչումը ստացվեց Syst3mX- ի 24x6 մատրիցից: 24x6 մատրիցան հսկայական էր, բայց այն ինձ համար չափազանց փոքր էր, քանի որ ոչ