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

UCL-lloT-Outdoor-light Գործարկվում է արևածագ/մայրամուտ. 6 քայլ
UCL-lloT-Outdoor-light Գործարկվում է արևածագ/մայրամուտ. 6 քայլ

Video: UCL-lloT-Outdoor-light Գործարկվում է արևածագ/մայրամուտ. 6 քայլ

Video: UCL-lloT-Outdoor-light Գործարկվում է արևածագ/մայրամուտ. 6 քայլ
Video: Kevin rates three of UCL’s most popular study spots 2024, Հուլիսի
Anonim
UCL-lloT-Outdoor-light Գործարկվել է Արևածագի/մայրամուտի կողմից
UCL-lloT-Outdoor-light Գործարկվել է Արևածագի/մայրամուտի կողմից

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

Քայլ 1: IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի:

IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի
IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի
IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի
IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի
IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի
IO ցուցակ և այն, ինչ ձեզ հարկավոր կլինի

Arduino MEGA 2560. Դա այն է, ինչ ես օգտագործել եմ առնվազն, ես գիտեմ, որ դուք կարող եք հեշտությամբ օգտագործել մեկ ուրիշը:

DS3231 և դրա գրադարանը: (https://rinkydinkelectronics.com/library.php?id=73… Կարևոր է իմանալ, որ SDA- ի և SCL- ի համար ամրագրված կապերը տարբեր են `կախված նրանից, թե որ Arduino- ն եք օգտագործում:

I052116 IR ինֆրակարմիր շարժման դետեկտորի սենսորային մոդուլ: Այս մոդուլը կարող է փոխանակվել ձեր ընտրած սենսորի հետ, այն ազնվորեն ընտրովի է ամբողջի համար:

Քայլ 2: Flowchart

Flowchart
Flowchart

Ինչպես երեւում է պարզ հոսքագծում, ծանր բեռների մեծ մասը գտնվում է Node-Red- ում: Համեմատաբար պարզ հանգույցներով գաղափարն այն է, որ Node-Red- ից դուք կհասնեք մի կայքի, որը գիտի, թե ժամը քանիսն է մայր մտնում և ծագում: Այն ունենալուց հետո այն տեղեկատվությունը կուղարկի Arduino- ին ՝ ասելով. Arduino- ից մենք կստանանք ազդանշան, որը ցույց է տալիս, թե երբ է իրականում լույսերը միացված, այնպես որ դուք կարող եք տնից ստուգել, երբ լույսերը այրվում են: Նաև Arduino- ից մենք տեղեկություն կստանանք, որ հարևանության սենսորը ակտիվացված է, որի լույսը միացված է x ժամանակով:

Քայլ 3: Սառեցում:

Փրփրացող
Փրփրացող

Այլ նախագծերի համեմատ, մալուխը այստեղ բավականին պարզ է: Այն, ինչ դուք պետք է տեղյակ լինեք, այն է, որ ձեզ անհրաժեշտ կլինի WIFI մոդուլ ՝ Node-Red սերվերի հետ կապ պահելու համար, կամ ձեռք բերեք նետող համակարգիչ ՝ Arduino- ին միացված Node-Red սերվերը հյուրընկալելու համար: Նկարում պատկերված չէ Arduino- ի և Laptop- ի միջև կապը, և ես նախապես ներողություն եմ խնդրում աղքատ Fritzing նկարի համար:

Քայլ 4: Կոդավորում:

Կոդավորում
Կոդավորում
Կոդավորում
Կոդավորում

Եթե մի բան գտա, այն է, որ Firmata- ով (Arduino- ի հետ Node-Red- ի հետ կապի համար), DS3231 գրադարանը և ավելին, շատ բեռնված գրադարաններ կային: Հրապարակման պահից կոդավորումը դեռևս ավարտված չէ, ուստի կեղծ-ծածկագիրը ներառված է:

DS3231- ից գրադարանում ներառված են Arduino տախտակներից յուրաքանչյուրի համար նախապես տեղադրված քորոցներ, իսկ Mega- ի դեպքում դա 20 և 21 կապում են, քանի որ դրանք մեգայի SDA և SCL կապերն են: Միացնելուց հետո ժամացույցը կարող է ճշգրիտ ասել, թե որ օրն է, և ինչ պետք է հետևի: Այն, ինչ ես գտա, որ ավելի հեշտ է աշխատել, երբ խոսքը վերաբերում է թվերին հետևելուն, տողի փոխարեն int- ի օգտագործումն է: Այսպիսով, այն, ինչ ես արել եմ, այն է, որ տողի թվերը վերածում եմ int- ի, բայց քանի որ int- ը չի կարող օգտագործել. Ժամացույցը առանձնացնելու համար ես որոշեցի այլ բան անել: hoursամերով աշխատելու փոխարեն, մենք կաշխատենք րոպեներով: Շատ րոպեներ: Եթե ժամացույցը, օրինակ, 13:21 է, ես կունենամ առաջին երկու թվանշանները առանձնացված և ժամանակաչափ վաթսունով: Մենք այժմ գտնվում ենք 801 րոպեի վրա, քանի որ 13 անգամ 60 -ը հավասար է 780 -ի, իսկ դուք ավելացնում եք վերջին 21 րոպեն: Եթե մեր Node-Red- ն ասում է, որ արևը մայր է մտնում 16:58 (ձմռան դեպքում), մենք ստանում ենք բացօթյա լույսերը 1018 րոպեի և նախապես սահմանված անջատման ժամանակի միջև, որը կլինի 1380 (23:00): Եթե մեր ժամաչափը դրանց միջև է, լույսերը միանում են: Վերոնշյալ մաթեմատիկան հիմնականում ամբողջ ծրագիրն է ՝ առանց Node-Red- ին Arduino- ին միանալու և հաղորդակցվելու քայլերի: Նաև սենսոր ունենալը, որը համոզված է, որ լույսերը միանում են (ամեն դեպքում, արևածագ), բայց հակառակ դեպքում դա վերը նշված ամբողջ ծրագիրն է:

Քայլ 5: Հանգույց-կարմիր:

Հանգույց-կարմիր
Հանգույց-կարմիր
Հանգույց-կարմիր
Հանգույց-կարմիր
Հանգույց-կարմիր
Հանգույց-կարմիր
Հանգույց-կարմիր
Հանգույց-կարմիր

Հատկապես մեծ հոսք չէ, այլ ոչ թե այն պետք է լինի այս դեպքում: Հանգույցների առաջին 2 տողերը ծրագրի մեծ մասն են: Օգտագործելով GET ֆունկցիան, մենք վերցնում ենք այսօրվա կանխատեսումը, թե ինչպես է արևը ծագելու և մայր մտնելու: Այնտեղից մենք օգտագործում ենք CSS ընտրիչ ՝ մեր հատուկ տեղեկատվությունը առբերելու համար, որը սովորաբար հասանելի է Firefox- ի «Ստուգեք տարրերը» կայքերում, ինչպես նշված է նկարներում: Նկատի ունեցեք, որ ոչ բոլոր կայքերն են աշխատում այս կերպ, և այն, ինչ ես օգտագործում եմ, կատարյալ է աշխատում այս կերպ: Այնտեղից տեղեկատվություն կգրվի 13 -րդ կապում, որովհետև դա այն է, ինչ ես նշանակել եմ, չնայած փորձարկումը դեռ պետք է թելադրի, եթե մեկ քորոց տարբեր ժամանակների հասնելը գործունակ է: Ինչպես նկարագրված է կոդավորման մասում, տեղեկատվությունը Arduino- ից կգա Node-Red, որտեղ այն այնուհետև նշվում է հասանելի կայքէջում, որտեղ կարելի է հեշտությամբ ստուգել այն: Դրա համար ձեզ անհրաժեշտ կլինեն Firmata, եթե ցանկանում եք օգտագործել Arduino գործառույթները ձեռք բերված հանգույց-կարմիր-հանգույց-arduino գրադարանի միջոցով `Node-Red- ում: Թեև դեռ ամբողջությամբ կազմված չէ, և այն կթարմացվի, երբ ավարտեմ նախագիծը, հեշտ մուտք գործելու համար ես կցել եմ Node-Red Flow- ի ծածկագիրը տեքստային փաստաթղթում:

Քայլ 6: Տեղակայումը և օգտագործումը:

Տեղակայումը և օգտագործումը
Տեղակայումը և օգտագործումը

Եվ ավարտել մեր ուսուցանվողը, դրա գործնական մասն է: Քանի որ այս մակարդակի ավտոմատ լուսավորություն ունի մի քանի տուն, շատ տանտերերի համար ողջ տարվա լուծումը ողջունելի է: Իրականում սա էլեկտրական լամպերի հետ միացնելու համար, որը Arduino չէ, խորհուրդ չեմ տալիս դա անել ինքներդ ձեզ, եթե հստակ չգիտեք, թե ինչ եք անում: Theրագիրն ավարտվելուն պես, ես էլեկտրիկի օգնությամբ այս խնդիրը կվերցնեմ միայն վստահ լինելու համար: Լուսավորելով ձեր ճանապարհը սենսորով կամ խիստ ժամանակի առումով, խորհուրդ եմ տալիս կառուցել այն, ինչ ես արդեն արել եմ, եթե նշանակում է այն փաստացի օգտագործել այս փուլից դուրս, որն այժմ գտնվում է: troubleրագրի հետ կապված իմ դժվարությունների մեծ մասը խստորեն կապված էր Node-Red to Arduino հատվածի հետ, և հուսով եմ, որ ինձ հաջողվել է հնարավորինս պարզ բացատրել, թե ինչպես դա կատարվում է:

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