Isi kandungan:

Cara Membina Penjejak Waktu Duduk: 7 Langkah
Cara Membina Penjejak Waktu Duduk: 7 Langkah

Video: Cara Membina Penjejak Waktu Duduk: 7 Langkah

Video: Cara Membina Penjejak Waktu Duduk: 7 Langkah
Video: Melatih Disiplin Diri | Self-Discipline | Growth Course #7 2024, November
Anonim
Cara Membina Penjejak Waktu Duduk
Cara Membina Penjejak Waktu Duduk

Projek ini akan menggunakan Sensor Jarak Ultrasonik Zio Qwiic untuk mengesan dan mengesan seseorang. Peranti akan diletakkan secara strategik di atas skrin / monitor menghadap orang yang duduk, di hadapan komputernya.

Projek ini akan mengesan berapa lama mereka duduk dalam beberapa jam / minit. Setelah masa ‘duduk’ maksimum dicapai, ia akan menyedarkan mereka untuk berdiri dan berjalan-jalan.

Langkah 1: Skematik

Skematik
Skematik

Langkah 2: Persediaan

Persediaan
Persediaan

Anda memerlukan modul berikut untuk membina projek ini:

  • Lembaga Pembangunan Zuino M Uno
  • Sensor Jarak Ultrasonik Zio Qwiic
  • Paparan OLED Zio Qwiic 0.91”
  • Kabel Qwiic (200mm)
  • Kabel USB Mikro

Langkah 3: Rantai Daisy Semua Modul Bersama

Rangkaian Daisy Semua Modul Bersama
Rangkaian Daisy Semua Modul Bersama

Langkah 4: Konfigurasi & Kod

Muat turun dan pasang pustaka berikut ke Arduino IDE anda:

  • Perpustakaan Adafruit GFX
  • Perpustakaan Adafruit SSD1306

Muat naik Kod Projek Penuh ke papan anda. Pasang Uno anda ke komputer. Muat turun dan Flash kod ke Uno anda menggunakan Arduino IDE.

Sebagai alternatif, anda boleh memuat turun kod dari halaman Github kami.

Langkah 5: Penjelasan Kod

Sejak awal, sensor akan mengesan kehadiran manusia yang berada dalam jarak 75cm. Pada masa ini, semua kaunter akan dimulakan menjadi sifar.

uint16_t time_sit1 = 0; uint16_t time_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Jarak jarak dari sensor ke seatuint16_t maxsit_time = 7200000; // Tetapkan masa duduk maksimum dalam ms

Di dalam fungsi gelung, sensor terlebih dahulu akan mengesan kehadiran manusia. Sekiranya tidak ada objek yang berada dalam jarak pengesanan, ‘counter counter’ akan mula mengesan masa ketika tidak ada orang yang hadir.

jika (jarak * 0.1 <lim) {// mengesan jika seseorang berada dalam julat pengesanan jarak_H = Wire.read (); jarak_L = Wire.read (); jarak = (uint16_t) jarak_H << 8; jarak = jarak | jarak_L; duduk (); time_leave1 ++; // menjejaki masa yang tidak ada orang di sekitar waktu kiraan ();

Sekiranya dia duduk selama lebih dari 2 jam, kod tersebut akan memaparkan mesej untuk orang itu berehat sebentar.

jika (time_sit2> maxsit_time) {maxsit (); time_leave1 = milis () / 1000; time_leave1 ++; masa kiraan ();

Sekiranya orang tersebut memutuskan untuk berehat, kod tersebut akan memeriksa semula jika terdapat kehadiran manusia. Sekiranya tidak ada kehadiran yang dikesan, kaunter duduk akan diset semula ke sifar dan kaunter cuti akan dimulakan. Sensor akan mengesan masa orang itu meninggalkan ruang kerja mereka untuk berehat.

lain jika (jarak * 0.1> lim) {// mengesan jika seseorang berada di luar jarak kiraan (); Serial.print ("Masa duduk:"); Serial.print (time_sit2 / 1000); Serial.println ("sec"); time_sit1 = milis () / 1000; Serial.println ("Tiada siapa"); time_sit1 ++; kelewatan (1000);

Langkah 6: Demo

Demo
Demo

Letakkan Sensor Jarak Ultrasonik Zio Qwiic di atas monitor komputer anda.

Catatan: Lebih baik meletakkannya di atas komputer agar objek tidak dapat dikesan oleh sensor yang dapat memutarbelitkan hasilnya.

Anda dapat melihat hasil waktu duduk pada paparan OLED yang melekat pada peranti.

Langkah 7: Bagaimana Ia Berfungsi

Bagaimana ia berfungsi
Bagaimana ia berfungsi
Bagaimana ia berfungsi
Bagaimana ia berfungsi
Bagaimana ia berfungsi
Bagaimana ia berfungsi

Sensor Jarak Ultrasonik akan mengesan dan mengesan orang yang duduk jika dia duduk dalam jarak 75cm (jarak dari monitor ke tempat duduk) dari sensor.

Ia akan mengesan bilangan jam orang itu duduk dan jarak dari sensor.

Sekiranya dia tidak berada dalam jarak 75cm yang ditentukan, sensor akan menganggap bahawa orang itu meninggalkan tempat duduknya. Skrin OLED akan memaparkan waktu yang ditinggalkan seseorang setelah duduk.

Sekiranya sensor telah mengesan dan mengesan bahawa seseorang telah duduk selama lebih dari 2 jam, layar akan memaparkan mesej untuk membiarkannya berehat.

Disyorkan: