Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
See projekt kasutab inimese tuvastamiseks ja jälgimiseks Zio Qwiic ultraheli kaugusandurit. Seade paigutatakse strateegiliselt ekraani/kuvari kohale istuva inimese poole, tema arvuti ette.
Projekt jälgib, kui kaua nad on tundide/minutite jooksul istunud. Pärast maksimaalse istumisaja saavutamist hoiatab see neid püsti tõusma ja ringi kõndima.
Samm: skemaatiline
2. samm: seadistamine
Selle projekti loomiseks vajate järgmisi mooduleid:
- Zuino M Uno arendusamet
- Zio Qwiic ultraheli kaugusandur
- Zio Qwiic 0,91 -tolline OLED -ekraan
- Qwiic kaablid (200mm)
- Micro USB kaabel
3. samm: ühendage kõik moodulid kokku
Samm: seadistamine ja kood
Laadige alla ja installige oma Arduino IDE -sse järgmised teegid:
- Adafruit GFX raamatukogu
- Adafruit SSD1306 raamatukogu
Laadige oma projektile üles kogu projekti kood. Ühendage Uno arvutiga. Laadige Arduino IDE abil kood Unoesse alla ja välgutage.
Teise võimalusena saate koodi alla laadida meie Githubi lehelt.
Samm: koodi selgitus
Algusest peale tuvastab andur inimese kohaloleku 75 cm kaugusel. Praegu lähtestatakse kõik loendurid nulli.
uint16_t time_sit1 = 0; uint16_t time_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Kaugusvahemik andurist merepinnani16_t maxsit_time = 7200000; // Määrake maksimaalne istumisaeg ms -des
Silmusfunktsiooni sees tuvastab andur esmalt inimese kohaloleku. Kui tuvastamispiirkonnas pole ühtegi objekti, hakkab „lahkumisloendur” jälgima aega, mil kedagi pole.
if (kaugus*0,1 <lim) {// tuvastab, kas inimene asub tuvastamisvahemikus distance_H = Wire.read (); distance_L = Wire.read (); kaugus = (uint16_t) kaugus_H << 8; kaugus = kaugus | kaugus_L; istuma (); time_leave1 ++; // jälgib aega, mil keegi pole arvutusaja ümber ();
Kui ta on istunud kauem kui 2 tundi, kuvab kood isikule pausi tegemiseks teate.
if (time_sit2> maxsit_time) {maxsit (); aja_leht1 = millis ()/1000; time_leave1 ++; arvutusaeg ();
Kui inimene otsustab pausi teha, kontrollib kood uuesti, kas tegemist on inimestega. Kui kohalolekut ei tuvastata, nullitakse istumisloendur nulli ja käivitub lahkumisloendur. Andur jälgib aega, mil inimene on puhkamiseks tööruumist lahkunud.
else if (kaugus*0,1> lim) {// tuvastab, kas inimene on arvutusajast väljaspool (); Serial.print ("Aeg istuda:"); Seeria.print (time_sit2/1000); Serial.println ("sec"); time_sit1 = millis ()/1000; Serial.println ("Keegi"); time_sit1 ++; viivitus (1000);
6. samm: demo
Asetage Zio Qwiic ultraheli kaugusandur arvuti monitori peale.
Märkus. Parem on see asetada arvuti kohale, et sensor ei tuvastaks objekte, mis võivad tulemusi moonutada.
Istumisaja tulemusi saate vaadata seadme külge kinnitatud OLED -ekraanilt.
Samm 7: kuidas see toimib
Ultraheli kaugusandur jälgib ja tuvastab istuva inimese, kui ta istub andurist 75 cm kaugusel (kaugus monitorist istmesse).
See jälgib tundide arvu, mil inimene istus, ja kaugust andurist.
Kui ta ei ole määratud 75 cm vahemikus, eeldab andur, et inimene lahkus oma istekohast. OLED -ekraanil kuvatakse aeg, mille inimene lahkus pärast istumist.
Kui andur on jälginud ja tuvastanud, et inimene on istunud järjest rohkem kui 2 tundi, kuvatakse ekraanil teade, et ta saaks puhata.