Բովանդակություն:
- Քայլ 1: Պահանջներ
- Քայլ 2: Կարգավորում
- Քայլ 3: Սարքավորման կարգավորում
- Քայլ 4: Fրագրաշարի տեղադրում
- Քայլ 5. Ubidots հավելվածների մշակում
- Քայլ 6: Կառավարման վահանակի կազմաձևեր
Video: Ինչպես կառուցել շարժման հայտնաբերման համակարգ Arduino- ով. 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Կառուցեք շարժման և ներկայության արտադրության հաշվիչ ՝ օգտագործելով Arduino- ով ծրագրավորված և Ubidots- ի միջոցով աշխատող փետուր HUZZAH:
Ֆիզիկական շարժման և ներկայության արդյունավետ հայտնաբերումը «Խելացի տներում» և «Խելացի արտադրություն» -ում կարող է շատ օգտակար լինել տարատեսակ միջավայրի օժանդակ կյանքի (AAL) լուծումներից կամ արտադրության հաշվման համակարգից, որն ապահովում է ավելի մեծ MES- ներ: Շարժման և ներկայության հայտնաբերման այլ ծրագրեր ներառում են, բայց չեն սահմանափակվում.
- Դռների և դարպասների ավտոմատացում
- Կայանման տվիչներ ՝ ազատ տեղեր նշանակելու համար
- Տանկի մակարդակի հեռակա մոնիտորինգ
- Խելացի տներ և հարմարություններ լուսավորության և անվտանգության համար
- Փոխադրիչ գծերում միավորների հայտնաբերում և հաշվառում
- Տպագիր նյութերի վրա նշումների հայտնաբերում
- Ստվարաթղթի, պլաստիկի և թղթի թեքությունների ներսում հեղուկի հայտնաբերում
- Հեռավորության հայտնաբերում
- Մարդիկ հակադարձում են
Չնայած ներկայության և շարժման բազմաթիվ ծրագրեր կան, տվյալների հավաքման համար կան նույնքան սենսորներ, ինչպիսիք են տարողունակ, ինդուկտիվ, ֆոտոէլեկտրական և ուլտրաձայնային տվիչները: Կախված ծախսերից, շրջակա միջավայրի պայմաններից և ճշգրտության պահանջներից, պետք է ընտրել շրջակա միջավայրի և կիրառման պահանջներին համապատասխանող լավագույն սարքավորումները:
Այս ձեռնարկի համար մենք կկենտրոնանանք իրական ժամանակի արտադրության հաշվիչ կառուցելու վրա. դիմումը կհաշվի փոխակրիչ գոտու վրայով անցնող յուրաքանչյուր միավոր: Մենք կօգտագործենք Arduino IDE- ն ՝ փետուր HUZZAH ESP8266, ուլտրաձայնային տվիչ և Ubidots ծրագրավորելու համար ՝ մեր ծրագիրը մշակելու և IoT վահանակը ցուցադրելու համար:
Քայլ 1: Պահանջներ
- Փետուր HUZZAH ESP8266MB7389-100- ով
- Ուլտրաձայնային տվիչ
- Arduino IDE 1.8.2 կամ ավելի բարձր
- Ubidots հաշիվ -կամ STEM լիցենզիա
Քայլ 2: Կարգավորում
- I Hardware Setup
- II. Fրագրաշարի տեղադրում
- III. Ubidots հավելվածների մշակում (իրադարձություններ, փոփոխականներ և վահանակներ)
Քայլ 3: Սարքավորման կարգավորում
Ուլտրաձայնային սենսոր MB7389-100- ը ցածր գնով տարբերակ է արդյունաբերական ծրագրերի համար `մեծ սպեկտրի և ցածր էներգիայի սպառման պահանջներով, դժվարին եղանակային պայմաններում` իր IPv67 վարկանիշի շնորհիվ:
Սկսելու համար, հայելու ներքևի դիագրամը ՝ ուլտրաձայնային տվիչը կցելու համար փետուրին HUZZAH ESP8266:
ՈEՇԱԴՐՈԹՅՈՆ. Սենսորի ընթերցումը կարող է ընդունվել որպես անալոգային ընթերցումներ կամ PWM; ստորև մենք պատրաստվում ենք բացատրել PWM ընթերցման կարգավորումը, լրացուցիչ տեղեկությունների համար տես վերևում ներկայացված օրինակները:
[Ptionանկության դեպքում] տեղադրեք միկրոհսկիչը և տվիչները de IP67 պատյանում `դրանք փոշուց, ջրից և շրջակա միջավայրի այլ սպառնալիքներից պաշտպանելու համար: Ստանդարտ գործը նման է վերը նշված լուսանկարներում ցուցադրվածին:
Քայլ 4: Fրագրաշարի տեղադրում
Նախ, դուք պետք է տեղադրեք Feather Huzzah- ը Arduino IDE- ում և կազմեք ծածկագիրը: Հիշեք, որ հաստատեք այս կարգավորումը ՝ կատարելով մի պարզ թարթող թեստ: Ձեր փետուր սարքը միացնելու մասին լրացուցիչ տեղեկությունների համար այցելեք այս օգտակար սարքավորման տեղադրման ուղեցույցը:
Սենսորների տվյալները Ubidots IoT զարգացման պլատֆորմ ուղարկելու համար պատճենեք և տեղադրեք ստորև նշված կոդը Arduino IDE- ում: Հիշեք, որ նշանակեք Wi-Fi ցանցի անունը, գաղտնաբառը և ձեր Ubidots հաշվի նշանը, որտեղ նշված է ծածկագրում:
/****************************** Գրադարանները ներառված են *************** ****************/#ներառում /****************************** ** Մշտականներ և առարկաներ ***************************** //*Ubidots*/const char*SSID_NAME = "xxxxxxxx"; // Տեղադրեք ձեր SSID անունը char char* SSID_PASS = "xxxxxxxx"; // Տեղադրեք այստեղ ձեր գաղտնաբառըconst char* TOKEN = "Assig_your_ubidots_token"; // Տեղադրեք այստեղ ձեր TOKENconst char* DEVICE_LABEL = "motion-control"; // Ձեր սարքը պիտակավորված է char* VARIABLE_LABEL = "հեռավորություն"; // Ձեր փոփոխական labelconst char* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "industrial.api.ubidots.com"; // Ubidots Բիզնեսի օգտվողներ // const char* HTTPSERVER = " things.ubidots.com »; // Ubidots Կրթական օգտվողներ HTTPPORT = 80;/ * Ուլտրաձայնային տվիչ */const int pwPin1 = 5; // PWM կապը, որտեղ միացված է սենսորը WiFiClient clientUbi;/******************************* Օժանդակ գործառույթներ *** *** ** երկարության փոփոխական*/int dataLen (char* փոփոխական) {uint8_t dataLen = 0; for (int i = 0; i distance / 25.4* / float distance = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, distance); ուշացում (1000);} void sendToUbidots (const char* device_label, const char* variable_label, float sensor_value) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * Ուղարկելու արժեքները պահելու տարածք * / char str_val [10]; /*---- Սենսորների արժեքները փոխակերպում է ածխի տիպի -----* / /*4-ը նվազագույն լայնություն է, 2-ը ՝ ճշգրիտ; բոց արժեքը պատճենված է str_val* / dtostrf (sensor_value, 4, 2, str_val); /* Կառուցում է հարցման մեջ ուղարկվող մարմինը* /sprintf (body, "{"%s / ":%s}", variable_label, str_val); /* Կառուցում է HTTP խնդրանք լինել POST */sprintf (տվյալներ, «POST /api/v1.6/devices/%s», device_label); sprintf (տվյալներ, «%s HTTP/1.1 / r / n», տվյալներ); sprintf (տվյալներ, "%sHost: things.ubidots.com / r / n", տվյալներ); sprintf (տվյալներ, "%sUser-Agent:%s/%s / r / n", data, USER_AGENT, VERSION); sprintf (data, " %sX-Auth-Token: %s / r / n", տվյալներ, TOKEN); սպրինտ f (տվյալներ, "%sConnection: close / r / n", տվյալներ); sprintf (տվյալներ, "%sContent-Type: application/json / r / n", տվյալներ); sprintf (տվյալներ, " %sContent-Length: %d / r / n / r / n", data, dataLen (body)); sprintf (տվյալներ, "%s%s / r / n / r / n", տվյալներ, մարմին); / * Սկզբնական կապ */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * Հաստատեք հաճախորդի կապը */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("Փոփոխականների տեղադրում.")); Serial.println (տվյալներ); / * Ուղարկեք HTTP հայցը */ clientUbi.print (տվյալներ); } / * Քանի դեռ հաճախորդը հասանելի է, կարդացեք սերվերի պատասխանը * / while (clientUbi.available ()) {char c = clientUbi.read (); Սերիա. Գրել (գ); } / * Ազատ հիշողություն * / անվճար (տվյալներ); անվճար (մարմին); / * Դադարեցնել հաճախորդին */ clientUbi.stop ();}
Հուշում. Կարող եք ստուգել, արդյոք ձեր սարքը ճիշտ է միացված ՝ Arduino IDE- ում սերիական մոնիտորը բացելով:
Կարող եք հաստատել, որ սարքը ստեղծվել է ձեր Ubidots- ի հետնամասում ՝ այն դիտելով ձեր հաշվի սարքի կառավարում -> սարքեր:
Սարքը սեղմելով ՝ դուք կգտնեք «հեռավորություն» կոչվող փոփոխական, որտեղ պահվում են սենսորի ընթերցումները: Այս անունը նշանակվել է Arduino IDE- ում հենց նոր տեղադրված ծածկագրում: Եթե ցանկանում եք հարմարեցնել ձեր ավտոմատ փոփոխականները, խնդրում ենք դա անել ՝ խմբագրելով Սարքի քարտը կամ ձեր դիմումի համար փոփոխականների ճիշտ անվանացանկով թարթելով թարմացված ծածկագիրը:
Փետուր HUZZAH ESP8266- ի հետ միացված և տվյալների հաղորդման Ubidots- ին, այժմ ժամանակն է կառուցել ծրագիրը `օգտագործելով Ubidots- ի մանրակրկիտ մշակված կոդազերծ հավելվածի կազմաձևը:
Քայլ 5. Ubidots հավելվածների մշակում
Ubidots իրադարձության կազմաձևում
Ընթացիկ ընթերցումները, որոնք մենք ուղարկում ենք Ubidots- ին, հեռավորության մուտքագրումներ են: Այս ընթերցումները ցանկալի ելքի մեջ թարգմանելու համար, որը մենք ցանկանում ենք `հաշվված միավորներ, մենք պետք է ստեղծենք իրադարձություն ՝ հետևելով այս քայլերին.
- Ներկայիս «շարժման վերահսկում» սարքի ներսում ստեղծեք նոր լռելյայն փոփոխական, որը կոչվում է «արկղեր», որը նոր միավորը հաշվելիս կստանա 1:
- Գնացեք Սարքի կառավարում -> Իրադարձություններ և կտտացրեք կապույտ գումարած պատկերակին ՝ էջի վերին աջ անկյունում ՝ նոր իրադարձություն ավելացնելու համար:
- Կազմաձևեք ձեր իրադարձությունը, որը սկսվում է «Եթե գործարկվի» բառով.
- Ընտրեք փոփոխական ՝ «հեռավորություն»
- Արժեքը `արժեքը (կանխադրված)
- Սենսորից և*կողքով անցնող տուփերի միջև [մեր ակնկալվող առավելագույն հեռավորությունը] փոքր է կամ հավասար ՝ մեր դիմումը պահանջում է 500 մմ
- 0 րոպեի ընթացքում
- Պահել
4. Երբ գործարկիչները կազմաձևվեն ձեր դիմումի բնութագրերին, կտտացրեք նարնջագույն «գումարած» պատկերակին ՝ վերին աջ անկյունում `պայմանական գործողություն ավելացնելու համար:
5. Որպես գործողություն ընտրեք «Սահմանել փոփոխականը»:
6. Հաջորդը, ընտրեք նախկինում ստեղծված լռելյայն փոփոխական «տուփեր» և «1» արժեքը:
7. Պահպանեք փոփոխությունները: Եթե միջոցառումը պատշաճ կերպով կազմված է, այն «1» կուղարկի ամեն անգամ, երբ սենսորի և միավորի միջև հեռավորությունը նշված շեմից ավելի է, ինչը ենթադրում է, որ մոտակայքում ոչ մի առարկա չկա, և պետք է հաշվել նոր անցած միավորը:.
Փետուրի հատուկ սարքի քարտում դուք կգտնեք, որ փոփոխական «տուփեր», որտեղ «1» է ուղարկվում ցանկացած պահի, երբ զգացվի միավորի ներկայությունը:
Հատկապես օգտակար արդյունաբերական փոխակրիչների և այս նախատիպը հաշվող միավորների համար կարելի է հարմարեցնել ՝ տարբեր միջավայրեր կամ սարքավորումներ տեղավորելու համար պարզապես ձեր ծածկագրման կամ ծրագրերի մշակման մեջ:
8. Պատկերացրեք զգացված միավորների քանակը (կամ երբ օբյեկտ է հայտնաբերվել) Այժմ, օգտագործելով «տուփեր» փոփոխականը, մենք պատրաստվում ենք ստեղծել նոր շարժական պատուհանի փոփոխական `« արկղերից »փոփոխականից ստացված ընթերցումների ընդհանուր գումարը հավաքելու համար: սահմանված սպամ (րոպեներ, ժամեր, օրեր, շաբաթներ և այլն): Այս զարգացումն իրականացնելու համար հետևեք այս պարզ քայլերին.
Նշեք հետևյալ հավատարմագրերը ձեր նոր շարժական պատուհանի փոփոխականին
Ընտրեք սարք. Շարժման հսկողություն (կամ այն սարքի անունը, որին դուք ուղարկում եք ձեր տվյալները)
Ընտրեք փոփոխական. Տուփեր
Հաշվիր գումարը
Ամեն: «1» ժամ (կամ ըստ ձեր դիմումի պահանջների)
Այժմ նոր փոփոխականին նշանակեք անուն, որը ցույց է տալիս մեկ ժամում հաշված տուփերի (կամ շարժումների) քանակը, ինչպես «տուփեր/ժամ» կամ «միավոր/ժամ»:
Քայլ 6: Կառավարման վահանակի կազմաձևեր
Վերջապես, ստեղծեք վահանակ ՝ զգայուն միավորների քանակը ցուցադրելու համար:
Գնացեք Սարքի կառավարում -> Գործիքային վահանակներ և ավելացրեք նոր վիջեթ: Այս վիջեթը կցուցադրի այսօր հաշված տուփերի քանակը ՝ բաժանված ժամերով:
Նշեք հետևյալ հավատարմագրերը ձեր նոր վիջեթին ՝ ձեր հաշիվը պատկերավոր դարձնելու համար:
Ինչպե՞ս կցանկանայիք տեսնել ձեր տվյալները: գծապատկեր
Ընտրեք վիջեթի տեսակ. Գծային գծապատկեր
Ավելացնել սարք. Շարժման վերահսկում
Ավելացնել փոփոխական ՝ տուփեր/ժամ
Ավարտել Եվ այս վերջին վահանակի մշակմամբ `ձեր հավելվածն ավարտված է, և այժմ ունեք շարժումների և ներկայության հայտնաբերման արդյունավետ և արդյունավետ համակարգ: Ահա մեր արդյունքների վերջնական տեսքը:
Խորհուրդ ենք տալիս:
DIY շարժման հայտնաբերման SMS ազդանշանային համակարգ. 5 քայլ (նկարներով)
DIY Motion Detection SMS ազդանշանային համակարգ. Այս նախագծում ես կհամատեղեմ էժան PIR շարժման տվիչը TC35 GSM մոդուլի հետ `ահազանգման համակարգ կառուցելու համար, որը ձեզ կուղարկի " ՆԵՐRԱՈ ALԹՅՈERՆ ՏԵERԵԿՈԹՅՈՆ " SMS, երբ ինչ -որ մեկը փորձում է գողանալ ձեր իրերը: Եկեք սկսենք
Ինչպես կատարել ջրհեղեղի հայտնաբերման խելացի ահազանգման համակարգ ՝ օգտագործելով Raspberry Pi և Particle Argon: 6 քայլ
Ինչպես կատարել ջրհեղեղի հայտնաբերման ազդանշանային համակարգ Raspberry Pi- ի և Particle Argon- ի միջոցով. Floodրհեղեղի ստանդարտ սենսորներ ունենալը հիանալի է կանխելու ձեր տան կամ աշխատավայրի զանգվածային վնասները: Բայց դա դժվար է դարձնում, եթե տանը չեք գտնվում ՝ ահազանգին ներկա լինելու համար: Իհարկե Դուք կարող եք գնել դրանք
Շարժման հայտնաբերման ազդանշանային համակարգ. 11 քայլ (նկարներով)
Շարժման հայտնաբերման ահազանգման համակարգ. Reactive Blocks- ն այլևս հասանելի չէ ներբեռնման համար: Հիմնական USB տեսախցիկը կարող է օգտագործվել սենյակում շարժումը հայտնաբերելու համար: Հետևյալ քայլերում մենք ձեզ ցույց կտանք, թե ինչպես կարող եք օգտագործել Reactive Blocks- ը ՝ SMS ուղարկող պատրաստ Java ծրագրին ծրագրավորելու համար
Պահապան V1.0 --- Arduino- ով դռների դիտահորերի արդիականացում (շարժման հայտնաբերման ձայնագրում և էլեկտրաշոկի առանձնահատկություններ). 5 քայլ
Պահապան V1.0 ||| Arduino- ով դռան դիտահորի տեսախցիկի արդիականացում (Շարժման հայտնաբերման ձայնագրում և էլեկտրաշոկի առանձնահատկություններ). Ես պատվիրել եմ դիտահորով ֆոտոխցիկ, բայց երբ այն օգտագործում եմ, հասկացա, որ չկա ավտոմատ ձայնագրման գործառույթ (ակտիվացված է շարժման հայտնաբերմամբ): Այնուհետև ես սկսեցի ուսումնասիրել, թե ինչպես է այն աշխատում: Տեսանյութ տեսագրելու համար պետք է 1-ին սեղմել հոսանքի կոճակը գրեթե 2 վայրկյան
Ինչպես կառուցել կիթառի խոսնակների տուփ կամ կառուցել երկու ձեր ստերեոյի համար. 17 քայլ (նկարներով)
Ինչպես կառուցել կիթառի խոսնակների արկղ կամ կառուցել երկու ձեր ստերեոյի համար. Բարձրախոսը դուրս կգա իմ խանութում, այնպես որ կարիք չկա չափազանց առանձնահատուկ բան լինել: Tolex ծածկույթը կարող է շատ հեշտությամբ վնասվել, այնպես որ ես պարզապես սև ցողեցի թեթև ավազից հետո