Կատարեք ինքներդ շարժման ցուցիչ Arduino-ում: Խելացի տուն՝ հիմնված Arduino համակարգի վրա. դժվա՞ր է դա անել ինքներդ Տնական սենսորներ arduino-ի համար

Այս նախագծի գաղափարը ծագեց և գրավեց ինձ արձակուրդիս ժամանակ։

Մտքը մոտավորապես այսպիսին էր. «Հիասքանչ կլիներ ունենալ ռոբոտի թեւ, որը կարող է կառավարվել իմ ձեռքով»: Եվ որոշ ժամանակ անց ես ձեռնամուխ եղա այս նախագծի մշակմանն ու իրականացմանը։ Հուսով եմ, որ դուք վայելեք:

Ծրագրի հիմնական բաղադրիչներն են ձեռնոցը և բուն ռոբոտային թեւը: Arduino-ն օգտագործվել է որպես վերահսկիչ։ Ռոբոտ ձեռքի շարժումն ապահովում են սերվոմարատորները։ Ձեռնոցը հագեցած է ճկման սենսորներով՝ փոփոխական դիմադրություններ, որոնք փոխում են իրենց դիմադրությունը ճկման նկատմամբ: Նրանք միացված են լարման բաժանարարի և ամրագրված դիմադրիչների մի կողմին: Arduino-ն կարդում է լարման փոփոխությունը, երբ սենսորները թեքվում են, և ազդանշան է ուղարկում սերվո շարժիչներին, որոնք պտտվում են համաչափ: Աշխատանքային նախագծի տեսանյութը՝ ստորև։

Թևի դիզայնը վերցված է բաց կոդով InMoov նախագծից: Ծրագրի էջում կարող եք ներբեռնել բոլոր հանգույցների 3D մոդելները և տպել դրանք 3D տպիչի վրա:

Ստորև ներկայացված են ձեր սեփական ձեռնոցներով կառավարվող ռոբոտ ձեռքը գործադրելու բոլոր քայլերը:

Անհրաժեշտ նյութեր

Նախագծի համար ձեզ հարկավոր է.

Բոլորը! Դուք կարող եք սկսել ձեր ռոբոտ ձեռքի նախագիծը:

Ձեռքի տպում

Ձեռքը բաց կոդով նախագծի մի մասն է, որը կոչվում է InMoov: Սա ռոբոտ է, որը տպագրվում է 3-D տպիչի վրա։ Ձեռքը ընդհանուր դիզայնի միայն առանձին միավոր է: Ներբեռնեք այս էջից և տպեք հետևյալ մանրամասները.

Auriculaire3.stl

WristsmallV3.stl

Ամեն դեպքում, ես կցում եմ մասերի կտտացող ցանկը, քանի որ դրանցից մի քանիսը հեռացվել են նախագծի գլխավոր էջից։

RobCableFrontV1.stl

RobRingV3.stl (ես պետք է լրացուցիչ անցքեր անեի այս մասում, որպեսզի տեղավորեի իմ սերվոները)

RobCableBackV2.stl

RobServoBedV4.stl

(Սրանք երկու «պատյան» մասեր են. դրանք անհրաժեշտ չեն կառուցվածքային կոշտության և դրա գործունակության առումով)


Ընդհանուր առմամբ տպագրության համար պահանջվել է մոտ 13-15 ժամ։ Կախված տպագրության որակից։ Ես օգտագործել եմ MakerBot Replicator 2X-ը: Ես խորհուրդ եմ տալիս տպել մատների մանրամասները ստանդարտ կամ բարձր լուծաչափով` դիզայնի մեջ անցանկալի շփումից խուսափելու համար:


Ճկման սենսորների միացում Arduino-ին

Ճկման տվիչները Arduino-ին միացնելու համար մենք պետք է միացումում ներառենք լարման բաժանարար: Ճկման սենսորները հիմնականում են փոփոխական դիմադրություն. Ֆիքսված ռեզիստորի հետ համատեղ օգտագործման դեպքում կարելի է վերահսկել երկու ռեզիստորների միջև լարման տարբերությունը: Դուք կարող եք հետևել տարբերությունին՝ օգտագործելով Arduino անալոգային կապում: Միացման դիագրամը ներկայացված է ստորև (կարմիր միակցիչը լարման է, սևը հող է, կապույտը ինքնին ազդանշանի միակցիչն է, որը միացված է Arduino անալոգային մուտքին):


Լուսանկարում պատկերված ռեզիստորները ունեն 22 կՕմ գնահատական: Լարերի գույները համապատասխանում են միացման սխեմայում ներկայացված գույներին:

Սենսորներից բոլոր GND կապերը միացված են ընդհանուր հողին: Հողը գնում է դեպի Arduino-ի GND փին: Arduino-ում +5V-ը միացված է բոլոր սենսորների ընդհանուր հոսանքի կապին: Յուրաքանչյուր կապույտ ազդանշանի միակցիչ միանում է միկրոկոնտրոլերի առանձին անալոգային մուտքին:




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




Ձեռնոցի վրա սենսորների տեղադրում

Մենք կարող ենք սկսել սենսորները և մեր տպատախտակը տեղադրել հենց ձեռնոցի վրա: Նախ, սենսորների պլաստիկի վրա մի փոքր անցք փորեք: Անցքեր են փորվում այն ​​վայրերում, որտեղ զգացող տարրն ավարտվել է: ԿԱՐԵՎՈՐ! Երբեք անցք մի փորեք զգայուն նյութի վրա: Ապա հագեք ձեռնոց: Յուրաքանչյուր հոդի վերին մասում մատիտով կամ գրիչով նշաններ արեք: Դուք կօգտագործեք այս վայրերը սենսորները տեղադրելու համար: Կռում սենսորները կցվում են սովորական թելով: Սենսորները կարեք ձեռնոցին: Օգտագործեք անցքը, որը դուք արել եք սենսորի ծայրերում: Այն վայրերում, որտեղ հոդերը նշված են, սենսորները «բռնվում» են վերեւում գտնվող թելով: Այս ամենն ավելի մանրամասն ներկայացված է ստորև ներկայացված լուսանկարում։ Շղթայի տախտակը կարված է ձեռնոցին սենսորների նման: Խնդրում ենք նկատի ունենալ, որ մատների շարժման համար անհրաժեշտ է թողնել հաղորդիչների երկարության որոշակի լուսանցք: Սա պետք է հաշվի առնել մեր տպատախտակը տեղադրելու և դրանից մինչև սենսորների միակցիչների երկարությունը ընտրելիս:






Ես չեմ մանրամասնի այս քայլը: Այն մանրամասնորեն ներկայացված է InMoov կայքում («Հավաքների էսքիզներ» և «Հավաքների օգնություն» բաժնում).

Երբ հավաքում եք ձեր ձեռքը, համոզվեք, որ հանգույցները ճիշտ են տեղադրվել տարածության մեջ կողմնորոշվելու առումով: Մի մոռացեք ռոբոտի թևի մատների վրա 3 մմ ամրացումների համար անցքեր փորել՝ հոդերի միջև շփումը նվազեցնելու համար: Դրսից պտուտակները սոսինձով լցրի։


Մի շտապեք տեղադրել ձկնորսական գիծը: Նախ ստուգեք սերվոմարատորների աշխատանքը:

Սերվո շարժիչի փորձարկում

Այս պահին սերվոներն արդեն պետք է տեղադրվեն ձեր ռոբոտացված թևի հետևի մասում: Սերվոն Arduino-ին և սնուցման աղբյուրին միացնելու համար ես օգտագործեցի փոքր տախտակ: Միացրեք յուրաքանչյուր դրական սերվո շարժիչի քորոց (կարմիր) հացահատիկի մեկ ռելսին, իսկ բացասական պտուտակը (սև կամ շագանակագույն) մյուս ռելսին:

ԿԱՐԵՎՈՐ! Մի մոռացեք միացնել Arduino փին նեգատիվ ռելսին. հիշեք, որ բոլոր ցամաքային կապերը պետք է միացված լինեն միասին: VCC փին կարող է միանալ տարբեր սնուցման աղբյուրներին, բայց GND-ը պետք է լինի նույնը:

Վերբեռնեք ծրագիրը Arduino-ում (ծրագրի հետ կապված ֆայլը կցված է): Համոզվեք, որ սենսորների, սերվոմարատորների և այլնի միացումը: Ճիշտ էր։ Հագեք ձեռնոց և միացրեք Arduino-ն: Սերվոմարատորները պետք է պտտվեն՝ կախված նրանից, թե որ մատն եք շարժվում: Եթե ​​սերվոները շարժվում են, ուրեմն ամեն ինչ աշխատում է:


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

Եթե ​​սերվոները ճիշտ չեն աշխատում, համոզվեք, որ դրանք ճիշտ եք միացրել (օրինակ, երբ ես աշխատում էի այս նախագծի վրա, ես մոռացել էի միացնել Arduino-ի GND փին սնուցման աղբյուրի GND-ին և բոլոր սերվոներին, ինչպես միշտ: Այս դեպքում ոչինչ չի ստացվի): Համոզվեք, որ ամեն ինչ ստացվում է, նախքան առաջ գնալը:

Ձկնորսական գիծ ավելացնելը

Ձկնորսական գիծ ավելացնելը, հավանաբար, ռոբոտի ձեռքի նախագծի ամենադժվար և պատասխանատու մասն է: InMoov կայքը դրա համար հրահանգներ ունի: Հայեցակարգը պարզ է, բայց այն իրականացնելը գործնականում այնքան էլ հեշտ չէ։ Խնդրում ենք նկատի ունենալ, որ նախագծի այս հատվածը պահանջում է կենտրոնացում և համբերություն: Իմ տարբերակի և InMoov դիզայնի միակ տարբերությունը սոսինձի օգտագործումն է: Դրա շնորհիվ մենք կարող ենք ստանալ ավելի շատ սպունգի կարգավորումների հնարավորություն՝ սերվերը չափաբերելիս: Դա անելու համար բավական է հալեցնել սոսինձը և ամրացնել մեզ անհրաժեշտ պտուտակները: Չնայած, իհարկե, դիզայնի հուսալիությունը ընկնում է: Ի վերջո, վերջնական ճշգրտումից և չափաբերումից հետո մենք ցանկացած պահի կարող ենք օգտագործել ֆիքսման այլ տարբերակ:

Սերվոները չափաբերելու համար ռոտորները պտտեք այնպես, որ ռոբոտ ձեռքի մատները սեղանի վրա լինեն: Միացրեք ձեր Arduino-ն և սնուցման աղբյուրը: Կարգավորեք շարժիչի ճոճանակները այնպես, որ թևի լրիվ «պառկած» վիճակում լարվածությունը լինի առավելագույնը։


Կալիբրացիայի գործընթացը բացատրելը բավականին դժվար է: Բացի այդ, InMoov-ի հետ հրահանգը, օրինակ, ինձ չէր սազում։ Այսինքն՝ ամրացնելիս պետք է երևակայություն դրսևորել և հարմարվել ձեր իրականությանը, օրինակ՝ ճոճաթոռների տեսակը, ձկնորսական գծի կամ թելի տեսակը, նախագծման և հավաքման սխալները, սերվոմարատորների տեղադրման հեռավորությունը՝ կապված հոդերի հետ։ ռոբոտային թեւ.

Բարեբախտաբար, սա նախագծի վերջին փուլն է։

Հետբառ


Չնայած այն հանգամանքին, որ կան շատ ավելի բարդ և ճշգրիտ (և նաև թանկ) նախագծեր, վերը նշված նախագիծը շատ հետաքրքիր է և ունի հիանալի ներուժ գործնական կիրառություն. Նման նմուշները չպետք է օգտագործվեն անձի հետ անմիջական շփման մեջ՝ բուն հայեցակարգի ճշգրտության բացակայության պատճառով: Բայց արդյունաբերություն, բժշկություն և այլն։ առաջադրանքների համար, առանց հոդերի շարժումների ճշգրտության պահանջների ավելացման, մեր ռոբոտային թեւը բավականին հարմար է: Դե, ձեռքի հետագա «արդիականացման» տեսանկյունից՝ այստեղ դաշտն ընդհանրապես չհերկված է։ Սկսած անլար հսկողությունավարտվում է սկավառակների, չափսերի փոխարինմամբ, ազատության լրացուցիչ աստիճանների զարգացմամբ։

Ահա թե ինչու ես սիրում եմ Arduino-ն. դուք կարող եք շատ արագ և քիչ գումարով ստեղծել սարքի մակետ կամ նախատիպ, որը ոչ միայն հեշտ է ծրագրավորել, այլև կարող է իրական հետաքրքիր առաջադրանքներ կատարել:

Թողեք ձեր մեկնաբանությունները, հարցերը և կիսվեք անձնական փորձստորև. Քննարկման ընթացքում հաճախ են ծնվում նոր գաղափարներ և նախագծեր։

Բարի օր, այսօր ես կկիսվեմ սենյակային ջերմաչափով ժամացույց պատրաստելու հրահանգներով ( Արդուինոյի վրա ինքնուրույն ժամացույց) Ժամացույցը սնուցվում է Arduino UNO-ով, իսկ WG12864B գրաֆիկական էկրանն օգտագործվում է ժամանակը և ջերմաստիճանը ցուցադրելու համար: Որպես ջերմաստիճանի սենսոր - ds18b20: Ի տարբերություն շատ այլ ժամացույցների, ես չեմ օգտագործի RTS (Իրական ժամանակի ժամացույց), բայց կփորձեմ անել առանց այս լրացուցիչ մոդուլի:

Arduino սխեմաները տարբերվում են իրենց պարզությամբ, և բոլորը կարող են սկսել սովորել Arduino: Գրադարանների և ֆլեշ arduino-ի միացման մասին կարող եք կարդալ մեր հոդվածում:

Եկեք սկսենք.

Այս ժամացույցը ստեղծելու համար մեզ անհրաժեշտ է.

Arduino UNO (կամ որևէ այլ Arduino համատեղելի տախտակ)
- Գրաֆիկական էկրան WG12864B
- Ջերմաստիճանի ցուցիչ ds18b20
- Resistor 4.7 Kom 0.25 W
- 100 օհմ 0,25 Վտ ռեզիստոր
- 4 AA մարտկոցների մարտկոցի խցիկ
- Համապատասխան տուփ
- փոքր ֆայլ
- Եղունգների լաք (սև կամ մարմնի գույն)
- Մի քանի բարակ պլաստիկ կամ ստվարաթուղթ
- Մեկուսիչ ժապավեն
- Միացնող լարեր
- Շղթայի տախտակ
- Կոճակներ
- Զոդման երկաթ
- Զոդում, ռոսին
- Երկկողմանի ժապավեն

Գրաֆիկական էկրանի պատրաստում:
Էկրանի միացման հետ առաջին հայացքից խնդիրներն ու դժվարությունները շատ են։ Բայց եթե նախ զբաղվեք դրանց տեսակների հետ, դա շատ ավելի հեշտ և պարզ կդառնա: ks0107/ks0108 կարգավորիչի վրա կան էկրանների բազմաթիվ տեսակներ և տեսակներ: Բոլոր էկրանները սովորաբար բաժանվում են 4 տեսակի.
Տարբերակ A՝ HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
Option B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Displays AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG12864J4, QY-12864F, TM12864J4, QY-12864F, TM12864F
Տարբերակ C. Shenzhen Jinghua Displays Co Ltd. JM12864
Տարբերակ D՝ Wintek- Cascades WD-G1906G, Wintek - GEN/WD-G1906G/KS0108B, Wintek/WD-G1906G/S6B0108A, TECDIS/Y19061/HD61202, Varitronix/MGLS1924

Ցուցակը ամբողջական չէ, դրանք շատ են։ Ամենատարածված և, իմ կարծիքով, հարմար WG12864B3 V2.0: Ցուցադրումը կարող է միացվել Arduino-ին սերիական կամ զուգահեռ պորտի միջոցով: Arduino UNO-ի հետ օգտագործելիս ավելի լավ է ընտրել կապը սերիական նավահանգիստ- ապա մեզ անհրաժեշտ է ընդամենը 3 միկրոկառավարիչի ելք, ոչ թե առնվազն 13 գծի, երբ միացված է զուգահեռ նավահանգիստով: Ամեն ինչ միանգամայն պարզ է միացված. Կա ևս մեկ նրբերանգ, վաճառքում կարող եք գտնել ցուցադրման երկու տարբերակ՝ ներկառուցված պոտենցիոմետրով (կոնտրաստը կարգավորելու համար) և առանց դրա։ Ես ընտրեցի, և ձեզ էլ խորհուրդ եմ տալիս նույնը անել՝ ներկառուցվածի հետ։


Սա նվազեցնում է մասերի քանակը և զոդման ժամանակը: Արժե նաև 100 օմ հոսանքի սահմանափակող դիմադրություն դնել հետին լուսավորության համար։ Ուղիղ միացնելով 5 վոլտ, կա լույսի այրման վտանգ:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - +5V
4 (RS) - 10
5 (R/W) - 11
6 (E) -13
15 (PSB) - GND
19 (BLA) - ռեզիստորի միջոցով - + 5V
20 (BLK) - GND

Ամենահարմար միջոցն այս ամենը էկրանի հետևի մասում հավաքելն է և դրանից 5 լար բերելը Arduino UNO-ին միանալու համար։ Ի վերջո, այն պետք է նման լինի հետևյալին.


Նրանց համար, ովքեր դեռ ընտրում են զուգահեռ միացում, ես կտամ միացման աղյուսակ:

Իսկ B տարբերակի էկրանների դիագրամը.



Մի քանի սենսորներ կարող են միացված լինել մեկ կապի գծին: Մեկը բավական է մեր ժամացույցին։ Մենք լարը միացնում ենք ds18b20-ի «DQ» փինից Arduino UNO-ի «փին 5»-ին:

Տախտակի պատրաստում կոճակներով.
Ժամացույցի վրա ժամն ու ամսաթիվը սահմանելու համար մենք կօգտագործենք երեք կոճակ: Հարմարավետության համար մենք կպցնում ենք երեք կոճակներ տպատախտակի վրա և դուրս ենք բերում լարերը:


Մենք կապում ենք հետևյալ կերպ՝ բոլոր երեք կոճակների համար ընդհանուր լարը միացնում ենք «GND» Arduino-ին։ Առաջին կոճակը, այն ծառայում է ժամանակի կարգավորման ռեժիմ մտնելու և ըստ ժամի և ամսաթվի անցնելու համար, մենք միանում ենք «Pin 2»-ին: Երկրորդը՝ արժեքի մեծացման կոճակը՝ «Pin 3», իսկ երրորդը՝ նվազեցնել արժեքի կոճակը՝ «Pin 4»:

Ամեն ինչ միասին դնելով:
Կարճ միացումից խուսափելու համար էկրանը պետք է մեկուսացված լինի: Շրջանակի մեջ մենք փաթաթում ենք էլեկտրական ժապավենով, և վրա ետամրացրեք երկկողմանի ժապավենի վրա, չափի կտրված, մեկուսիչ նյութի շերտով: Հաստ ստվարաթուղթ կամ բարակ պլաստմասսա կանի: Ես օգտագործել եմ պլաստիկ թղթե պլանշետից: Պարզվեց հետևյալը.


Էկրանի ճակատային մասում, եզրի երկայնքով, մենք կպչում ենք երկկողմանի ժապավենը փրփուրի հիմքի վրա, ցանկալի է սև:


Վահանը միացնելով Arduino-ին.


Պլյուսը մարտկոցի խցիկից միացնում ենք Arduino-ի «VIN»-ին, մինուսը՝ «GND»-ին: Տեղադրեք այն Arduino-ի հետևի մասում: Նախքան պատյանում տեղադրումը, մի մոռացեք միացնել ջերմաստիճանի ցուցիչը և կոճակի տախտակը:


Էսքիզի պատրաստում և լրացում.
Ջերմաստիճանի սենսորը պահանջում է OneWire գրադարան:

Էկրանի ելքը կատարվում է U8glib գրադարանի միջոցով.

Էսքիզը խմբագրելու և լրացնելու համար անհրաժեշտ է տեղադրել այս երկու գրադարանները։ Դա կարելի է անել երկու եղանակով. Պարզապես բացեք այս արխիվները և տեղադրեք չփաթեթավորված ֆայլերը «գրադարաններ» թղթապանակում, որը գտնվում է թղթապանակում, որտեղ տեղադրված է Arduino IDE: Կամ երկրորդ տարբերակը գրադարաններն անմիջապես ծրագրավորման միջավայրում տեղադրելն է։ Առանց ներբեռնված արխիվները բացելու, Arduino IDE-ում ընտրեք Sketch - Include Library ընտրացանկը: Բացվող ցուցակի հենց վերևում ընտրեք Ավելացնել .Zip գրադարան: Երկխոսության դաշտում, որը հայտնվում է, ընտրեք գրադարանը, որը ցանկանում եք ավելացնել: Կրկին բացեք «Sketch» ​​- «Include Library» ընտրացանկը: Բացվող ցուցակի ամենաներքևում դուք պետք է տեսնեք նոր գրադարանը: Այժմ գրադարանը կարող է օգտագործվել ծրագրերում։ Այսքանից հետո մի մոռացեք վերագործարկել Arduino IDE-ը։

Ջերմաստիճանի տվիչն աշխատում է One Wire արձանագրության համաձայն և յուրաքանչյուր սարքի համար ունի յուրահատուկ հասցե՝ 64-բիթանոց կոդ։ Գործնական չէ ամեն անգամ փնտրել այս կոդը: Հետևաբար, նախ պետք է սենսորը միացնել Arduino-ին, լրացնել այն ուրվագիծը, որը գտնվում է մենյուում File - Examples - Dallas Temperature - OneWireSearch: Հաջորդը գործարկեք Tools - Port Monitor: Arduino-ն պետք է գտնի մեր սենսորը, գրի հասցեն և ընթացիկ ջերմաստիճանի ընթերցումները: Մենք պատճենում ենք կամ պարզապես գրում ենք մեր սենսորի հասցեն: Բացեք ուրվագիծը Arduino_WG12864B_Term, փնտրեք տողը.

Բայթ adr=(0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97);//իմ սենսորի հասցեն

Մենք գրում ենք ձեր սենսորի հասցեն գանգուր փակագծերի միջև՝ փոխարինելով իմ սենսորի հասցեն:

Բաժնետոմս:

//u8g.setPrintPos(44, 64); u8g.print (վրկ); // Արդյունք վայրկյաններ՝ քայլի ճիշտությունը վերահսկելու համար

Ծառայում է «Տվյալներ» մակագրության կողքին վայրկյաններ ցուցադրելու համար։ Սա անհրաժեշտ է ժամանակի ընթացքը ճշգրիտ սահմանելու համար:
Եթե ​​ժամացույցը արագ է կամ ետևում, դուք պետք է փոխեք արժեքը տողում.

Եթե ​​(micros() - prevmicros >494000) ( // փոխեք մեկ այլ բան հարմարեցնելու համար, դա 500000 էր

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

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

Ինչ է Arduino-ն

Arduino-ն այն ապրանքանիշն է, որի ներքո ապարատային և ծրագրային ապահովում ավտոմատացման և հեռակառավարման համակարգերի անկախ կառուցման համար։

Փաստորեն, սա մոդուլային կոնստրուկտոր է, որն ունի լայն հնարավորություններ. Arduino սարքավորումները տպագիր տպատախտակների մեծ տեսականի են, որոնց վրա կազմակերպված են տարբեր սենսորներ, մղիչներ և ընդարձակման տախտակներ: Համակարգի առանցքն են ծրագրավորվող միկրոկոնտրոլերներով տախտակներբարդության տարբեր մակարդակներ՝ Arduino Pro Mini-ից մինչև Arduino Mega: Ընդարձակման տախտակները թույլ են տալիս օգտագործել մեծ քանակությամբ արտաքին սարքեր:

Փոքրիկի վրա տպագիր տպատախտակտեղադրված է միկրոկառավարիչ, որոշ դիսկրետ տարրեր, քվարց և տարբեր տեսակներմիակցիչներ, ներառյալ ուղղահայաց կապում, որոնց օգնությամբ դարակաշարային կառույցները հավաքվում են ընդարձակման քարտերի ավելացմամբ: Atmega չիպերն օգտագործվում են որպես միկրոկոնտրոլերներ։ Կարգավորիչի տեսակը որոշում է ֆունկցիոնալությունըվճարներ՝ կախված մուտքերի և ելքերի քանակից:

Այնքան տարածված մոդուլԱրդուինո UnoմիկրոկառավարիչովԱտմեգա328-ն ունի հետևյալ բնութագրերը.

  • Թվային I/O - 14
  • Դրանցից 6-ը PWM են
  • Անալոգային մուտքեր - 6
  • Հիշողություն - 32 ԿԲ
  • Հզորությունը - 7-12 Վ
  • Գինը - 950 ռուբլի

Թվային կոնտակտներկարող է ծրագրավորվել որոշակի գործառույթ կատարելու համար: Դա կարող է լինել մուտք կամ ելք: Այս մուտքերը/ելքերը կարող են աշխատել սարքերի հետ, որոնց գործելու համար պահանջվում է երկու մակարդակ: Սա տրամաբանական մեկ կամ մակարդակ է, որը մոտ է մատակարարման լարմանը և տրամաբանական ցածր մակարդակ, որը համապատասխանում է զրոյին: Երկու մակարդակի սենսորները կարող են միացված լինել թվային մուտքերին: Դրանք ներառում են մի զույգ մագնիս-եղեգի անջատիչ: Այս սենսորը արձագանքում է դռների և պատուհանների բացմանը: Այս սկզբունքով են աշխատում կողոպտիչների և հրդեհային ազդանշանների շատ սենսորներ:

Թվային ելքերը կարող են վերահսկել էլեկտրամագնիսական ռելեների աշխատանքը, որոնք իրենց հերթին միացնում և անջատում են ցանցի վարդակները, որոնց միացված են տարբեր կենցաղային տեխնիկա: Smart-ը Arduino-ից կարժենա շատ ավելի քիչ, քան պատրաստի արդյունաբերական հավաքածուն:

Անալոգային մուտքերը անալոգային-թվային փոխարկիչների միջոցով վերահսկիչին փոխանցում են տեղեկատվություն ջերմաստիճանի տվիչների, լուսավորության և որոշ այլ սարքերի կարգավիճակի մասին: Համեմատելով սենսորների ընթերցումները հիշողության մեջ պահվող հրամանների հետ՝ համակարգի կենտրոնական միավորը կարող է կառավարել սարքերը, որտեղ պահանջվում է հզորության սահուն փոփոխություն: Զարկերակային լայնության մոդուլյատորին միացված վեց ելքեր թույլ են տալիս սահուն վերահսկել բեռի հզորությունը: Օրինակ՝ կարգավորեք լամպի պայծառությունը, կարգավորեք ջեռուցիչի ջերմաստիճանը կամ վերահսկեք էլեկտրական շարժիչի արագությունը։

մեծ մասը հզոր և բազմաֆունկցիոնալ տախտակայս գծից Arduino Mega-ն է: Տեղադրված է PCB-ի վրա վերահսկիչAT մեգա 2560 , դիսկրետ տարրեր, USB միակցիչ սնուցման համար։ Տախտակն ունի 54 ունիվերսալ կոնտակտ, որոնք կարող են ծրագրավորվել I/O ֆունկցիաները կատարելու համար: Նրանցից 14-ը կարող են կառավարել անալոգային սարքերը զարկերակային լայնության մոդուլյացիա. 16 անալոգային մուտքեր նախատեսված են ցանկացած անալոգային սարք միացնելու համար:

վերահսկիչ տախտակ Արդուինո Մեգածախսերը 1500 ռուբլու սահմաններում: Ծրագրավորելու ամենահեշտ ձևը դրա հետ է անհատական ​​համակարգիչ USB պորտի միջոցով:

Ծայրամասային մոդուլներ Arduino-ի համար

Կարգավորիչի տախտակը համակարգի առանցքն է, բայց դուք չեք կարող որևէ սարք միացնել դրան: Արդյունքները ունեն փոքր բեռնվածքի հզորություն և սահմանափակ հոսանք: Կազմակերպել կառավարման համակարգը Կենցաղային տեխնիկակպահանջվեն արտաքին հոսանքի մոդուլներ, կապի սարքեր և այլ սարքեր: Սա խնդիր չէ, քանի որ Arduino կարգավորիչների համար մշակվել են մեծ թվով ծայրամասային մոդուլներ:

Ահա դրանցից ընդամենը մի քանիսը.

  • Գազի անալիզատոր - MQ-2
  • Լույսի սենսոր - 2CH-Light-2
  • Արտաքին ջերմաստիճանի ցուցիչ - DS18B20-PL
  • Սենյակի ջերմաստիճանի և խոնավության ցուցիչ – DHT-11
  • Շարժիչային վարորդներ - L298N, L9110
  • Ռելե մոդուլներ - 1ch5V, 4ch5V
  • Մոդուլ Հեռակառավարման վահանակ IC2262/2272

Սենսորը, որը հայտնաբերում է գազի արտահոսքը սենյակում, արձագանքում է պրոպանին և բութանին, որոնք կենցաղային գազի բաղադրիչներն են: Մոդուլն ունի զգայունության ճշգրտում և անալոգային/թվային ելքեր: Լույսի սենսորը կարող է մաս լինել ավտոմատացված համակարգլույսի հսկողություն. Այն բաղկացած է երկու անկախ ալիքներից՝ առանձին կարգավորվող զգայունությամբ: Դրսի ջերմաստիճանի սենսորը նախատեսված է -55-ից +125 աստիճան ջերմաստիճանում աշխատելու համար: Սենյակի ջերմաստիճանի և խոնավության սենսորը նախատեսված է . Ջերմաստիճանի միջակայքը՝ 0-ից +55 0 С, իսկ խոնավությունը՝ 20-90%:

Քանի որ Arduino մոդուլների մատակարարման լարումը գտնվում է 7-ից 12 վոլտ միջակայքում, ցանկացած ստանդարտ սենսորներ, որոնք ունեն նույն աշխատանքային մակարդակները, կարող են օգտագործվել անվտանգության կամ հրդեհային ազդանշան կազմակերպելու համար:

Շարժիչային վարորդներթույլ է տալիս կառավարել միաֆազ, երկփուլ, քառաֆազ և քայլային շարժիչներ: Նման սարքերի օգնությամբ կարելի է բացել ու փակել շերտավարագույրները կամ վարագույրները։ Վարորդներին միացված սերվո կրիչները թույլ են տալիս կարգավորել հովացուցիչ նյութի հոսքը ջեռուցման մարտկոցներում: «Խելացի տուն» համակարգում ռելեի ստեղները անփոխարինելի են։ Առաջնորդվելով +5 վոլտ տրամաբանական մեկ պոտենցիալով, ռելեներն ի վիճակի են փոխարկել բեռները սխեմաներում փոփոխական հոսանքմինչև 10 ամպեր մինչև 250 վոլտ լարման դեպքում:

Նրանց օգնությամբ դուք կարող եք միացնել և անջատել էլեկտրական վարդակները, էլեկտրական պոմպերը և այլ համակարգեր:

Հեռակառավարման մոդուլը բաղկացած է հեռակառավարման վահանակից և ընդունող սարքից: Հեռակառավարման վահանակը հագեցած է չորս կոճակներով և ապահովում է հրամանների փոխանցում մինչև 100 մետր հեռավորության վրա ընդունող ստորաբաժանմանը: Բոլոր ծայրամասային մոդուլներն ունեն նույն մատակարարման լարումը և համատեղելի են Arduino-ի ցանկացած միկրոկոնտրոլերի հետ:

«Խելացի տուն» համակարգի կազմակերպում

Առանց որոշակի հմտությունների, գիտելիքների միացումների դիագրամներև էլեկտրոնիկայի հիմունքները, ավելի լավ է ամբողջությամբ չվերցնել «Խելացի տուն» համակարգը:

Ծրագրավորում Arduino միկրոկոնտրոլերներիրականացվել է C/C++-ով։

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

Ձեր սեփական ձեռքերով Arduino-ում «Խելացի տուն» պատրաստելու համար անհրաժեշտ է տեխնիկական նախագիծ կազմել, որը ցույց կտա յուրաքանչյուր սենյակի համար սենսորների և ակտուատորների քանակը: Դուք կարող եք սկսել մեկ սենյակից, որտեղ կիրականացվեն մի քանիսը պարզ գործառույթներ. Դրանցից մի քանիսը կկատարվեն արտաքին սենսորների ազդանշաններով, իսկ որոշները՝ ժամանակաչափի ազդանշաններով: Երբ մարդը առավոտյան արթնանում է աշխատանքի, Arduino կարգավորիչը, ժամանակաչափի ազդանշանի ժամանակ, կմիանա Էլեկտրական թեյնիկկամ սուրճի պատրաստող: Եթե ​​դրսում մութ է, ինչը հայտնաբերում է արտաքին սենսորը, սենյակի լույսը սահուն կլուսավորվի: Սենյակի հարմարավետ ջերմաստիճանը կարող է սահմանվել և՛ քնելու, և՛ արթնանալու համար:

Փոքր թվով գործառույթների համար հարմար են Arduino Uno միկրոկառավարիչը և ծայրամասային մոդուլների մի շարք:

Կառավարման համար Կենցաղային տեխնիկաՁեզ անհրաժեշտ են ռելեի ստեղներ, որոնք միացնում և անջատում են էլեկտրական վարդակները: Լույսը կառավարելու համար անհրաժեշտ է շարժման դետեկտոր: Եթե ​​խելացի համակարգը տեղադրված է խոհանոցում, ապա անհրաժեշտ է ապահովել ավտոմատ միացումգլխարկներ, կենցաղային գազի արտահոսքի սենսոր և ջրի արտահոսքի սենսոր: Սենյակում որպես հրդեհային ազդանշանային տարր պետք է տեղադրվի ծխի դետեկտոր:

Եզրակացություն

Arduino կարգավորիչը թույլ կտա ձեզ ավարտել խելացի տան նախագիծը և բավարարել համեմատաբար փոքր գումար: Եթե ​​հաշվարկենք երեք սենյականոց բնակարանի սարքավորման բոլոր ծախսերը, ապա գումարը դժվար թե գերազանցի 30-40 հազար ռուբլին։ Եթե ​​կրճատեք գործառույթների քանակը, բյուջեն էլ ավելի համեստ կլինի։

Ես վաղուց էի ուզում ավտոմատացնել լողանալուց հետո լոգարանը չորացնելու գործընթացը։ Ես շատ ակնարկներ ունեի խոնավության թեմայով: Ես որոշեցի իրագործել (այսպես ասած) դրա դեմ պայքարի մեթոդներից մեկը։ Ի դեպ, ձմռանը մենք հագուստը չորացնում ենք լոգարանում։ Բավական է միացնել արտանետվող օդափոխիչը: Բայց օդափոխիչի մոնիտորինգը միշտ չէ, որ հարմար է: Այսպիսով, ես որոշեցի ավտոմատացում դնել այս գործի վրա: Իրականացման առաջին փորձն անհաջող էր: Վերանայումն էր. Բայց ես չհանձնվեցի...

Երբ ես տեղափոխվեցի նոր բնակարան, ես գրեթե անմիջապես գլխարկի մեջ տեղադրեցի օդափոխիչ, որը փականի փականի մեջ: Լողանալուց հետո լոգարանը չորացնելու համար անհրաժեշտ է օդափոխիչ։ Հարևանների օտար հոտերը բնակարան չներթափանցելու համար անհրաժեշտ է չվերադարձնող փական (երբ օդափոխիչը լուռ է): Պատահում է. Բոլոր օդափոխման խողովակները անհատական ​​են, սակայն ցեմենտը, ըստ երևույթին, խնայվել է երեսարկման ժամանակ: Հավանաբար հոտն անցնում է ճաքերի միջով։
Երկրպագուներ Ես ունեմ մի շարք տարբերակներ. Կան պարզ, կան ժմչփով (ժամանակային միջակայքի կարգավորում), ինչպես լուսանկարում։


Դա այն է, ինչ ես օգտագործել եմ մինչ օրս:
Կոնկրետ այս դեպքում (ով ժմչփով օդափոխիչ չունի), ամեն ինչ կարելի է անել ծրագրային մակարդակով։
Քանի որ ապրում եմ «մրջնանոցում», հագուստը չորացնելու միակ տեղը պատշգամբն է։ Լոգարանում այն ​​կարող է մարել: Չորացումը պահանջում է կամ ցածր խոնավություն կամ օդի շրջանառություն: Երկու պայմանների կատարումը լավագույն տարբերակն է։ Երկրպագուն պետք է լուծեր այս խնդիրը։ Սկզբում նա հենց այդպես էլ վարվեց։ Հիմնական բանը չմոռանալ անջատել այն: Մինչ օդափոխիչը աշխատում է, անհրաժեշտ է մի փոքր բացել պատուհանը։ Պե՞տք է հիշեցնել լողավազանի և երկու խողովակի դպրոցի խնդրի մասին։ Որպեսզի օդը մտնի գլխարկ, անհրաժեշտ է, որ այն ինչ-որ տեղից մտնի բնակարան։ Ով փայտե պատուհաններ ունի, ոչ թե պլաստմասսե, խնդիր չի լինի։ Բավական ճաքեր: Բայց պլաստիկով բնակարանը վերածվում է տերարիումի։
Այդ ժամանակ ես սկսեցի մտածել գործընթացը ավտոմատացնելու մասին: Դրա համար ես պատվիրեցի սենսորները:
Ես արդեն կիսվել եմ իմ գաղափարի իրականացման տխուր փորձով։ Ահա այդ մոդուլը։ Այն չի կարող աշխատել Սկզբունքորեն: Բայց ոչինչ չի մնա։ Եվ նա կօգտագործվի:


(Էլեկտրամատակարարման լարումը` 5 Վ. Առավելագույն ծանրաբեռնվածություն` 10Ա 250Վ AC և 10Ա 30Վ ուղղակի ընթացիկ) Ես այն օգտագործում եմ որպես ռելեի տուփ: Նորմալ երկրպագուի համար սա բավական է։
Ես նաև գծեցի մոդուլի դիագրամը։ Կապի հետ կապված խնդիրներ չեն լինի։


Կարմիր LED- ը ցույց է տալիս մատակարարման լարման առկայությունը: Կանաչ - ռելեի ակտիվացում: Ես փոխարինեցի անպետք սենսորը (խոնավության սենսորը, այն այլևս գոյություն չունի) 10kΩ դիմադրությամբ։ Եվ նաև ավելացրեց ավելի շատ դիմադրություն: Այն կգնա «խելացի» բլոկ: Երկուսն էլ ընդգծված կարմիրով: Այս ամենը պետք է վերացնի հնարավոր թյուրիմացությունները։ Ի վերջո, ռելեի միավորը սնուցվում է 5 Վ լարման միջոցով, իսկ «խելացի» միավորը սնուցվում է 3.3 Վ-ով: Ռելեի բլոկը վերահսկվում է ցածր մակարդակով: Բարձր մակարդականջատում է ռելեը (հովհար): Որոնվածը հաշվի է առնում դա:
Շղթան հիմնված է LM393-ի համեմատիչի վրա: Հարմարվողական ռեզիստորն ի սկզբանե նախատեսված էր խոնավության անջատիչի շեմը սահմանելու համար: Հնարավոր է, որ այն պետք է մի փոքր պտտել:
Դուք կարող եք օգտագործել պարզ ռելե բլոկներ: Վաճառվում են։ Կօգտագործեմ այն, ինչ մնացել է վերջին անհաջող փորձից հետո։
Ժամանակն է նայելու, թե ինչ տեսքով են հայտնվել AM2302 (DHT22) սենսորները: Ես պատվիրեցի միանգամից երեքը: Չեմ կարծում, որ դա սահմանափակվում է միայն լոգարանով: Իմ գլխում շատ գաղափարներ կան։ Որտեղ կգտնի միայն դրանց իրականացման ժամանակն ու ցանկությունը։


Սենսորները փակվել են հակաստատիկ տոպրակների մեջ: Բոլորը մտքում: Զոդումը ճշգրիտ է: Պահանջներ տեսքըԵս չունեմ. Նույնիսկ տախտակն է լվանում:


Ահա թե ինչ է գրված խանութի էջում.

AM2302 Humicap թվային ջերմաստիճանի և խոնավության մոդուլը թվային ելքային ազդանշան է, որը պարունակում է ջերմաստիճանի և խոնավության համակցված ցուցիչ: Այն օգտագործում է հատուկ թվային մոդուլների գրավման տեխնոլոգիա և ջերմաստիճանի և խոնավության սենսորային տեխնոլոգիա՝ ապահովելու համար, որ արտադրանքը բարձր հուսալիություն և գերազանց երկարաժամկետ կայունություն ունի: Սենսորը ներառում է խոնավության չափման կոնդենսիվ տարր և բարձր ճշգրտության ջերմաստիճանի չափման սարքեր, ինչպես նաև միացված բարձր արդյունավետությամբ 8-բիթանոց միկրոկառավարիչով: Հետևաբար, արտադրանքն ունի գերազանց որակ, արագ արձագանք, հակամիջամտության ունակություն, բարձր արժեք և այլ առավելություններ: Ծայրահեղ փոքր չափսեր, ցածր էներգիայի սպառում, ազդանշանի փոխանցման հեռավորությունը մինչև 20 մետր: Դարձնելով այն լավագույն ընտրությունը բոլոր տեսակի ծրագրերի և նույնիսկ ամենախստապահանջ ծրագրերի համար:
Հստակեցում:
Չափսը՝ 40 x 23 մմ
Քաշը՝ 4 գ
Լարման՝ 5V
Նավահանգիստ՝ թվային երկկողմանի մեկ ավտոբուս
Ջերմաստիճանի միջակայք՝ -40-80 °C ± 0.5 °C
Խոնավությունը՝ 20-90%RH±2%RH
Պլատֆորմ՝ Arduino, SCM
Փաթեթը ներառված է՝
3 x սենսորային մոդուլ
Առնվազն մասերի տախտակի վրա: Սենսորները չեն բաժանվում, չեն կոտրվել:
Ժամանակն է գործի անցնել: Այն, ինչ ես կօգտագործեմ, ես արդեն ցույց եմ տվել: Ինձ պետք է նաև 5 Վ լարման սնուցում։ Կպատրաստեմ հեռախոսի հին (արդեն ավելորդ) լիցքավորիչից։

Այս լիցքավորիչը չունի USB միացք: Դե, դա շատ հին է (խորհուրդ եմ տալիս օգտագործել ավելի նորերը, նրանք ունեն 5 Վ ելք): Հետեւաբար, ելքը 7 Վ է: Ես ստիպված էի զոդել MC կայունացուցիչը KREN5: Սրա մեջ դժվար բան չկա։ Ով է զոդման երկաթի հետ ընկեր, նա գիտի։ Իսկ ով ընկերներ չէ, իզուր է կարդում թեման։


Շատ մի վախեցեք, ես ինքնաշեն եմ արել։ Մեխանիզմը վրիպազերծելուց հետո ամեն ինչ պատշաճ տեսք կունենա: Միգուցե լիցքավորիչը փոխեմ։ Ամեն ինչ կախված է նրանից, թե ինչ արդյունքով կհասնեմ եզրագծին։ Ես այն կտեղադրեմ տեղական (մշտապես) «համապարփակ փորձարկումից» հետո: Հնարավոր է՝ ստիպված լինեք կիրառել ձմեռային/ամառային տարբերակը ծրագրային ապահովում. Ձմեռ/ամառ օդի ջերմաստիճանի և խոնավության բնութագրերը տարբեր են։
Ինձ պետք է նաև նախորդ վերանայման WIFI մոդուլը:


Փոխարկիչի մալուխը (USB To RS232 TTL UART) օգտակար է WIFI մոդուլը ծրագրավորելու համար:


Իմ գաղափարի բլոկային դիագրամը պարզ է թվում:


Բայց, իհարկե, կան նրբերանգներ.
Մնում է սարքել օդափոխիչի կառավարման ծրագիր։
Մի քանի պայմաններ.
1. Օդափոխիչը միանում է, երբ խոնավությունը հասնում է 68%-ից ավելի:
2. Աշխատանքային ժամանակը (ժմչփ) 5 րոպե։
3. Ջերմաստիճանի և խոնավության տվյալների փոխանցում WIFI-ի միջոցով (միայն դեպքում):
4. ռեժիմի ցուցում WIFI-ով:
Եթե ​​կանգ առեք թիվ 1 պայմանի վրա, ապա ամենապարզ Arduino-ն բավական կլինի: Բայց ես միայն մեկ Arduino տախտակ ունեմ, և կան երեք WIFI մոդուլներ :)
Անձամբ ինձ համար ամենադժվար տեղը ծրագրի պատրաստումն է, մի քիչ (մեղմ ասած) իմ թեման չէ։ Բայց կյանքը հոսում է ու իր հունով տանում ավելի ու ավելի շատ մարդկանց զանգվածներ։ Ես կհասկանամ Arduino-ի հսկայական տարածքները՝ օգտագործելով DHT22 խոնավության սենսորի և WIFI մոդուլի օրինակը: Բայց եթե ինձ հաջողվեց, ուրեմն դուք էլ կարող եք։
Սկզբում մի քանի տեղեկություն ինձ պես խաբեբաների համար:
Arduino IDE ծրագիրը բացակայում է այն տախտակների կարգավորումներում, որոնք ես կօգտագործեմ։ Օրինակ, ESP8266-ը պետք է ավելացվի:

Բաղադրիչների ավելացում ESP8266-ի օրինակով:

Առաջին հերթին ես ներբեռնեցի և տեղադրեցի Arduino IDE-ն իմ համակարգչում: Հետո ես գործարկում եմ ծրագիրը:
Ֆայլ → Կարգավորումներ → Տեղադրեք հղումը հավելման մեջ: հղումներ → սեղմեք OK: Հղում:



Սա պահանջում է ինտերնետ կապ: Պարտադիր!
Հետո գնում եմ խորհրդի մենեջերի մոտ։
Գործիքներ → Խորհուրդ․…→ Խորհրդի կառավարիչ։


Գտնելով իմ մոդուլը ես ընտրում եմ Վերջին տարբերակը. Սեղմում եմ տեղադրել:


Ներբեռնված Arduino IDE ծրագրում նույնպես բացակայում են տվիչների համար նախատեսված գրադարանները: Օրինակ, DHT22 գրադարանը նույնպես պետք է ավելացվի:

Գրադարանը միացնելը, օգտագործելով DHT22 սենսորը որպես օրինակ:

Նախ, ես ինտերնետից ներբեռնում եմ DHT.zip-ի նման արխիվ: Գտնելը խնդիր չէ։
Հետո ես գործարկում եմ Arduino IDE ծրագիրը։
Ուրվագիծ → Ներառել գրադարան → Ավելացնել zip գրադարան:


Նման ներդիր է հայտնվում:


Նշեք պահեստավորման վայրը… Բացել:
Գրադարանը միացված է։


Քիչ է մնացել անելու :)
Խոնավության սենսորի միացման դիագրամը կարող է տարբեր լինել: Իմը եկավ որպես մոդուլ, որի վրա արդեն տեղադրված էին երեք կապիչներ և ռեզիստորներ:

Եվ վերջապես լրացնելով էսքիզը։

Էսքիզի լրացում.

Ես բացում եմ պատրաստի էսքիզը. Իմ դեպքում «WiFi-DHT22_AleksPoroshin68.ino.


Arduino IDE-ն ինքնաբերաբար կսկսվի:
Հետո միացնում եմ ծրագրավորողին, գնում գործիքներին ու միացնում Com-port-ը։ Այն, որին այն կապված է, ընդգծված է: Ես կակտիվացնեմ այն։ Իմ նեթբուքում երեքն են՝ com6, com8 և com10:


Ես սովորում եմ որոնվածը: Դուք կարող եք փոխել մուտքի անունը և գաղտնաբառը:

Սեղմում եմ ներբեռնման կոճակը:


Էսքիզը կազմվում է։ Բավական երկար.


Այս պահին դուք պետք է սեղմեք «Reset» միացնելը հավաքված միացումմոդուլ:

Միևնույն ժամանակ, GPIO 00-ը գտնվում է զրոյի վրա:
Ահա ինքնին էսքիզը.
#ներառում #ներառում #ներառում #ներառում #include "DHT.h" #սահմանել DHTPIN 4 #սահմանել DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); float dhtTemp = NAN; float dhtԽոնավություն = NAN; int ledPin = 12; //GPIO 12 /* Սահմանեք դրանք ձեր ուզած հավատարմագրերին: */ const char *ssid = «ԱլեքսՊորոշին»; const char *password = "12345678"; ESP8266WebServer սերվեր (80); /* Պարզապես մի փոքր փորձնական հաղորդագրություն: Այն տեսնելու համար այցելեք http://192.168.4.1 վեբ բրաուզերում *, որը միացված է այս մուտքի կետին: */ void handleRoot() ( String s = "\r\n ESP201"; s +=" "; s +=" "; //s += "Կարգավիճակ - Գործողություններ - Կազմաձև"; s += "

ESP 201 մոդուլ

"; s += " "; if (isnan(dhtTemp)) s += "Ջերմաստիճան՝ կարդալու սխալ"; else (s += "Ջերմաստիճան՝ "; s += dhtTemp; s += "C"; ) եթե ( isnan(dhtԽոնավություն)) s += " Խոնավություն. կարդալու սխալ"; else ( s += " Խոնավություն. "; s += dhtԽոնավություն; s += " %"; ) if(digitalRead(ledPin) == HIGH) s + = "Exhaust. Off"; else s += "Exhaust: On"; s += ""; server.send(200, "text/html", s); ) void setup() (delay(1000); Serial.begin(115200); Serial.println(); Serial.print("Մուտքի կետի կարգավորում: .."); /* Դուք կարող եք հեռացնել գաղտնաբառի պարամետրը, եթե ցանկանում եք, որ AP-ն բաց լինի: */ WiFi.softAP(ssid, գաղտնաբառ); IPԱ հասցե myIP = WiFi.softAPIP(); Serial.print("AP IP հասցե : "); Serial.println (myIP); server.on ("/", handleRoot); server.begin(); Serial.println ("HTTP սերվերը սկսվել է"); dht.begin (); Serial.println (" DHT22 սկզբնական հաջողություն»); pinMode(ledPin, OUTPUT); ) void loop() (getDHT(); server.handleClient(); +5; եթե (dhtԽոնավություն< 68) { digitalWrite(ledPin, HIGH); Serial.println("ledPin HIGH"); } else { digitalWrite(ledPin, LOW); Serial.println("ledPin LOW"); } }
Շատ խիստ մի նախատեք. Ես նոր եմ սովորում:
Ծրագրավորումը հաստատելու համար էսքիզը բեռնելուց հետո ես GPIO-ն միացնում եմ + 3.3 Վ-ին: Հետո անջատում եմ։ Որոնվածը բեռնված է:


Ես դասավորություն եմ անում հացատախտակի վրա: Ես ստուգում եմ ամեն ինչ: Աշխատանքներ. Բայց ամեն ինչ այնքան լավ չէ, որքան պետք է լինի: Ինձ անհրաժեշտ միջակայքում չինական սենսորները թերագնահատում են ցուցումները 5-6%-ով։


Ես ավելի շատ վստահում եմ գերմանական լոգերին: Այո, և գինը մի քանի տասնյակ անգամ ավելի է։ Եվ որ ամենակարեւորն է, նա հանձնեց թեստը։
ծրագրում լրացում է կատարել (ավելացվել է 5 միավոր)։ Համաձայն եմ, որ սա սխալ է։ Բայց 40-70 տոկոսի սահմաններում դա ցույց է տալիս ճշգրիտ։ Ավելի ճիշտ է բնութագիրը հանելը և գրադարանը շտկելը։ Ես պատրաստ չեմ սրան :): Մնացած սենսորները նույնպես ստեցին: Չնայած բոլորը մոտավորապես նույնն էին ցույց տալիս։

Ահա թե ինչ տեսք ունի վեբ էջը, եթե այն միանում է իմ WIFI մոդուլին.


Էսքիզում նշվում են գաղտնաբառերը և արտաքին տեսքը:
Անցումը տեղի է ունենում 68% խոնավության դեպքում: Ամեն ինչ պարզ է.


Բայց կա մեկ նախազգուշացում. Եվ դա չի կարելի անտեսել։ 68% խոնավության սահմանին օդափոխիչը կարող է պտտվել՝ միացնելով և անջատելով: Այս խնդիրը լուծելու համար ձեզ հարկավոր է ժամանակաչափ: Ես ժմչփով երկրպագու ունեմ։ Նրանք. ոչ մի խնդիր. Յուրաքանչյուր ոք, ով ունի սովորական երկրպագու, ստիպված կլինի լուծել այս խնդիրը ծրագրային ապահովման մակարդակով:
Իմ հետագա խնդիրն է այս ամենը հավաքել ըստ սխեմայի, բայց ոչ այլևս breadboard մոդելի վրա և փորձարկել այն մեկ ամիս: Բոլոր փոփոխությունները կարող են կատարվել շահագործման ընթացքում: Ինչ անել և որտեղ տեղադրել, ես ամեն ինչ գրել եմ:
Մի քանի խոսք սենսորի տեղադրման մասին. Ես խորհուրդ չեմ տալիս այն դնել օդափոխիչի մեջ: Պատճառը պարզ է. Նույնիսկ ամենամաքուր և խնամված բնակարանում փոշի է, որը օդափոխիչը միացնելիս շտապում է այնտեղ (անասնաբուժական ջրանցք): Բայց մեկ տարի առաջ ես հանեցի օդափոխիչը և մանրակրկիտ մաքրեցի այն։


Որպեսզի սենսորները դրանց վնասվելու պատճառով հաճախ չփոխեն, խորհուրդ եմ տալիս նրանց համար ավելի հարմար տեղ գտնել՝ մոտակայքում։ Բացի այդ, դուք կարող եք այն փաթաթել ոչ հյուսված կտորով կամ նման այլ բանով, որպեսզի այն պաշտպանվի փոշուց: Եվ դուք երջանիկ կլինեք:
Լրիվ մոռացա ասել, որ եթե ուզում ես ինքդ սահմանել խոնավության վերահսկման «գործակիցները», պետք է թեմայի մեջ գոնե մի քիչ զբաղվես։ Եթե ​​տանը նման տեխնիկա չունեք...


Առանց նրանց, ձեզ համար շատ դժվար կլինի ինչ-որ բան անել այս թեմայով:
Այսքանը:
Ինչպես պատշաճ կերպով տնօրինել իմ վերանայման տեղեկատվությունը, յուրաքանչյուրն ինքն է որոշում: Եթե ​​ինչ-որ բան պարզ չէ, հարցեր տվեք: Հուսով եմ, որ դա օգնեց գոնե մեկին: Միգուցե ինչ-որ մեկը ցանկանա օգնել ինձ: Ես շատ շնորհակալ կլինեմ:
Հաջողություն բոլորին:
Ֆունկցիոնալ ստուգում.


Շարունակելի…

Ապրանքը տրամադրվել է խանութի կողմից ակնարկ գրելու համար: Վերանայումը հրապարակվում է Կայքի կանոնների 18-րդ կետի համաձայն:

Ես նախատեսում եմ գնել +51 Ավելացնել ընտրյալների մեջ Հավանեց ակնարկը +26 +65

Անցա, նայում եմ, ու այստեղ հետաքրքիր բաներ են գրում տնական տարբեր ապրանքների մասին։ Ես էլ եմ վերջերս ինչ-որ բան պատրաստել, թողեք, մտածեմ, գրեմ, գուցե ինչ-որ մեկին ձեռնտու լինի, լավ, կամ ուղղակի հետաքրքիր լինի։ Խոսքը վերաբերում էԲյուջետային DIY սենսորի սարքաշարի մասին՝ անջատիչի և վարդակների վահանակներում տեղադրելու համար:

Բայց արի գնանք հերթականությամբ։

Համեմատաբար երկար ժամանակ է, ինչ հետաքրքրված եմ «Խելացի տան» ավտոմատացման համակարգով։ Հիմա մի քանիսն ունեմ տարբեր համակարգերկապված մեկի մեջ: Կան և՛ արդյունաբերական, և՛ տնական բաղադրիչներ։ Ես ուզում եմ խոսել վերջին տնական արտադրանքի մասին:

Որոշ ժամանակ առաջ համացանցում հանդիպեցի MySensors տնային ավտոմատացման համակարգին։ Arduino-ի և nRF24L01+-ի վրա հիմնված բավականին առաջադեմ (և անընդհատ զարգացող) անլար համակարգ: Սակայն խոսքն այն մասին չէ, թե ով է հետաքրքրված, աղբյուրը կնայենք:

Համակարգի հիմնական առավելություններն ինձ համար ծրագրային ապահովման լավ աջակցությունն էին, երկկողմանի հաղորդակցությունը, բաղադրիչների առկայությունը և դրանց ցածր արժեքը:

Բավականաչափ խաղալով հացատախտակների վրա՝ ես որոշեցի մշակել մի սարք, որը կարող է համարժեք կերպով ինտեգրվել տան ինտերիերին (չես կարող անտեսել WAF-ը): Պարզվել է մի սարք, որը մյուսների հետ կարող է պատի մեջ ընկղմվել ստանդարտ 63 մմ տուփով։

Սա առաջին ժողովն է, կփորձեմ ավելի ճշգրիտ դարձնել հաջորդները։ Մեծ անցքը (լույսի սենսորի համար) կծածկվի պլեքսիգլաս գավազանով։

Կիսաապամոնտաժված տեսքով այսպիսի տեսք ունի.

Տեսարան մյուս կողմից.

Այս ամենը բաղկացած է (չինական) 8MHz / 3.3V Arduino Pro Mini-ից, nRF24L01 + ռադիոմոդուլից, HC-SR510 շարժման սենսորից, DHT22 սենսորից (ջերմաստիճան և խոնավություն), BH1750 լույսի սենսորից և ստանդարտ JUNG վարդակից (կարող եք հավանաբար օգտագործում եմ ուրիշները, ինչպիսիք են Գիրան, Բերկերը և այլն: Ես պարզապես դանդաղեցնում եմ ձեռքի տակ եղածը): ընդհանուր արժեքըմոտ 15 դոլար։

PCB-ն նախագծված է Eagle-ի կողմից: Աղբյուրներ. Պատվիրել է ITEADStudio-ից, լավ է արված (բացի մետաքսից, մակագրություններն այդպես են ստացվել):



Միգուցե տառատեսակը չափազանց փոքր է և բարակ: Գերբերայի վրա լավ տեսք ուներ:



Մոնտաժման ընթացքում հայտնաբերվեցին որոշ աննշան անհարմարություններ, ինչ-որ բան կարելի էր բարելավել, բայց ընդհանուր առմամբ, տախտակը բավականին օգտագործելի է: