Բովանդակություն:

Lowածր պոլի երկաթե մարդ ՝ WiFi- ով կառավարվող LED շերտերով. 8 քայլ (նկարներով)
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով կառավարվող LED շերտերով. 8 քայլ (նկարներով)

Video: Lowածր պոլի երկաթե մարդ ՝ WiFi- ով կառավարվող LED շերտերով. 8 քայլ (նկարներով)

Video: Lowածր պոլի երկաթե մարդ ՝ WiFi- ով կառավարվող LED շերտերով. 8 քայլ (նկարներով)
Video: Բուժման ֆենոմենը - Վավերագրական ֆիլմ - Մաս 1 2024, Դեկտեմբեր
Anonim
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով
Lowածր պոլի երկաթե մարդ ՝ WiFi- ով վերահսկվող LED շերտերով

Այս ինտերակտիվ պատի արվեստի գործը մոտավորապես 39 "բարձրություն և 24" լայնություն ունի: Ես լազերային կտրեցի փայտը Կլեմսոնի համալսարանի Student Makerspace- ում, այնուհետև ձեռքով նկարեցի բոլոր եռանկյունները և տեղադրեցի դրա հետևի լույսերը: Այս խրատական ուղին կանցնի, թե ինչպես եմ ես պատրաստել այս ճշգրիտ կտորը, հուսով եմ, որ դրա հայեցակարգը կներշնչի մեկ ուրիշին `ստեղծելու իրենց յուրահատուկ արվեստի գործը: Այն օգտագործում է ESP8266 միկրոկոնտրոլեր ՝ հասցեավորվող WS2812B LED շերտի լույսերով և սովորական RGB LED շերտի լույսերով:

Մասեր և նյութեր

  • 1/4 "փայտ - 40" 28 "(Առավելագույն չափերը մեր լազերային դանակի համար)
  • 1/8 "անթափանց ակրիլ - TAPPlastics (ես օգտագործում եմ Lighting White, 69%)
  • Մարտկոցի փաթեթ - TalentCell 12V/5V մարտկոցի փաթեթ (ես օգտագործել եմ 12V/6000mAh փաթեթ)
  • RGB LED ժապավեն - 6 ֆտ (ստանդարտ 4 մետաղալար, 5050 տարբերակ, որտեղ RGB լույսը բոլորը մեկ մոդուլում է)
  • TIP122 տրանզիստոր `բազմաթիվ լույսերի PWM կառավարման համար
  • WS2812B LED ժապավեն - 2 ֆուտ (ես օգտագործել եմ տարբերակը 144 LED- ով մեկ մետրի համար)
  • ESP8266 NodeMCU միկրոկառավարիչ
  • Պինդ միջուկ 22 չափիչ միակցիչ մետաղալար (link1 - link2 - link3 - link4)
  • Մոտ 300 ՕՄ դիմադրիչներ
  • Ներկերի խոզանակներ
  • Ներկ - ես հիմնականում օգտագործել եմ Craft Premium ներկ: Մանրամասները նկարչության փուլում

Գործիքներ

  • Լազերային դանակի հասանելիություն (ես այն օգտագործել եմ Clemson- ում)
  • Oldոդման երկաթ
  • Տաք սոսինձ ատրճանակ (սա էական է)
  • Մետաղալարեր/մերկացուցիչներ
  • Adobe Illustrator
  • Համբերություն

Քայլ 1. Դիզայն Illustrator- ում

Դիզայն Illustrator- ում
Դիզայն Illustrator- ում
Դիզայն Illustrator- ում
Դիզայն Illustrator- ում

Աղբյուրի պատկերը Վիլյամ Թիլի նկարազարդումն է, խնդրում ենք նրա պորտֆելին դիտել նրա այլ հիանալի աշխատանքներ ՝ https://www.behance.net/tealeo93 (կարծում եմ, որ դա նրան է. GraphicDesignJunction, Behance)

Աղբյուրի պատկերը գտա Google- ում ՝ «Low-Poly Iron Man» կամ «Geometric Iron Man Wallpaper»: Ներբեռնեցի նկարը և բացեցի Adobe Illustrator- ում:

Հաջորդը, ես օգտագործեցի գրիչ գործիքը Illustrator- ում `ձեռքով գծելու պատկերի յուրաքանչյուր տող: Ես դա արեցի այնպես, որ լազերային դանակը կարողանա փորագրել բոլոր ներքին տողերը ՝ որպես վեկտորի կտրվածք, որը դրված է ցածր էներգիայի փոխարեն ՝ ամբողջ պատկերի վրա ռաստեր անելու փոխարեն: Մի քանի ժամ տևեց (հայտնի է դպրոցում մոտ 3 դասաժամ)

Երբ նկարն ամբողջությամբ ուրվագծվեց, ես խմբեցի այդ բոլոր տողերը միասին, այնուհետև գծեր կազմեցի ձեռքերի, կրծքավանդակի և աչքերի համար: Ես այս բոլորը մի խմբի մեջ դրեցի և դրանց լրացման գույնը դրեցի կապույտ, որպեսզի կարողանամ հեշտությամբ տարբերակել դրանք: Ես դրանք պատճենեցի առանձին ֆայլում `ակրիլային կտրվածքի համար:

Ակրիլային մասի համար ես ուզում էի առավելագույնի հասցնել իմ ակրիլային կտորի արդյունավետությունը, այնպես որ այն վերբեռնեցի այս վեբ կայք https://svgnest.com/ և վերբեռնեցի ֆայլ միայն ակրիլային կտրված կտորներով և թողեցի, որ այն «բույն դնի» մասերին: Սա օգտագործում է որոշ կրկնություններ և զվարճալի ալգորիթմներ `թերթի վրա ձեր մասերի ամենաարդյունավետ դասավորությունը որոշելու համար` թափոնները նվազագույնի հասցնելու համար: Այն թողարկում է IronManAcrylic.ai ֆայլի կոնֆիգուրացիան:

Քայլ 2: Լազերային կտրում

Image
Image

Փայտը կտրելուց առաջ ես այն ներկեցի այբբենարանով, այնուհետև թեթև հղկեցի, որպեսզի այն սկսի հարթ: Ես դա արեցի, որպեսզի ներկը հետագայում ավելի հավասար դուրս գա:

Երբ ես կտրեցի ուրվագիծը փայտի միջով, ես օգտագործեցի 100% հզորություն 6% արագություն (կարծում եմ) մեր 60W Epilog Fusion M2 40 -ի վրա Clemson Makerspace- ում: Դա աշխատեց դրա մեծ մասի համար, բայց փայտը շատ ծռված էր անկյունում, ուստի ես իրականում ստիպված եղա լազերային կենտրոնացումը դարձնել այդ անկյունի համար և նորից վազել կտրվածքի այդ հատվածը:

Քանի որ ես նաև գծեր էի գծում ներսի բոլոր եռանկյունների համար, ես կարողացա նաև օգտագործել վեկտորի կտրվածք ՝ այդ բոլոր տողերն արագորեն փորագրելու համար, ինչպես ցույց է տրված վերևի տեսանյութում: Սա զգալիորեն ավելի արագ էր, քան ֆայլը ռաստերային փորագրելու դեպքում: Կարծում եմ, որ ես օգտագործել եմ 70% արագություն և 50% հզորություն, բայց դուք պարզապես պետք է փորձարկեք:

1/8 դյույմանոց ակրիլը ես սկզբում կտրեցի 100% հզորությամբ և 8% արագությամբ, որը մի փոքր չափազանց հզոր էր և որոշ այրվածքներ թողեց չպաշտպանված ակրիլում, այնպես որ ես դա արեցի 14% արագությամբ և այն աշխատեց որպես հմայք:

Քայլ 3: Նկարչություն

Նկարչություն
Նկարչություն
Նկարչություն
Նկարչություն
Նկարչություն
Նկարչություն

Այսպիսով, Շատ. Նկարչություն. Ես կարծում եմ, որ դա մոտ 20 ժամ նկարչություն էր:

Եթե մտածում եք այսքան եռանկյունիով նախագիծ կատարելու մասին, խնդրում ենք ինքներդ մի նկարեք այն: Պարզապես վճարեք, որպեսզի պատկերը տպվի մետաղի կամ փայտի վրա, այնուհետև կտրեք այն, կամ տպեք այն այլ բանի վրա և կպցրեք այդ կտորը ամուր բանի վրա: Պարզապես մի ներկիր այն, եթե չես սիրում նկարել:

