Мазмұны:

Уақытты бақылауды қалай жасауға болады: 7 қадам
Уақытты бақылауды қалай жасауға болады: 7 қадам

Бейне: Уақытты бақылауды қалай жасауға болады: 7 қадам

Бейне: Уақытты бақылауды қалай жасауға болады: 7 қадам
Бейне: Басқа тышты деген осы 😡 2024, Қараша
Anonim
Отыратын уақытты бақылаушыны қалай құруға болады
Отыратын уақытты бақылаушыны қалай құруға болады

Бұл жоба адамды анықтау және бақылау үшін Zio Qwiic ультрадыбыстық қашықтық сенсорының көмегімен жүзеге асады. Құрылғы стратегиялық түрде экранның/монитордың үстіне отыратын адамға қаратып, компьютерінің алдына қойылады.

Жоба олардың қанша уақыт отырғандарын сағат/мин ішінде бақылайды. Максималды «отыру» уақыты жеткеннен кейін, олар орнынан тұрып, серуендеуге ескертеді.

1 -қадам: схемалық

Схемалық
Схемалық

2 -қадам: Орнату

Орнату
Орнату

Бұл жобаны құру үшін сізге келесі модульдер қажет:

  • Zuino M Uno дамыту басқармасы
  • Zio Qwiic ультрадыбыстық қашықтық сенсоры
  • Zio Qwiic 0.91 дюймдік OLED дисплейі
  • Qwiic кабельдері (200мм)
  • Micro USB кабелі

3 -қадам: Daisy Chain барлық модульдерді бірге

Daisy Chain барлық модульдер бірге
Daisy Chain барлық модульдер бірге

4 -қадам: Конфигурация және код

Келесі кітапханаларды Arduino IDE -ге жүктеңіз және орнатыңыз:

  • Adafruit GFX кітапханасы
  • Adafruit SSD1306 кітапханасы

Жобаның толық кодын тақтаға жүктеңіз. Uno құрылғысын компьютерге қосыңыз. Arduino IDE көмегімен Uno -ға кодты жүктеп алыңыз.

Немесе сіз кодты біздің 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; // Максималды отыру уақытын мс бойынша орнатыңыз

Цикл функциясының ішінде сенсор алдымен адамның қатысуын анықтайды. Егер анықталу ауқымында ешбір объект болмаса, «демалыс есептегіші» ешкім болмаған уақытты бақылай бастайды.

if (қашықтық*0,1 <лим) {// адамның анықтау диапазонында екенін анықтайды қашықтық_H = Wire.read (); қашықтық_L = Wire.read (); қашықтық = (uint16_t) қашықтық_H << 8; қашықтық = қашықтық | қашықтық_L; отыру (); time_leave1 ++; // calculatetime () айналасында ешкім болмайтын уақытты бақылайды;

Егер ол 2 сағаттан артық отырса, кодта адамға үзіліс жасау туралы хабарлама көрсетіледі.

if (time_sit2> maxsit_time) {maxsit (); time_leave1 = миллис ()/1000; time_leave1 ++; есептеу уақыты ();

Егер адам үзіліс жасауды шешсе, код адамның қатысуын тексереді. Егер келу анықталмаса, отыратын есептегіш нөлге ысырылады және демалыс есептегіші басталады. Сенсор адамның жұмыс орнынан үзіліс алу үшін кеткен уақытын бақылайды.

else if (қашықтық*0,1> лим) {// адамның уақыт шегінен тыс екенін анықтайды (); Serial.print («Уақыт отыруы:»); Serial.print (time_sit2/1000); Serial.println («сек»); time_sit1 = миллис ()/1000; Serial.println («Ешкім»); time_sit1 ++; кешіктіру (1000);

6 -қадам: демо

Демо
Демо

Zio Qwiic ультрадыбыстық қашықтық датчигін компьютер мониторының үстіне қойыңыз.

Ескертпе: нәтижені бұрмалайтын заттарды сенсор арқылы анықтамау үшін оны компьютердің үстіне қойған дұрыс.

Сіз отыру уақытының нәтижелерін құрылғыға бекітілген OLED дисплейінен қарай аласыз.

7 -қадам: Бұл қалай жұмыс істейді

Ол қалай жұмыс істейді
Ол қалай жұмыс істейді
Ол қалай жұмыс істейді
Ол қалай жұмыс істейді
Ол қалай жұмыс істейді
Ол қалай жұмыс істейді

Ультрадыбыстық қашықтық сенсоры сенсордан 75см қашықтықта (монитордан орынға дейінгі қашықтықта) отыратын адамды бақылайды және анықтайды.

Ол адамның қанша сағат отырғанын және сенсордан қашықтығын бақылайды.

Егер ол көрсетілген 75см ауқымында болмаса, сенсор адамның отыратын жерін тастап кеткенін болжайды. OLED экранында адамның отырғаннан кейін қалған уақыты көрсетіледі.

Егер сенсор адамның 2 сағаттан астам отырғанын бақыласа және анықтаса, экранда оған үзіліс жасауға мүмкіндік беретін хабар көрсетіледі.

Ұсынылған: