Բովանդակություն:
- Քայլ 1: Սխեմատիկ
- Քայլ 2: Կարգավորում
- Քայլ 3. Daisy Chain Բոլոր մոդուլները միասին
- Քայլ 4: Կազմաձևում և կոդ
- Քայլ 5: Կոդի բացատրություն
- Քայլ 6: Դեմո
- Քայլ 7: Ինչպես է այն աշխատում
Video: Ինչպես կառուցել նստած ժամանակի հաշվիչ `7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս նախագիծը կօգտագործի Zio Qwiic ուլտրաձայնային հեռավորության սենսորը ՝ մարդուն հայտնաբերելու և հետևելու համար: Սարքը ռազմավարականորեն տեղադրված կլինի էկրանի/մոնիտորի վերևում, որը նայում է նստած անձին ՝ իր համակարգչի դիմաց:
Նախագիծը կհետեւի, թե որքան երկար են նրանք նստել ժամեր/րոպեներ անց: «Նստելու» առավելագույն ժամանակը լրանալուց հետո այն կզգուշացնի նրանց ոտքի կանգնել և շրջել:
Քայլ 1: Սխեմատիկ
Քայլ 2: Կարգավորում
Այս նախագիծը կառուցելու համար ձեզ հարկավոր են հետևյալ մոդուլները.
- Zuino M Uno զարգացման խորհուրդ
- Zio Qwiic ուլտրաձայնային հեռավորության տվիչ
- Zio Qwiic 0.91”OLED էկրան
- Qwiic մալուխներ (200 մմ)
- Միկրո USB մալուխ
Քայլ 3. Daisy Chain Բոլոր մոդուլները միասին
Քայլ 4: Կազմաձևում և կոդ
Ներբեռնեք և տեղադրեք հետևյալ գրադարանները ձեր Arduino IDE- ում.
- Adafruit GFX գրադարան
- Adafruit SSD1306 գրադարան
Վերբեռնեք ծրագրի ամբողջական ծածկագիրը ձեր տախտակին: Միացրեք ձեր Uno- ն համակարգչին: Ներբեռնեք և միացրեք կոդը ձեր Uno- ին ՝ օգտագործելով Arduino IDE- ն:
Այլապես, կոդը կարող եք ներբեռնել մեր Github էջից:
Քայլ 5: Կոդի բացատրություն
Սկզբից սենսորը կբացահայտի մարդու ներկայությունը, որը նստած է 75 սմ հեռավորության վրա: Այս պահին բոլոր հաշվիչները կզարգացվեն զրոյի:
uint16_t time_sit1 = 0; uint16_t time_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Հեռավորության տիրույթը սենսորից մինչև նստատեղ 16_t maxsit_time = 7200000; // Սահմանեք ms- ի նստելու առավելագույն ժամանակը
Օղակի գործառույթի ներսում սենսորը նախ կբացահայտի մարդու ներկայությունը: Եթե որևէ առարկա հայտնաբերման տիրույթում չէ, «արձակուրդի հաշվիչ» կսկսի հետևել այն ժամանակին, երբ ոչ ոք ներկա չէ:
եթե (հեռավորությունը*0.1 <lim) {// հայտնաբերում է, թե արդյոք մարդը գտնվում է հայտնաբերման միջակայքում distance_H = Wire.read (); distance_L = Wire.read (); հեռավորություն = (uint16_t) հեռավորություն_H << 8; հեռավորություն = հեռավորություն | հեռավորություն_Լ; նստել (); time_leave1 ++; // հետևում է այն պահին, երբ ոչ ոք հաշվարկման ժամանակի մոտ չէ ();
Եթե նա նստած է ավելի քան 2 ժամ, ապա ծածկագիրը հաղորդագրություն կցուցադրի անձին ՝ ընդմիջման համար:
եթե (time_sit2> maxsit_time) {maxsit (); time_leave1 = millis ()/1000; time_leave1 ++; հաշվարկային ժամանակ ();
Եթե անձը որոշի ընդմիջում կատարել, ծածկագիրը նորից կստուգի ՝ կա՞ արդյոք մարդկային ներկայություն: Եթե ներկայություն չի հայտնաբերվում, նստած հաշվիչը կվերականգնվի զրոյի և արձակուրդի հաշվիչը կսկսվի: Սենսորը կհետեւի այն ժամանակին, երբ անձը լքել է իր աշխատանքային տարածքը `ընդմիջման համար:
այլապես, եթե (հեռավորությունը*0.1> լիմ) {// հայտնաբերում է, թե արդյոք անձը դուրս է տիրույթից հաշվարկային ժամանակից (); Serial.print («sitամանակը նստել.»); Serial.print (time_sit2/1000); Serial.println («վրկ»); time_sit1 = millis ()/1000; Serial.println («Ոչ ոք»); time_sit1 ++; ուշացում (1000);
Քայլ 6: Դեմո
Տեղադրեք Zio Qwiic ուլտրաձայնային հեռավորության տվիչը ձեր համակարգչի մոնիտորի վերևում:
Նշում. Ավելի լավ է այն տեղադրել համակարգչի վերևում `սենսորի կողմից հայտնաբերված օբյեկտներից խուսափելու համար, որոնք կարող են աղավաղել արդյունքները:
Դուք կարող եք դիտել նստելու ժամանակի արդյունքները սարքին ամրացված OLED էկրանին:
Քայլ 7: Ինչպես է այն աշխատում
Ուլտրաձայնային հեռավորության սենսորը հետևելու և հայտնաբերելու է նստած մարդուն, եթե նա նստած է սենսորից 75 սմ հեռավորության վրա (մոնիտորից նստատեղ հեռավորությունը):
Այն կհետեւի անձի նստած ժամերի քանակին եւ սենսորից հեռավորությանը:
Եթե նա չի գտնվում սահմանված 75 սմ տիրույթում, սենսորը ենթադրում է, որ անձը լքել է իր նստած տարածքը: OLED էկրանը կցուցադրի այն ժամանակը, երբ մարդը մնացել է նստելուց հետո:
Եթե սենսորը հետևել և հայտնաբերել է, որ անձը նստած է ավելի քան 2 ժամ ուղիղ, էկրանին կցուցադրվի հաղորդագրություն, որը թույլ կտա նրան դադար վերցնել:
Խորհուրդ ենք տալիս:
Ինչպես օգտագործել իրական ժամանակի ժամացույցի մոդուլ (DS3231) ՝ 5 քայլ
Ինչպես օգտագործել իրական ժամանակի ժամացույցի մոդուլ (DS3231). DS3231- ը էժան, չափազանց ճշգրիտ I2C իրական ժամանակի (RTC) ժամացույց է (RTC) `ինտեգրված ջերմաստիճանի փոխհատուցվող բյուրեղային տատանումով (TCXO) և բյուրեղով: Սարքը ներառում է մարտկոցի մուտք և պահպանում է ժամանակի ճշգրիտ հաշվարկում, երբ հիմնական էներգիան
Իրական ժամանակի ջրհորի մակարդակի հաշվիչ `6 քայլ (նկարներով)
Իրական ժամանակի ջրհորի ջրի մակարդակի հաշվիչ. Այս հրահանգները նկարագրում են, թե ինչպես կարելի է կառուցել ցածրարժեք, իրական ժամանակի ջրի մակարդակի հաշվիչ `փորված հորերում օգտագործելու համար: Levelրի մակարդակի հաշվիչը նախատեսված է փորված ջրհորի ներսում կախված լինելու համար, ջրի մակարդակը չափելու համար օրական մեկ անգամ և տվյալները ուղարկելու WiFi- ով կամ բջջային կապով
Ինչպես կառուցել մարդկանց հաշվիչ ազնվամորու Պիի և Ubidots- ի միջոցով. 6 քայլ
Ինչպես կառուցել մարդկանց հաշվիչ ազնվամորու Pi- ի և Ubidots- ի միջոցով. Այս պարզ նախագծում մենք կօգտագործենք շարժման սենսոր `որոշելու, թե արդյոք ինչ -որ առարկա անցնում է մեր ազնվամորի Pi- ի դիմացով: Այնուհետև մենք կհաշվենք, թե քանի անգամ է դա տեղի ունենում և այս արժեքը կուղարկենք Ubidots- ին: Մարդկանց հաշվիչները սովորաբար թանկարժեք սարքեր են, որոնք օգտագործվում են
Նստած և կանգնած հետևող - Իմանի. 20 քայլ
Նստած և կանգնած հետևող - Իմանի. Ուզու՞մ եք հետևել ձեր առողջությանը և համոզվել, որ ամեն օր բավականաչափ կանգնած եք: Հետո Imani- ն ձեզ համար ծրագիր է: Կոշիկի ներսում գտնվող մեկ ուժի նկատմամբ զգայուն դիմադրույքով մենք կարող ենք հետևել ձեր ամենօրյա նստած և կանգնած հաբիին
Ինչպես կառուցել կիթառի խոսնակների տուփ կամ կառուցել երկու ձեր ստերեոյի համար. 17 քայլ (նկարներով)
Ինչպես կառուցել կիթառի խոսնակների արկղ կամ կառուցել երկու ձեր ստերեոյի համար. Բարձրախոսը դուրս կգա իմ խանութում, այնպես որ կարիք չկա չափազանց առանձնահատուկ բան լինել: Tolex ծածկույթը կարող է շատ հեշտությամբ վնասվել, այնպես որ ես պարզապես սև ցողեցի թեթև ավազից հետո