Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä projektissa käytetään Zio Qwiic -ultraääni -etäisyysanturia henkilön tunnistamiseen ja seurantaan. Laite sijoitetaan strategisesti näytön/näytön päälle istuvaa henkilöä kohti tietokoneen eteen.
Projekti seuraa, kuinka kauan he ovat istuneet tuntien/minuuttien aikana. Kun suurin istuma -aika on saavutettu, se varoittaa heitä nousemaan seisomaan ja kävelemään.
Vaihe 1: Kaavio
Vaihe 2: Asennus
Tämän projektin rakentamiseen tarvitset seuraavat moduulit:
- Zuino M Unon kehityslautakunta
- Zio Qwiic ultraääni -etäisyysanturi
- Zio Qwiic 0,91”OLED -näyttö
- Qwiic -kaapelit (200 mm)
- Micro USB -kaapeli
Vaihe 3: Ketjuta kaikki moduulit yhteen
Vaihe 4: Kokoonpano ja koodi
Lataa ja asenna seuraavat kirjastot Arduino IDE -laitteeseesi:
- Adafruit GFX -kirjasto
- Adafruitin SSD1306 -kirjasto
Lataa koko projektikoodi taulullesi. Liitä Uno tietokoneeseen. Lataa ja Flash -koodi Unoosi käyttämällä Arduino IDE: tä.
Vaihtoehtoisesti voit ladata koodin Github -sivultamme.
Vaihe 5: Koodin selitys
Alusta alkaen anturi havaitsee ihmisen läsnäolon 75 cm: n etäisyydellä. Tällä hetkellä kaikki laskurit alustetaan nollaan.
uint16_t time_sit1 = 0; uint16_t time_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Etäisyys anturista paikkaan 16_t maxsit_time = 7200000; // Aseta suurin istumisaika ms
Silmukkatoiminnon sisällä anturi havaitsee ensin ihmisen läsnäolon. Jos mikään kohde ei ole havaintoalueella, poistumislaskuri alkaa seurata aikaa, jolloin ketään ei ole läsnä.
if (etäisyys*0,1 <lim) {// havaitsee, onko henkilö havaitsemisalueella etäisyys_H = Wire.read (); distance_L = Wire.read (); etäisyys = (uint16_t) etäisyys_H << 8; etäisyys = etäisyys | etäisyys_L; istua(); time_leave1 ++; // seuraa aikaa, kun kukaan ei ole laskettuun aikaan ();
Jos hän on istunut yli 2 tuntia, koodi näyttää viestin taukoa varten.
if (time_sit2> maxsit_time) {maxsit (); aika_lähtö1 = millis ()/1000; time_leave1 ++; laskettu aika ();
Jos henkilö päättää pitää tauon, koodi tarkistaa uudelleen, onko läsnäolo. Jos läsnäoloa ei havaita, istumalaskuri nollautuu ja poistumislaskuri käynnistyy. Anturi seuraa aikaa, jonka henkilö on poistunut työtilaltaan pitämään tauon.
else if (etäisyys*0,1> lim) {// havaitsee, onko henkilö laskenta -ajan ulkopuolella (); Serial.print ("Time sit:"); Sarjanjälki (time_sit2/1000); Serial.println ("sec"); time_sit1 = millis ()/1000; Serial.println ("Kukaan"); time_sit1 ++; viive (1000);
Vaihe 6: Esittely
Aseta Zio Qwiic Ultraäänietäisyysanturi tietokoneen näytön päälle.
Huomautus: On parempi laittaa se tietokoneen yläpuolelle, jotta anturi ei havaitse esineitä, jotka voivat vääristää tuloksia.
Voit tarkastella istumisajan tuloksia laitteeseen kiinnitetyssä OLED -näytössä.
Vaihe 7: Näin se toimii
Ultraääni -etäisyysanturi seuraa ja tunnistaa istuvan henkilön, jos hän istuu 75 cm: n (etäisyys näytöstä istuimeen) etäisyydellä anturista.
Se seuraa tuntien lukumäärää ja etäisyyttä anturista.
Jos hän ei ole määritetyllä 75 cm: n alueella, anturi olettaa, että henkilö on poistunut istuinalueeltansa. OLED -näytössä näkyy aika, jonka henkilö jäi istuessaan.
Jos anturi on seurannut ja havainnut, että henkilö on istunut yli 2 tuntia peräkkäin, näytöllä näkyy viesti, jonka avulla hän voi pitää tauon.