Բովանդակություն:
- Պարագաներ
- Քայլ 1: Գաղափար
- Քայլ 2: Արգելափակել դիագրամը
- Քայլ 3: Programրագրավորում
- Քայլ 4. Սխեմատիկ և զոդում
- Քայլ 5: Android հավելված
Video: IoT Moon Lamp: 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս ուսանելիում ես ցույց եմ տալիս, թե ինչպես մարտկոցով աշխատող պարզ LED լամպը փոխակերպել IoT սարքի:
Այս նախագիծը ներառում է.
- զոդում;
- ծրագրավորում ESP8266 Arduino IDE- ով;
- Android հավելվածի պատրաստում MIT App Inventor- ի հետ:
Հետաքրքրության առարկան լուսնի տեսքով լամպն է, որը ես գնել եմ gearbest- ից: Բայց իսկապես այս ձեռնարկը կարող է հարմարեցվել ցածր DC լարման ցանկացած սարքի (AC սնուցվող սարքերը պահանջում են լրացուցիչ միացում):
Պարագաներ
- Android սմարթֆոն (android տարբերակները 7-9 փորձարկված են):
- Sոդման գործիքներ:
- PCB- ի նախատիպավորում (նախատախտակ):
- ESP-12E տախտակ (կամ այլ տախտակ ESP8266 միկրոկոնտրոլերով):
- USB- սերիալային փոխարկիչ `ծրագրավորման համար:
- Պասիվ բաղադրիչների մի քանի տարբեր արժեքներ (ռեզիստորներ և կոնդենսատորներ):
(Լրացուցիչ. Տես «Արգելափակման դիագրամ» բաժինը)
- 3.3V@500mA LDO IC:
- 3.3V-5V տրամաբանական մակարդակի փոխարկիչ տախտակ:
- 5V DC սնուցման աղբյուր:
Քայլ 1: Գաղափար
Լուսնի լամպը սնուցվում է մեկ Li-ION 18650 բջիջով և ունի աշխատանքի երեք ռեժիմ.
- անջատված;
- ձեռնարկ;
- մեքենա
Ձեռքով ռեժիմում լամպը կառավարվում է սեղմման կոճակով, յուրաքանչյուր սեղմում փոխվում է LED լուսավորության վիճակը (կապույտը միացված է, նարնջագույնը ՝ միացված, անջատված), լույսի ինտենսիվությունը փոխվում է սեղմել կոճակը սեղմելիս: Ավտոմատ ռեժիմում LED լույսի վիճակները փոխվում են ՝ ինքնին լամպը սեղմելով կամ թափահարելով:
Ես որոշեցի ավելացնել ESP8266- ը ՝ հանդես գալու որպես վեբ սերվեր, որը լսում է հարցումները և համապատասխանաբար նմանակում կոճակների սեղմումները: Ես չէի ուզում կոտրել լամպի սկզբնական գործառույթը, պարզապես ուզում էի WiFi- ի վրա ավելացնել լրացուցիչ կառավարման հնարավորություններ, ուստի ես ընտրեցի ESP- ը `կոճակները սեղմելը մոդելավորելու համար` LED- ների ուղղակի վերահսկման փոխարեն: Նաև դա թույլ տվեց նվազագույն փոխազդել սկզբնական սխեմաների հետ:
Նախատիպի պատրաստումից հետո այն մարտկոցից անընդհատ անջատված վիճակում քշեց m 80 մԱ (full 400 մԱ ՝ ամբողջ պայծառությամբ): Սպասման հոսանքը բարձր է, քանի որ ESP8266- ը աշխատում է որպես սերվեր և միշտ միացված է WiFi- ին և լսում է հարցումները: Մարտկոցը սպառվել է մեկուկես օր հետո միայն անջատված վիճակում, ուստի ավելի ուշ որոշեցի օգտագործել լամպերի USB լիցքավորման պորտը ՝ բոլոր էլեկտրոնիկան սնուցելու արտաքին 5 Վ էլեկտրամատակարարումից և մարտկոցը միասին անջատելու համար (բայց սա պարտադիր չէ):
Քայլ 2: Արգելափակել դիագրամը
Բլոկ -դիագրամում կարող եք տեսնել, թե ինչ սխեմաներ կավելացվեն և ինչպես կփոխվեն առկա սխեմաները: Իմ դեպքում ես ամբողջությամբ հանեցի մարտկոցը և կարճացրեցի մարտկոցների լիցքավորիչների IC մուտքը ելքով (կրկին, սա պարտադիր չէ): Դիագրամում թափանցիկ բլոկները ցույց են տալիս բաղադրիչները, որոնք շրջանցված են (չնայած սեղմման կոճակը դեռ աշխատում է ինչպես նախատեսված էր սկզբնապես):
Փաստաթղթերի համաձայն, ESP8266- ը հանդուրժում է ընդամենը 3.3 Վ, սակայն կան բազմաթիվ օրինակներ, երբ ESP8266- ը միանգամայն լավ է աշխատում 5 Վ -ով, այնպես որ տրամաբանական մակարդակի փոխարկիչը և 3.3 Վ LDO- ն կարող են դուրս մնալ, սակայն ես մնացի լավագույն փորձին և ավելացրի այդ բաղադրիչները:
Ես օգտագործել եմ 3 ESP8266 I/O կապում և ADC կապում: Մեկ թվային ելքային քորոցը կոճակները սեղմելը մոդելավորելու համար է, երկու թվային մուտքը `պարզելու համար, թե ինչ գույնի են LED- ները (այստեղից մենք կարող ենք պարզել, թե որ վիճակում է գտնվում MCU- ն և որն է հաջորդը կոճակի սեղմումից հետո): ADC քորոցը չափում է մուտքային լարումը (լարման բաժանարարի միջոցով), այդպես մենք կարող ենք վերահսկել մարտկոցի լիցքավորման մնացած մակարդակը:
Որպես արտաքին սնուցման աղբյուր ես օգտագործում եմ հին հեռախոսի լիցքավորիչ 5V@1A (մի օգտագործեք արագ լիցքավորիչներ):
Քայլ 3: Programրագրավորում
Մի խոսքով, ծրագիրն աշխատում է այսպես (լրացուցիչ տեղեկությունների համար տե՛ս կոդը):
ESP8266- ը միանում է ձեր WiFi մուտքի կետին, որի հավատարմագրերը պետք է մուտքագրեք նախնական ծրագրավորման կոդի սկզբում, այն ստանում է ձեր DHCP սերվերի երթուղիչների IP հասցեն, IP- ն գտնելու համար, որն ավելի ուշ ձեզ անհրաժեշտ կլինի, կարող եք ստուգել երթուղիչների վեբ ինտերֆեյսի DHCP կարգավորումները կամ սահմանել դրոշը կարգաբերելը 1 -ում և կտեսնեք, թե ինչ IP ESP է ստացել սերիական մոնիտորում (դուք պետք է այդ IP- ն ամրագրեք ձեր երթուղիչների կարգավորումներում, որպեսզի ESP- ը միշտ բեռնման ժամանակ ստանա նույն IP- ն):
MCU- ն նախաստորագրվելիս միշտ հավերժ կատարում է նույն ռեժիմը.
- Ստուգեք, արդյոք այն դեռ միացված է AP- ին, եթե ոչ, փորձեք նորից միանալ մինչև հաջողությունը:
-
Սպասեք, որ հաճախորդը HTTP հարցում կատարի: Երբ հարցումը տեղի է ունենում.
- Ստուգեք մուտքի լարումը:
- Ստուգեք, թե որ վիճակում են LED- ները:
- Համապատասխանեցրեք HTTP հարցումը հայտնի LED վիճակների հետ (կապույտ միացված, նարնջագույն միացված, երկուսն էլ միացված, անջատված):
- Պահանջվող վիճակին հասնելու համար մոդելավորեք այնքան կոճակների սեղմումներ, որքան անհրաժեշտ է:
Ես հակիրճ կներկայացնեմ ծրագրավորման հրահանգները, եթե դա ձեր առաջին անգամն է, երբ ESP8266 MCU ծրագրավորումը ավելի խորքային հրահանգներ է փնտրում:
Ձեզ հարկավոր կլինի Arduino IDE և USB- սերիական ինտերֆեյսի փոխարկիչ (օրինակ ՝ FT232RL): IDE պատրաստելու համար հետևեք այս հրահանգներին:
Followրագրավորման համար ESP-12E մոդուլը միացնելու համար հետևեք սխեմայի սխեմային: Որոշ խորհուրդներ.
- օգտագործել արտաքին 3.3V@500mA սնուցման աղբյուր (շատ դեպքերում USB- սերիական սնուցման աղբյուրը բավարար չէ);
- ստուգեք, արդյոք ձեր USB- սերիալային փոխարկիչը համատեղելի է տրամաբանական մակարդակի 3.3 Վ;
- ստուգեք, արդյոք USB- սերիալային փոխարկիչի վարորդները հաջողությամբ տեղադրված են (windows սարքի կառավարիչից), ինչպես նաև կարող եք ստուգել ՝ արդյոք այն ճիշտ է աշխատում IDE- ից, ընդամենը կարճ RX և TX կապումներից, քան IDE- ից ընտրել COM պորտը, բացել սերիական մոնիտորը և գրել ինչ-որ բան, եթե ամեն ինչ աշխատում է: դուք պետք է տեսնեք տեքստը, որն ուղարկում եք ՝ հայտնվելով վահանակում.
- ինչ-ինչ պատճառներով ես կարողացա ծրագրավորել ESP միայն այն ժամանակ, երբ ես առաջին անգամ միացրեցի USB- սերիալային փոխարկիչը համակարգչին, այնուհետև ESP- ը միացրեցի արտաքին 3.3V աղբյուրից;
- Հաջող ծրագրավորումից հետո մի մոռացեք հաջորդ բեռնման ժամանակ բարձր GPIO0 քաշել:
Քայլ 4. Սխեմատիկ և զոդում
Հետևեք սխեմային ՝ բոլոր բաղադրիչները միացնելու համար նախատախտակին: Ինչպես արդեն նշվեց, որոշ բաղադրիչներ պարտադիր չեն: Ես օգտագործել եմ KA78M33 3.3V LDO IC- ն և տրամաբանական մակարդակի փոխարկիչ տախտակը sparkfun- ից, այլապես, ինքներդ կարող եք փոխարկիչ կատարել, ինչպես ցույց է տրված սխեմատիկայում (BSS138- ի փոխարեն կարող եք օգտագործել ցանկացած N-channel mosfet): Այն դեպքում, եթե դուք չշարունակեք օգտագործել Li-ION մարտկոցը, +5V հոսանքի ցանցը մարտկոցի դրական տերմինալ կլինի: ESP8266 ADC հղման լարումը 1 Վ է, իմ ընտրած դիմադրության բաժանարարի արժեքները թույլ են տալիս չափել մուտքային լարումը մինչև 5.7 Վ:
Սկզբնական լամպի PCB- ին պետք է լինի 5 միացում ` +5V (կամ +մարտկոց), GND, սեղմիչ կոճակ, կապույտ և նարնջագույն LED- ները վերահսկելու համար լամպերի MCU- ից PWM ազդանշաններ: Եթե լամպը միացնում եք 5 Վ աղբյուրից, ինչպես ես արեցի, ապա կցանկանաք կարճացնել V VCC կապի մարտկոցի լիցքավորիչները OUTPUT պինով, այդպիսով ամբողջ էլեկտրոնիկան կաշխատվի անմիջապես +5 Վ -ից, այլ ոչ թե մարտկոցի լիցքավորիչից Ելք:
Հետևեք երկրորդ պատկերին `բոլոր զոդման կետերի համար, որոնք ձեզ հարկավոր է պատրաստել PCB լամպերի վրա:
ՆՇՈՄՆԵՐ.
- Եթե որոշեցիք կարճացնել +5V մարտկոցի լիցքավորիչի IC ելքով, դա անելուց առաջ ամբողջությամբ հանեք մարտկոցը, չեք ցանկանում +5V- ը միացնել անմիջապես մարտկոցին:
- Ուշադրություն դարձրեք, թե որ կոճակի քորոցով եք կպցնում ESP ելքը, քանի որ կոճակի 2 կապում միացված է գետնին, և դուք չեք ցանկանում կարճ միացում, երբ ESP ելքը բարձրանում է բարձր, ավելի լավ է կրկնակի ստուգեք բազմաչափով:
Քայլ 5: Android հավելված
Android հավելվածը պատրաստվել է MIT ծրագրի գյուտարարի միջոցով, ծրագիր ներբեռնելու և (կամ) նախագիծը ինքներդ ձեզ համար ներբեռնելու համար անցեք այս հղումով (այն մուտք գործելու համար ձեզ անհրաժեշտ կլինի Google հաշիվ):
Առաջին գործարկման ժամանակ դուք պետք է բացեք կարգավորումները և մուտքագրեք ձեր ESP8266 IP հասցեն: Այս IP- ն կպահվի, այնպես որ ծրագրի վերագործարկումից հետո նորից մուտքագրելու կարիք չկա:
Testedրագիրը փորձարկվել է մի քանի android 9 և android 7 սարքերով:
Խորհուրդ ենք տալիս:
Clappy: The Clap Controlled Lamp: 4 քայլ
Clappy: The Clap Controlled Lamp: Հիմնականը ծածկագիրն է, այն օգտագործում է բուլյան: Երբ մենք ծափահարում ենք, ձայնային տվիչը ուղարկում է Բարձր ազդանշան և դա մեր ռելեի կարգավիճակը դարձնում է orիշտ կամ Սխալ
Smart Walkway Lighting System- Team Sailor Moon: 12 քայլ
Smart Walkway Lighting System- Team Sailor Moon: Hi! Սա Գրեյս Ռին, Սրիյեշ Կոնականչին և Խուան Լանդին են, և մենք միասին Team Sailor Moon- ն ենք: Այսօր մենք ձեզ կներկայացնենք երկու մասից բաղկացած DIY նախագիծ, որը կարող եք իրականացնել հենց ձեր տանը: Մեր վերջնական խելացի ճանապարհների լուսավորման համակարգը ներառում է մի փոքր
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
The Spiral Lamp (a.k.a. Loxodrome Desk Lamp). 12 քայլ (նկարներով)
The Spiral Lamp (a.k.a Loxodrome Desk Lamp). The Spiral Lamp (a.k.a The Loxodrome Desk Lamp) նախագիծ է, որը ես սկսել եմ 2015 թվականին: Այն ոգեշնչվել է Պոլ Նիլանդերի Loxodrome Sconce- ից: Իմ սկզբնական գաղափարը շարժիչով աշխատասեղանի լամպի համար էր, որը կպատկերացներ պատի վրա հոսող լույսի պտույտներ: Ես նախագծել եմ և
Tiny Moon Tide Clock: 5 քայլ (նկարներով)
Tiny Moon Tide Clock: Սա նախագիծ է, որն իրականացվում է Ալյասկայի SeaLife կենտրոնի հետ: Նրանք հետաքրքրված էին ծովի հետ կապված նախագծով, որը կներգրավեր իրենց ուսանողներին էլեկտրոնային շինարարության և օվկիանոսի միջավայրի մոնիթորինգի մեջ: Դիզայնի կառուցումը համեմատաբար էժան է