תוכן עניינים:

כיצד לבנות מעקב אחר זמן ישיבה: 7 שלבים
כיצד לבנות מעקב אחר זמן ישיבה: 7 שלבים

וִידֵאוֹ: כיצד לבנות מעקב אחר זמן ישיבה: 7 שלבים

וִידֵאוֹ: כיצד לבנות מעקב אחר זמן ישיבה: 7 שלבים
וִידֵאוֹ: עדן חסון ואודיה - הנשיקה! 😱 2024, נוֹבֶמבֶּר
Anonim
כיצד לבנות מעקב אחר זמן ישיבה
כיצד לבנות מעקב אחר זמן ישיבה

פרויקט זה ישתמש בחיישן המרחק האולטראסוני של Zio Qwiic כדי לאתר ולעקוב אחר אדם. המכשיר יוצב אסטרטגית על גבי מסך/צג מול האדם היושב, מול המחשב שלו.

הפרויקט יעקוב אחר כמה זמן הם ישבו במשך שעות/דקות. לאחר שהגיע הזמן המרבי ל'ישיבה ', הוא יזהיר אותם לקום ולהסתובב.

שלב 1: סכמטי

סכמטי
סכמטי

שלב 2: התקנה

להכין
להכין

כדי לבנות את הפרויקט הזה תזדקקו למודולים הבאים:

  • מועצת הפיתוח של Zuino M Uno
  • חיישן מרחק אולטרסאונד Zio Qwiic
  • צג OLED בגודל 0.91 אינץ 'של Zio Qwiic
  • כבלים Qwiic (200 מ"מ)
  • כבל מיקרו USB

שלב 3: שרשרת דייזי כל המודולים יחד

שרשרת דייזי כל המודולים ביחד
שרשרת דייזי כל המודולים ביחד

שלב 4: תצורה וקוד

הורד והתקן את הספריות הבאות ל- Arduino IDE שלך:

  • ספריית GFX של Adafruit
  • ספריית 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; // הגדר את זמן הישיבה המרבי במסרים

בתוך פונקציית הלולאה, החיישן יזהה תחילה נוכחות אנושית. אם אף אובייקט אינו נמצא בטווח הזיהוי, 'מונה לעזוב' יתחיל לעקוב אחר השעה שבה איש אינו נוכח.

if (distance*0.1 <lim) {// מזהה אם אדם נמצא בטווח הזיהוי distance_H = Wire.read (); distance_L = Wire.read (); distance = (uint16_t) distance_H << 8; מרחק = מרחק | מרחק_ל; לָשֶׁבֶת(); time_leave1 ++; // עוקב אחר הזמן שאף אחד לא נמצא בסביבות החישוב ();

אם הוא/היא ישב יותר משעתיים, הקוד יציג הודעה לאדם לקחת הפסקה.

אם (time_sit2> maxsit_time) {maxsit (); time_leave1 = מיליס ()/1000; time_leave1 ++; calculatetime ();

אם האדם מחליט לקחת הפסקה, הקוד יבדוק שוב אם יש נוכחות אנושית. אם לא זוהתה נוכחות, מונה הישיבה יתאפס לאפס ודלפק היציאה יתחיל. החיישן יעקוב אחר הזמן שבו האדם עזב את סביבת העבודה שלו כדי לקחת הפסקה.

אחרת אם (מרחק*0.1> גבול) {// מזהה אם אדם נמצא מחוץ לטווח החישוב (); Serial.print ("זמן ישיבה:"); Serial.print (time_sit2/1000); Serial.println ("sec"); time_sit1 = מיליס ()/1000; Serial.println ("אף אחד"); time_sit1 ++; עיכוב (1000);

שלב 6: הדגמה

הַדגָמָה
הַדגָמָה

הנח את חיישן המרחק האולטראסוני של Zio Qwiic על גבי צג המחשב.

הערה: עדיף לשים אותו מעל המחשב כדי למנוע אובייקטים כלשהם של החיישן שעלולים לעוות את התוצאות.

ניתן לצפות בתוצאות זמן הישיבה בתצוגת OLED המחוברת למכשיר.

שלב 7: איך זה עובד

איך זה עובד
איך זה עובד
איך זה עובד
איך זה עובד
איך זה עובד
איך זה עובד

חיישן המרחק הקולי יעקוב ויזהה אדם יושב אם הוא יושב בטווח של 75 ס מ (המרחק מהצג למושב) מהחיישן.

הוא יעקוב אחר מספר השעות שאדם ישב והמרחק מהחיישן.

אם הוא/היא לא בטווח 75 ס מ שצוין, החיישן יניח שהאדם עזב את אזור הישיבה שלו. מסך OLED יציג את הזמן שאדם עזב לאחר שהתיישב.

אם החיישן עקב וזיהה שאדם יושב יותר משעתיים ברציפות, המסך יציג הודעה שתאפשר לו לקחת הפסקה.

מוּמלָץ: