Мазмуну:

Отурган убакыт трекерин кантип куруу керек: 7 кадам
Отурган убакыт трекерин кантип куруу керек: 7 кадам

Video: Отурган убакыт трекерин кантип куруу керек: 7 кадам

Video: Отурган убакыт трекерин кантип куруу керек: 7 кадам
Video: Жаныш Кочкоров "Өмүр дайра" 2024, Ноябрь
Anonim
Кантип отуруу убактысын көзөмөлдөөчү курууга болот
Кантип отуруу убактысын көзөмөлдөөчү курууга болот

Бул долбоор адамды аныктоо жана көзөмөлдөө үчүн Zio Qwiic Ultrasonic Distance Sensor колдонот. Аппарат стратегиялык түрдө отурган адамга караган экрандын/монитордун үстүнө, анын компьютеринин алдына жайгаштырылат.

Долбоор алардын канча саат бою/мүнөт ичинде отурганын көзөмөлдөйт. Максималдуу "отуруу" убактысына жеткенден кийин, алар ордунан туруп, ары -бери басууну эскертет.

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

Схемалык
Схемалык

2 -кадам: Орнотуу

Жайгашуу
Жайгашуу

Бул долбоорду куруу үчүн сизге төмөнкү модулдар керек болот:

  • Zuino M Uno өнүктүрүү кеңеши
  • Zio Qwiic Ultrasonic Distance Sensor
  • Zio Qwiic 0.91”OLED дисплейи
  • Qwiic Cables (200мм)
  • Микро 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; // Алыстык диапазону сенсордон seatuint16_t maxsit_time = 7200000ге чейин; // Максималдуу отуруу убактысын мс менен белгилеңиз

Цикл функциясынын ичинде сенсор биринчи кезекте адамдын бар экендигин аныктайт. Эгерде аныктоо диапазонунда эч кандай объект болбосо, "кетүү эсептегичи" эч ким жок болгон убакытты көзөмөлдөй баштайт.

if (расстояние*0.1 <лим) {// адамдын аныктоо диапазонунда экенин аныктайт distance_H = Wire.read (); distance_L = Wire.read (); расстояние = (uint16_t) расстояние_H << 8; расстояние = расстояние | расстояние_L; отуруу (); time_leave1 ++; // эч ким calculatetime () убактысын көзөмөлдөйт;

Эгерде ал 2 сааттан ашык отурган болсо, анда коддо адамдын тыныгуу үчүн билдирүүсү көрсөтүлөт.

if (time_sit2> maxsit_time) {maxsit (); time_leave1 = миллис ()/1000; time_leave1 ++; calculatetime ();

Эгерде адам тыныгуу алууну чечсе, код адам бар же жок экенин кайра текшерет. Эгерде катышуу аныкталбаса, отуруучу эсептегич нөлгө кайтарылат жана өргүү эсептегич башталат. Сенсор адам тыныгуу үчүн жумуш ордун таштап кеткен убакытты көзөмөлдөйт.

else if (расстояние*0.1> лим) {// адамдын диапазондо эмес экенин аныктайт calculatetime (); Serial.print ("Убакыт отур:"); Serial.print (time_sit2/1000); Serial.println ("сек"); time_sit1 = millis ()/1000; Serial.println ("Эч ким"); time_sit1 ++; кечигүү (1000);

6 -кадам: Демо

Демо
Демо

Zio Qwiic УЗИ аралык сенсорун компьютериңиздин үстүнө коюңуз.

Эскертүү: Натыйжаларды бурмалай турган сенсор тарабынан кандайдыр бир нерселер аныкталбашы үчүн, аны компьютердин үстүнө койгон жакшы.

Сиз отурган убакыттын жыйынтыгын түзмөккө тиркелген OLED дисплейинен көрө аласыз.

7 -кадам: Бул кантип иштейт

Бул кантип иштейт
Бул кантип иштейт
Бул кантип иштейт
Бул кантип иштейт
Бул кантип иштейт
Бул кантип иштейт

Ultrasonic Distance сенсору, эгерде ал сенсордон 75см (монитордон орундукка чейинки аралык) чегинде отурса, отурган адамды байкап жана аныктайт.

Бул адам отурган сааттардын санын жана сенсордон алыстыкты көзөмөлдөйт.

Эгерде ал көрсөтүлгөн 75см чегинде болбосо, сенсор адам отурган жерин таштап кеткен деп ойлойт. OLED экранында адам отургандан кийин кеткен убакыт көрсөтүлөт.

Эгерде сенсор бир кишинин 2 сааттан ашык түз отурганын байкап, байкаса, экранда ага тыныгуу берүү үчүн билдирүү көрсөтүлөт.

Сунушталууда: