Turinys:

Kaip sukurti sėdėjimo laiko stebėjimo priemonę: 7 žingsniai
Kaip sukurti sėdėjimo laiko stebėjimo priemonę: 7 žingsniai

Video: Kaip sukurti sėdėjimo laiko stebėjimo priemonę: 7 žingsniai

Video: Kaip sukurti sėdėjimo laiko stebėjimo priemonę: 7 žingsniai
Video: Pirmieji Trumpo metai || Laikykitės ten su Andriumi Tapinu || S02E19 2024, Lapkritis
Anonim
Kaip sukurti sėdėjimo laiko sekiklį
Kaip sukurti sėdėjimo laiko sekiklį

Šiame projekte bus naudojamas „Zio Qwiic“ultragarsinis atstumo jutiklis, skirtas aptikti ir sekti žmogų. Prietaisas bus strategiškai pastatytas ekrano ar monitoriaus viršuje priešais sėdintį asmenį, priešais jo kompiuterį.

Projektas stebės, kiek laiko jie sėdėjo valandomis/minutėmis. Pasiekus maksimalų „sėdėjimo“laiką, jis įspės juos atsistoti ir vaikščioti.

1 žingsnis: schema

Schema
Schema

2 veiksmas: sąranka

Sąranka
Sąranka

Norėdami sukurti šį projektą, jums reikės šių modulių:

  • „Zuino M Uno“plėtros valdyba
  • „Zio Qwiic“ultragarsinis atstumo jutiklis
  • „Zio Qwiic“0,91 colio OLED ekranas
  • „Qwiic“kabeliai (200 mm)
  • Mikro USB kabelis

3 žingsnis: sudėkite visus modulius kartu

Daisy Chain Visi moduliai kartu
Daisy Chain Visi moduliai kartu

4 veiksmas: konfigūracija ir kodas

Atsisiųskite ir įdiekite šias bibliotekas į „Arduino IDE“:

  • „Adafruit GFX“biblioteka
  • Adafruit SSD1306 biblioteka

Įkelkite visą projekto kodą į savo lentą. Prijunkite „Uno“prie kompiuterio. Atsisiųskite ir „Flash“kodą į „Uno“naudodami „Arduino IDE“.

Arba galite atsisiųsti kodą iš mūsų „Github“puslapio.

5 žingsnis: kodo paaiškinimas

Nuo pat pradžių jutiklis aptiks žmogaus buvimą 75 cm atstumu. Šiuo metu visi skaitikliai bus inicijuoti iki nulio.

uint16_t time_sit1 = 0; uint16_t time_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Atstumo diapazonas nuo jutiklio iki seatuint16_t maxsit_time = 7200000; // Nustatykite maksimalų sėdėjimo laiką ms

Viduje kilpos funkcijos jutiklis pirmiausia aptiks žmogaus buvimą. Jei aptikimo diapazone nėra objekto, „išvykimo skaitiklis“pradės sekti laiką, kai niekas nėra.

if (atstumas*0,1 <lim) {// nustato, ar asmuo yra aptikimo diapazone distance_H = Wire.read (); distance_L = Wire.read (); atstumas = (uint16_t) atstumas_H << 8; atstumas = atstumas | atstumas_L; sėdėti(); time_leave1 ++; // seka laiką, kurio niekas nėra apytikriai apskaičiuotas ();

Jei jis (ji) sėdi ilgiau nei 2 valandas, kodas parodys pranešimą, kad asmuo galėtų padaryti pertrauką.

if (time_sit2> maxsit_time) {maxsit (); laikas_laikas1 = milis ()/1000; time_leave1 ++; apskaičiuotas laikas ();

Jei asmuo nusprendžia padaryti pertrauką, kodas dar kartą patikrins, ar yra žmonių. Jei buvimas neaptinkamas, sėdėjimo skaitiklis atstatomas į nulį ir pradedamas išeiti skaitiklis. Jutiklis stebės laiką, kurį žmogus paliko darbo vietą, kad galėtų pailsėti.

else if (atstumas*0,1> lim) {// nustato, ar asmuo yra už diapazono ribų skaičiavimo laikas (); Serial.print ("Laikas sėdėti:"); Serijinis atspaudas (time_sit2/1000); Serial.println ("sek"); laikas_sit1 = milis ()/1000; Serial.println („Niekas“); time_sit1 ++; vėlavimas (1000);

6 žingsnis: demonstracija

Demo
Demo

Padėkite „Zio Qwiic“ultragarsinį atstumo jutiklį ant kompiuterio monitoriaus.

Pastaba: geriau jį pastatyti virš kompiuterio, kad jutiklis neaptiktų jokių objektų, kurie galėtų iškreipti rezultatus.

Sėdėjimo laiko rezultatus galite peržiūrėti prie įrenginio prijungtame OLED ekrane.

7 žingsnis: kaip tai veikia

Kaip tai veikia
Kaip tai veikia
Kaip tai veikia
Kaip tai veikia
Kaip tai veikia
Kaip tai veikia

Ultragarsinis atstumo jutiklis stebės ir aptiks sėdintį žmogų, jei jis/ji sėdės 75 cm atstumu (atstumas nuo monitoriaus iki sėdynės) nuo jutiklio.

Jis stebės valandų skaičių, kurį asmuo sėdėjo, ir atstumą nuo jutiklio.

Jei jis/ji nėra nurodytame 75 cm diapazone, jutiklis manys, kad asmuo paliko savo sėdimąją zoną. OLED ekrane bus rodomas laikas, kurį žmogus paliko atsisėdęs.

Jei jutiklis stebėjo ir nustatė, kad žmogus sėdi ilgiau nei 2 valandas iš eilės, ekrane bus rodomas pranešimas, leidžiantis jam padaryti pertrauką.

Rekomenduojamas: