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

Ինչպես կառուցել նստած ժամանակի հաշվիչ `7 քայլ
Ինչպես կառուցել նստած ժամանակի հաշվիչ `7 քայլ

Video: Ինչպես կառուցել նստած ժամանակի հաշվիչ `7 քայլ

Video: Ինչպես կառուցել նստած ժամանակի հաշվիչ `7 քայլ
Video: Եթե քնի ժամանակ թքոտում եք բարձը, ապա լսեք սա 2024, Նոյեմբեր
Anonim
Ինչպես կառուցել նստած ժամանակի որոնիչ
Ինչպես կառուցել նստած ժամանակի որոնիչ

Այս նախագիծը կօգտագործի Zio Qwiic ուլտրաձայնային հեռավորության սենսորը ՝ մարդուն հայտնաբերելու և հետևելու համար: Սարքը ռազմավարականորեն տեղադրված կլինի էկրանի/մոնիտորի վերևում, որը նայում է նստած անձին ՝ իր համակարգչի դիմաց:

Նախագիծը կհետեւի, թե որքան երկար են նրանք նստել ժամեր/րոպեներ անց: «Նստելու» առավելագույն ժամանակը լրանալուց հետո այն կզգուշացնի նրանց ոտքի կանգնել և շրջել:

Քայլ 1: Սխեմատիկ

Սխեմատիկ
Սխեմատիկ

Քայլ 2: Կարգավորում

Կարգավորում
Կարգավորում

Այս նախագիծը կառուցելու համար ձեզ հարկավոր են հետևյալ մոդուլները.

  • Zuino M Uno զարգացման խորհուրդ
  • Zio Qwiic ուլտրաձայնային հեռավորության տվիչ
  • Zio Qwiic 0.91”OLED էկրան
  • Qwiic մալուխներ (200 մմ)
  • Միկրո USB մալուխ

Քայլ 3. Daisy Chain Բոլոր մոդուլները միասին

Daisy Chain Բոլոր մոդուլները միասին
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 ժամ ուղիղ, էկրանին կցուցադրվի հաղորդագրություն, որը թույլ կտա նրան դադար վերցնել:

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