Агуулгын хүснэгт:

Суух цаг хянагчийг хэрхэн бүтээх вэ: 7 алхам
Суух цаг хянагчийг хэрхэн бүтээх вэ: 7 алхам

Видео: Суух цаг хянагчийг хэрхэн бүтээх вэ: 7 алхам

Видео: Суух цаг хянагчийг хэрхэн бүтээх вэ: 7 алхам
Видео: Амжилттай Сурах 13 арга 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 -г компьютерт холбоно уу. Arduino IDE ашиглан кодоо Uno руу татаж аваад Flash хийнэ үү.

Эсвэл та манай 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 -ээр тохируулна уу

Гогцооны функцын дотор мэдрэгч нь эхлээд хүн байгаа эсэхийг илрүүлэх болно. Хэрэв илрүүлэх хүрээнд ямар ч объект байхгүй бол "орхих тоолуур" нь хэн ч байхгүй цагийг хянаж эхэлнэ.

if (зай*0.1 <lim) {// тухайн хүн илрүүлэх хязгаарт байгаа эсэхийг илрүүлдэг зай_H = Wire.read (); зай_L = Wire.read (); зай = (uint16_t) зай_H << 8; зай = зай | зай_L; суух (); time_leave1 ++; // calculatetime () орчимд хэн ч байхгүй цагийг хянадаг;

Хэрэв тэр 2 -оос дээш цаг суусан бол тухайн хүн завсарлага авах мессежийг код дээр харуулна.

if (time_sit2> maxsit_time) {maxsit (); time_leave1 = millis ()/1000; time_leave1 ++; тооцоолох хугацаа ();

Хэрэв тухайн хүн завсарлага авахаар шийдсэн бол код байгаа эсэх нь хүн байгаа эсэхийг дахин шалгах болно. Хэрэв ямар ч хүн илрээгүй бол сууж буй тоолуур тэг болж анхны төлөвт нь орох тоолуур эхэлнэ. Мэдрэгч нь тухайн хүн ажлын байраа орхиж, завсарлага авах цагийг хянах болно.

else if (зай*0.1> lim) {// тухайн хүн хязгаараас хэтэрсэн эсэхийг тодорхойлдог calculatetime (); Serial.print ("Суух цаг:"); 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 -оос дээш цаг сууж байсныг ажиглаж, илрүүлсэн бол дэлгэц дээр түүнд завсарлага өгөх мессеж гарч ирнэ.

Зөвлөмж болгож буй: