Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Ky projekt do të përdorë sensorin e distancës tejzanor Zio Qwiic për të zbuluar dhe ndjekur një person. Pajisja do të vendoset në mënyrë strategjike në krye të një ekrani/monitori përballë personit të ulur, para kompjuterit të tij/saj.
Projekti do të gjurmojë sa kohë ata janë ulur për orë/minuta. Pasi të arrihet koha maksimale e "uljes", ajo do t'i lajmërojë ata të ngrihen dhe të ecin përreth.
Hapi 1: Skematik
Hapi 2: Konfigurimi
Ju do të keni nevojë për modulet e mëposhtëm për të ndërtuar këtë projekt:
- Bordi i Zhvillimit Zuino M Uno
- Sensori i distancës tejzanor Zio Qwiic
- Ekran OLED 0.91”Zio Qwiic
- Kabllo Qwiic (200mm)
- Kabllo Micro USB
Hapi 3: Zinxhiri Daisy Të gjitha modulet së bashku
Hapi 4: Konfigurimi dhe Kodi
Shkarkoni dhe instaloni bibliotekat e mëposhtme në Arduino IDE tuaj:
- Biblioteka Adafruit GFX
- Biblioteka Adafruit SSD1306
Ngarko kodin e plotë të projektit në tabelën tuaj. Lidheni Uno -në tuaj në një kompjuter. Shkarkoni dhe ndizni kodin në Uno tuaj duke përdorur Arduino IDE.
Përndryshe, ju mund të shkarkoni kodin nga faqja jonë Github.
Hapi 5: Shpjegimi i kodit
Që në fillim, sensori do të zbulojë praninë e një njeriu të ulur brenda distancës 75 cm. Në këtë kohë, të gjithë numëruesit do të inicializohen në zero.
uint16_t koha_sit1 = 0; uint16_t koha_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Gama e distancës nga sensori në seatuint16_t maxsit_time = 7200000; // Vendosni kohën maksimale të uljes në ms
Brenda funksionit të lakut, sensori së pari do të zbulojë praninë njerëzore. Nëse asnjë objekt nuk është brenda intervalit të zbulimit, një 'numërues i largimit' do të fillojë të gjurmojë kohën kur askush nuk është i pranishëm.
nëse (distanca*0.1 <lim) {// zbulon nëse një person është brenda intervalit të zbulimit distanca_H = Wire.read (); distance_L = Wire.read (); distanca = (uint16_t) distanca_H << 8; distanca = distanca | distanca_L; ulem (); time_leave1 ++; // gjurmon kohën kur askush nuk është rreth kohës llogaritëse ();
Nëse ai/ajo ka qenë ulur për më shumë se 2 orë, kodi do të shfaqë një mesazh për personin që të bëjë një pushim.
if (time_sit2> maxsit_time) {maxsit (); time_leave1 = milis ()/1000; time_leave1 ++; koha llogaritëse ();
Nëse personi vendos të bëjë një pushim, kodi do të kontrollojë përsëri nëse ka prani njerëzore. Nëse nuk zbulohet asnjë prani, numëruesi i ulur do të rivendoset në zero dhe numëruesi i pushimeve do të fillojë. Sensori do të gjurmojë kohën kur personi ka lënë hapësirën e tij të punës për të bërë një pushim.
tjetër nëse (distanca*0.1> lim) {// zbulon nëse një person është jashtë rrezes së llogaritjes (); Serial.print ("Koha ulur:"); Serial.print (koha_sit2/1000); Serial.println ("sec"); koha_sit1 = milis ()/1000; Serial.println ("Askush"); koha_sit1 ++; vonesa (1000);
Hapi 6: Demo
Vendoseni sensorin e distancës tejzanor Zio Qwiic në krye të monitorit të kompjuterit tuaj.
Shënim: bettershtë më mirë ta vendosni sipër kompjuterit për të shmangur zbulimin e objekteve nga sensori që mund të shtrembërojnë rezultatet.
Mund të shihni rezultatet e kohës së ulur në ekranin OLED të bashkangjitur në pajisje.
Hapi 7: Si funksionon
Sensori i distancës tejzanor do të gjurmojë dhe zbulojë një person të ulur nëse ai/ajo është ulur brenda intervalit prej 75 cm (distanca nga monitori në vend) nga sensori.
Do të gjurmojë numrin e orëve në të cilat personi është ulur dhe distancën nga sensori.
Nëse ai/ajo nuk është brenda diapazonit të përcaktuar prej 75 cm, sensori do të supozojë se personi është larguar nga zona e tij/saj e uljes. Ekrani OLED do të shfaqë kohën kur një person ka mbetur pasi është ulur.
Nëse sensori ka gjurmuar dhe zbuluar se një person ka qenë ulur për më shumë se 2 orë rresht, ekrani do të shfaqë një mesazh për ta lënë atë të pushojë.