Ես օգտագործել եմ FrogTape նկարիչների ժապավենը `կտորի յուրաքանչյուր եռանկյունի ուրվագծելու համար, երբ նկարում էի սա: Սա ինձ տվեց շատ ավելի հետևողական արդյունքներ, քան յուրաքանչյուր եռանկյունի ձեռքով լրացնելու իմ վաղ փորձերը `առանց ժապավենի եզրերի:

FrogTape- ն տալիս է գծեր, որոնք շատ ավելի փխրուն են, քան սպիտակ կամ կապույտ նկարիչների ժապավենը: Ձեր ժամանակն ու ողջամտությունը լիովին արժե լրացուցիչ 2 դոլար/ժապավեն: Եթե ցանկանում եք, որ այն ավելի նիհար լինի, կարող եք ճշգրիտ դանակով ժապավենի վերին շերտերը կտրել նույնիսկ ավելի փոքր շերտերի, որպեսզի մեկ եռանկյունի ուրվագծելիս այն չփակի այնքան հարևան եռանկյունիներ:

Ես էժան եմ և նկարելու մեծ փորձ չունեմ, այնպես որ ես օգտագործեցի 2 ունց շիշ ներկ Մայքլի կամ Հոբբի լոբբիի ներկից: Ես պարզեցի, որ Craft Smart Premium շարքը բավականին լավ էր ծածկված, և ավարտվեց օգտագործելով CraftSmart Premium Metallic տոնական կարմիր ներկը ՝ սպիտակ կամ սևի հետ խառնված ՝ իմ կարմիր երանգների 95% -ը դարձնելու համար: Դեղինը պարզապես Craft Smart պրեմիում դեղինն էր, որի մեջ մի փոքր ոսկի էր նետվել ՝ փորձելով այն փոքր -ինչ փայլուն դարձնել:

Եթե գիտեք էժանագին ներկ, որն ավելի լավ է ծածկում, խնդրում եմ ինձ տեղյակ պահեք մեկնաբանություններում !! Ես հաճախ ստիպված էի երկու շերտ ներկ անել, որպեսզի ներքևի սպիտակներից ոչ մեկը չերևա, և ես շատ կուզենայի ունենալ ավելի գեղեցիկ ներկ, որը կխուսափեր դրանից:

Մի անգամ ամեն ինչ ներկված էր (բայց մինչ ակրիլային կտորները կպցնելը) ես օգտագործեցի փայլուն թափանցիկ վերարկու լակի `ներկը պաշտպանելու և այդ ամենը փայլուն դարձնելու համար:

Քայլ 4: Ակրիլային կտորներ և ակրիլային լուսարձակներ

Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ
Ակրիլային կտորներ և ակրիլային լուսարձակներ

Ակրիլային կտորները ամրացնելը մի փոքր դժվարություն էր, քանի որ իմ աշխատասեղանը/գրասեղանը և փայտի կտորը երկուսն էլ փոքր -ինչ խեղաթյուրված են, այնպես որ ոչ մի կերպ չեմ կարող երաշխավորել, որ ամեն ինչ բավականաչափ երկար կմնա իմ էպոքսիդին ամրանալու համար: Որպես լուծում, ես փայտը սեղմեցի սեղանին ՝ ակրիլային կտորի մոտ, որի մեջ սոսնձում էի, և սկզբում օգտագործեցի տաք սոսինձ ՝ յուրաքանչյուր ակրիլային կտորը տեղում պահելու համար: Տաք սոսինձը տեսանելի է ակրիլային առջևի մասից, այնպես որ ես այնուհետև օգտագործեցի Gorilla Glue երկու մասի էպոքսիդ, որը կիրառվել էր ատամի խոզանակով `ակրիլային կտորները մշտապես տեղում պահելու համար: Ես վերադարձա փոքր տափակաբերան աքցանով և դուրս հանեցի տաք սոսինձի օրիգինալ կտորները:

Ես պատրաստեցի առանձին լուսային մոդուլ յուրաքանչյուր ակրիլային կտորի համար: Սկզբում ես կտրեցի 1/4 սև փրփուրի տախտակ` անհրաժեշտից փոքր -ինչ ավելի մեծ չափի և դրա վրա գծեցի ակրիլային կտորի ուրվագիծ: Այնուհետև ես կտրեցի և կպցրեցի այդ կտորի LED շերտերը այնպես, որ հիմնականում ծածկում էր ակրիլը: տարածք:

Այս քայլը ավելի լավ կլիներ անել նախատիպի տախտակի և պտուտակավոր տերմինալների միջոցով, բայց ես չունեի դրանք ձեռքի տակ, երբ պատրաստ էի միացնել այն: Որպես լուծում, ես որոշ վերնագրերի կանացի ժապավեններ կտրեցի 4 մուտքագրման համար `Ground, 5V in, data in, data out: Ես տաք սոսնձեցի կանանց վերնագրի ժապավենը փրփուրի տախտակին և սկսեցի միասին միացնել բոլոր լույսերը:

Eringոդումն իրականում իսկապես դժվար էր, քանի որ այդ զոդման բարձիկները փոքր էին: Բարեբախտաբար, ես ունեի երկու հնարավորություն բոլոր հզորության և հողային բարձիկների համար, քանի որ յուրաքանչյուր ժապավեն կարող է սնուցվել երկու ծայրերում: Ես շերտերը շարեցի այնպես, որ տվյալների հաղորդալարը հոսեց օձաձև ձևով: Ես օգտագործում եմ կարգավորելի ջերմաստիճան ունեցող զոդիչ և պարզել եմ, որ ինձ դուր է գալիս, որ ջերմաստիճանը լինի կանաչ գույնի միջակայքի վերևում, հավանաբար այն ինձ դուր է գալիս տաք, քանի որ տարիներ շարունակ օգտագործած եռակցման երկաթը էժան էր և չուներ ջերմաստիճանի վերահսկիչ: և տաք վազեց:

Երբ ամեն ինչ սոսնձվեց, ես օգտագործեցի ճշգրիտ դանակ (թարմ սայրով) `փրփուրի տախտակի շերտերը կտրելու համար` լույսերը փակելու և արյունահոսությունը նվազեցնելու համար: Սևի փոխարեն ես օգտագործում էի սպիտակը, որովհետև դրա երկար շերտերն ունեի և իրականում դա լավ բան էր, որովհետև դա թույլ տվեց ինձ հեշտությամբ տեսնել հետևի կողմից, թե արդյոք LED շերտերի այդ հատվածը միացված էր այդ ամենը միացնելու փորձարկման ընթացքում:

Քայլ 5: Մնացած էլեկտրոնիկան

Մնացած էլեկտրոնիկան
Մնացած էլեկտրոնիկան
Մնացած էլեկտրոնիկան
Մնացած էլեկտրոնիկան
Մնացած էլեկտրոնիկան
Մնացած էլեկտրոնիկան

Ես միշտ փորձում եմ միացնել իմ նախագծերը ՝ նախ տեղադրելով հոսանքի մուտքերը, այնուհետև վերահսկիչը, այնուհետև տախտակի մյուս տարրերն ու ծայրամասային սարքերը: Ես տաք սոսնձեցի մարտկոցի տուփը տեղում, այնուհետև ուղղեցի պառակտված DC միակցիչի մալուխը, որպեսզի լիցքավորման մուտքը հեշտությամբ հասանելի լինի ծրագրի ծայրից `հեշտ լիցքավորման համար: Մարտկոցի տուփը եկավ պառակտված մալուխի հետ, և հրահանգները ասում էին, որ լավ է մարտկոցի լիցքը լիցքավորել այն օգտագործելիս:

Ես մարդակերեցի էժան միկրո- USB մալուխը և միկրո USB ծայրը փոխարինեցի DC տակառի խցիկով, որպեսզի կարողանայի օգտագործել 5 Վ մուտքը: Ես 5 վ դրեցի տախտակի մեկ լարման ռելսերի վրա և ESP8266 Vin քորոցի մեջ, այնուհետև հիմնավորեցի գետնաձողի մեջ և ESP8266- ի գրունտի քորոցը (բոլոր հիմքերը պետք է միացված լինեն ներքին կարգավարի մեջ, այնպես որ կարևոր չէ, թե որ մեկը)

Ստանդարտ RGB LED շերտերը վերահսկվում են վերահսկիչից PWM ազդանշանի միջոցով: Այնուամենայնիվ, միկրոկոնտրոլերները կարող են մատակարարել միայն 20 մԱ -50 մԱ հոսանք մեկ պին `կախված վերահսկիչից: LEDապավենի յուրաքանչյուր LED պահանջում է այդքան էներգիա, այնպես որ մենք պետք է ինչ -որ տրանզիստոր օգտագործենք ՝ շերտերը կառավարելու համար: Google- ի որոնումներում հայտնված մի քանի վայրեր առաջարկեցին TIP122 տրանզիստորը, որը կարող է միացնել 5 ամպեր կամ 40 Վտ հզորություն `ավելի քան բավարար մեր դիմումի համար: Նրանք իրականում նախագծված չեն հացաթխիկի մեջ տեղավորվելու համար, բայց եթե յուրաքանչյուր մետաղալար թեքեք 90 ° կողքով, ապա այն կհամապատասխանի տախտակի բացերին: Ի սկզբանե ես պլանավորում էի պտուտակել յուրաքանչյուրի վրա մի փոքր տաքացուցիչ, բայց որոշ փորձարկումներից հետո որոշեցի, որ դրանք այնքան չեն տաքանում, որ անհրաժեշտ լինի: Ես միացրել եմ յուրաքանչյուր տրանզիստորի մուտքագրում ESP8266- ի PIN- ի համար, որը նախատեսված է PWM ելքի համար

RGB LED շերտերը, որոնք պատահաբար ունեի «ջրակայուն» ռետինե ծածկույթով, և արդյունքում չէին կպչվի փայտին այնպես, ինչպես կցանկանայի: Որպես լուծում, ես կտրեցի փրփուրի տախտակի փոքր կտորներ և սոսնձեցի փրփուրի կտորը փայտին, այնուհետև LED շերտը սոսնձեցի դրանց վրա:

Քայլ 6: mingրագրավորման ակնարկ

Այս նախագիծը օգտագործում է տարբեր գրադարաններ, որպեսզի այն կառավարվի Blynk կոչվող հեռախոսի հավելվածից, միացվի/անջատվի Amazon Echo- ից, և ծածկագիրը կարող է թարմացվել Wi -Fi- ի միջոցով: Օգտագործված գրադարաններից մի քանիսը ներկայացված են ստորև

Բլինք -

Blynk- ը ծառայություն է, որը թույլ է տալիս պարզ վերահսկողություն իրականացնել ESP8266 միկրոկոնտրոլերի և անհատականացվող հեռախոսի ծրագրի միջև: Հեռախոսի ծրագիրը թույլ է տալիս ստեղծել ծրագիր ՝ կոճակներով, սահողներով, RGB գույնի ընտրիչներով և շատ ավելին: Յուրաքանչյուր «վիջեթ» փոխում է մի արժեք, որը կարող է հանվել Blynk հավելվածից, երբ կատարում եք որոշակի գործառույթ:

OTA (Օդային) թարմացում. Կանխադրված գրադարանը ներառված է ESP8266- ի հետ

Alexa Wemo Emulator-https://github.com/witnessmenow/esp8266-alexa-wemo…

Խաբում է Amazon Echo- ին ՝ մտածելով, որ ձեր նախագիծը Wemo լույսի անջատիչ է: Կոդը թույլ է տալիս սահմանել գործառույթ, որը գործարկվելու է, երբ Alexa- ն ուղարկում է «միացման» ազդանշանը և անջատման ազդանշանի առանձին գործառույթ: Դուք կարող եք ընդօրինակել բազմաթիվ սարքեր (մինչև 10) մեկ վերահսկիչով, ինչը թույլ է տալիս նույնիսկ ավելի ճկունություն: Իմ կոդը տեղադրված է այնպես, որ Echo- ն գտնի երկու սարք ՝ «Երկաթե մարդ» և «Գիշերային լույս» անուններով: Նրանք և՛ նախագիծ են, և՛ վերահսկիչ, բայց եթե միացնեմ «Գիշերային լույս» -ը, այն կաշխատի թույլ սպիտակ լույսերով, որտեղ «Երկաթե մարդը» միացնելը արտաքին LED շերտերը դնում է կարմիր, իսկ ակրիլային կտորները ՝ սպիտակ:.

Arduino- ի խմբագրում Visual Studio- ում `vMicro- ի միջոցով

Ես արդեն մի քանի ամիս է, ինչ Visual Studio- ում եմ աշխատում և սիրում եմ դրա ներկառուցված ինքնալրացման բոլոր գործիքները, ուստի որոշ որոնումներից հետո գտա, որ իրականում կարող եմ օգտագործել Visual Studio- ն սովորական Arduino IDE- ի փոխարեն: Համակարգչի մեկ vMicro լիցենզիան ուսանողների համար արժե 15 դոլար, ինչը, իմ կարծիքով, լիովին արժե, եթե մտադիր եք ավելի քան մի քանի ժամ հատկացնել Arduino կոդի ծրագրավորմանը:

FastLED vs Neopixel

Ես օգտագործում եմ FastLED- ն իմ նախագծերում պարզապես այն պատճառով, որ ես գտել եմ ավելի շատ գործառույթներ, որոնք արդեն պատրաստվել են դրա համար, և այս պահին ես այն օգտագործել եմ շատ նախագծեր, այնպես որ ես ունեմ բազմաթիվ կոդեր ՝ նորից օգտագործելու համար: Վստահ եմ, որ Neopixel գրադարանը նույնքան լավ կգործեր, եթե դրա վրա բավականաչափ աշխատեիք: Ես պլանավորում եմ տեղադրել իմ բոլոր սովորական գործառույթները GitHub- ում ՝ այլ մարդկանց օգտագործման համար, ես դեռ դեռ դրան չեմ ծանոթացել:

Քայլ 7: mingրագրավորման խորհուրդներ

Ընդհանուր կառուցվածքը

Ես իմ աշխատանքի վերահսկիչ ինժեներ եմ, և մենք հաճախ օգտագործում ենք ծրագրավորման այնպիսի ոճ, որը կոչվում է PLC ծրագրավորում: Այս տեսակը նման է Arduino- ին նրանով, որ ունի մի օղակ, որն անընդհատ անցնում է մի քանի միլիվայրկյանում և զբաղվում է մուտքերով/ելքերով ՝ ցատկելով կոդի տարբեր «վիճակների» միջև: Օրինակ, ծածկագիրը կարող է հարված հասցնել փոխակրիչին, որտեղ եթե փոխադրիչի վրա սկուտեղ կա, այն կանցնի 45 վիճակի, բայց եթե սկուտեղ չկա, այն կշարունակվի 100 -ով: mingրագրավորման այս ոճը ոգեշնչեց իմ կոդը, չնայած Ես որոշ փոփոխություններ կատարեցի, որպեսզի կարողանամ պարզապես պետական համարի փոխարեն տող կարդալ:

Ես օգտագործում եմ գլոբալ փոփոխական (commandString) ՝ հետևելու համար, թե որ լուսային վիճակում է գտնվում նախագիծը: Բացի այդ, ես օգտագործում եմ «կենդանացնել» կոչվող բուլյան, որը նույնպես որոշում է, թե արդյոք այն դուրս կգա գործառույթից, թե ոչ: Երբ Blynk- ի «Դասական ռեժիմ» կոճակը սեղմելիս, իմ կոդը կդարձնի կենդանու կեղծը (այնպես, որ այն դուրս գա ընթացիկ գործառույթից) և հրամանի լարումը սահմանի «RunClassic»: Յուրաքանչյուր գործառույթ անընդհատ ստուգում է Blynk- ից, Alexa- ից և OTAUpdate- ից մուտքագրումը `գործարկելով« CheckInput »գործառույթը:

Գլոբալ փոփոխականներ

Ես օգտագործում եմ գլոբալ փոփոխականներ ՝ իմ նախագծի որոշ կարգավորումներ հետևելու համար: Այս փոփոխականները նախաստորագրվում են նախքան իմ տեղադրման կոդը, ինչը դրանք հասանելի է դարձնում իմ ծածկագրի ցանկացած գործառույթի համար:

  • գլոբալ պայծառություն (0-255)
  • globalSpeed - ցանկացած անիմացիոն գործառույթի անիմացիոն արագություն: Այս նախագիծը պարզապես մարում է ծիածաններ
  • globalDelayTime - Յուրաքանչյուր LED- ի համար տեղեկատվություն գրելու համար FastLED- ին անհրաժեշտ է մոտ 30 միկրո վայրկյան, այնպես որ ես այս փոփոխականը սահմանեցի NUM_LEDS * 30 /1000 + 1; ապա ավելացրեք ուշացում (globalDelayTime) շատ անգամներ, երբ ես անում եմ FastLED.show (), որպեսզի հրամանը չընդհատվի:
  • _r, _g, _b - գլոբալ RGB արժեքներ: Այդ կերպ տարբեր գունային սխեմաների կոճակները կարող են պարզապես փոխել գլոբալ r/g/b արժեքները և վերջում բոլորը նույն գործառույթը կանչել

Arduino OTA- ի թարմացումների վերահսկիչի անվանում

Ինձ տևեց տանջալից որոնում, մինչև չհասկացա, թե ինչպես կարելի է անվանել վերահսկիչ ՝ օգտագործելով օդային թարմացման գործառույթը: Բառացիորեն պարզապես ներառեք այս տողը ձեր կոդի կարգաբերման բաժնում, նախքան «ArduinoOTA.onStart (» - ը)

ArduinoOTA.setHostname («Երկաթե մարդ»);

vMicro ՝ Visual Studio- ի խորհուրդներով

Երբեմն վիզուալ ստուդիան որոշ խնդիրներ կբացահայտի ստանդարտ C ++ ֆայլերի նման խորքային ֆայլերի հետ և որոշ սխալներ կթողնի: Փորձեք միացնել/անջատել տարբեր տիպի սխալների հաղորդագրություններ, մինչև պարզապես բաց նախագծի հետ կապված սխալներ չլինեն, այլ ոչ թե օժանդակ ֆայլեր: Կարող եք նաև բացել կոդը Arduino IDE- ում և տեսնել, արդյոք այն կկազմվի՞ այնտեղ, թե՞ ավելի օգտակար սխալի կոդ կտա:

FastLED

Ուղարկեք ինձ հաղորդագրություն, եթե այս Instructable- ն արդեն մի քանի շաբաթից ավել է, և ես դեռ չգիտեմ, թե ինչպես տեղադրել իմ հատուկ գործառույթները GitHub- ում:

FastLED- ը թվարկված է որպես ESP8266- ի հետ համատեղելի, սակայն քորոց սահմանումները կարող են ճիշտ չլինել: FastLED- ի փաստաթղթերում ասվում է, որ նախքան #ներառելը կարող եք փորձել ներառել հետևյալ տողերից մեկը

  • //#սահմանել FASTLED_ESP8266_RAW_PIN_ORDER
  • //#սահմանել FASTLED_ESP8266_NODEMCU_PIN_ORDER
  • //#սահմանել FASTLED_ESP8266_D1_PIN_ORDER

Այնուամենայնիվ, ես փորձեցի և՛ երեքը, և՛ երբեք իմ բոլոր քորոցները չհամապատասխանեցին: Ներկայումս ես օգտագործում եմ վերջին տողը և պարզապես ընդունեցի, որ երբ FastLED- ին ասում եմ օգտագործել D2 կապը, այն իրականում օգտագործում է իմ վերահսկիչի D4 կապը:

Թեև իմ լույսերը պարզապես Neopixels- ի չինական էժան թակոցն են, ես, այնուամենայնիվ, FastLED- ին ասում եմ, որ դրանք կարգաբերել որպես Neopixels

  • FastLED.addLeds (լուսարձակներ, NUM_LEDS);
  • FastLED.setCorrect (TypicalLEDStrip);
  • //FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); // Օգտակար մարտկոցով աշխատող նախագծերի համար
  • FastLED.setBrightness (globalBright);

Քայլ 8: Վերջնական արտադրանք

Վերջնական արտադրանք
Վերջնական արտադրանք
Վերջնական արտադրանք
Վերջնական արտադրանք
Վերջնական արտադրանք
Վերջնական արտադրանք

Տա-դա!

Ազատորեն մեկնաբանեք կամ էլփոստով ինձ հարցեր տվեք. Ես սիրում եմ այս իրերը և կցանկանայի օգնել այլ մարդկանց հիանալի նախագծեր կատարել: Ստուգեք իմ կայքը որոշ այլ նախագծերի համար, որոնք ես արել եմ և իմ որոշ լուսանկարներ ՝ www.jacobathompson.com

Խորհուրդ ենք տալիս: