- Komponen Diperlukan
- Accelerometer ADXL335
- Rajah Litar
- Bagaimana Pedometer Berfungsi?
- Mengaturcara Arduino Step Counter
- Menguji Arduino Pedometer
Jalur kecergasan menjadi sangat popular pada masa ini, yang bukan sahaja menghitung langkah kaki tetapi juga mengesan kalori yang dibakar, memaparkan kadar degupan jantung, waktu tayangan dan banyak lagi. Dan peranti IoT ini diselaraskan dengan awan sehingga anda dapat dengan mudah mendapatkan semua sejarah aktiviti fizikal anda di telefon pintar. Kami juga telah membina Sistem Pemantauan Pesakit Berasaskan IoT di mana data kritikal telah dihantar ke ThingSpeak untuk dipantau dari mana saja.
Pedometer adalah alat yang hanya digunakan untuk mengira langkah kaki. Oleh itu, dalam tutorial ini, kita akan membina DIY Pedometer yang mudah dan murah menggunakan Arduino dan accelerometer. Pedometer ini akan mengira jumlah langkah kaki dan memaparkannya pada modul LCD 16x2. Pedometer ini dapat disatukan dengan Arduino Smart Watch ini.
Komponen Diperlukan
- Arduino Nano
- Accelerometer ADXL 335
- LCD 16 * 2
- Modul LCD I2C
- Bateri
Accelerometer ADXL335
ADXL335 adalah pecutan Analog 3 paksi lengkap, dan berfungsi berdasarkan prinsip penderiaan kapasitif. Ia adalah modul kecil, nipis dan rendah daya dengan sensor mesin mikro permukaan polysilicon dan litar penyekat isyarat. Accelerometer ADXL335 dapat mengukur pecutan statik dan dinamik. Di sini dalam projek Arduino Pedometer ini, akselerometer ADXL335 akan bertindak sebagai sensor Pedometer.
An pecutan adalah alat yang boleh menukar pecutan ke segala arah dengan voltan berubah masing-masing. Ini dicapai dengan menggunakan kapasitor (rujuk gambar), ketika Accel bergerak, kapasitor yang ada di dalamnya, juga akan mengalami perubahan (rujuk gambar) berdasarkan pergerakan, karena kapasitans bervariasi, voltan berubah juga dapat diperoleh.
Berikut adalah gambar untuk Accelerometer dari bahagian depan dan belakang bersama dengan keterangan pin-
Huraian Pin bagi pecutan:
- Bekalan Vcc- 5 volt harus disambungkan pada pin ini.
- X-OUT- Pin ini memberikan output Analog dalam arah x
- Y-OUT- Pin ini memberikan Output Analog dalam arah y
- Z-OUT- Pin ini memberikan Output Analog dalam arah z
- GND- Tanah
- ST- Pin ini digunakan untuk mengatur kepekaan sensor
Kami membina banyak projek menggunakan Accelerometer ADXL335 termasuk robot terkawal Gerak isyarat, Penggera Pengesan Gempa, Permainan Ping Pong, dll.
Rajah Litar
Diagram Litar untuk Arduino Accelerometer Step Counter diberikan di bawah.
Di litar ini, kita berinteraksi dengan Arduino Nano dengan Accelerometer ADXL335. Pin X, Y, dan Z akselerometer dihubungkan dengan pin Analog (A1, A2 & A3) Arduino Nano. Untuk menghubungkan antara modul 16x2 LCD dengan Arduino, kami menggunakan modul I2C. Pin SCL & SDA modul I2C masing-masing disambungkan ke pin A5 dan A4 Arduino Nano. Sambungan lengkap diberikan dalam jadual di bawah:
Arduino Nano | ADXL335 |
3.3V | VCC |
GND | GND |
A1 | X |
A2 | Y |
A3 | Z |
Arduino Nano | Modul LCD I2C |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
Kami mula-mula membina Pedometer ini menggunakan persediaan Arduino di papan roti
Dan setelah ujian berjaya, kami mereplikasi di Perfboard dengan menyolder semua komponen di Perfboard seperti yang ditunjukkan di bawah:
Bagaimana Pedometer Berfungsi?
Pedometer mengira jumlah langkah yang diambil oleh seseorang menggunakan tiga komponen gerakan yang maju, menegak, dan sisi. Sistem pedometer menggunakan pecutan untuk mendapatkan nilai-nilai ini. Accelerometer terus mengemas kini nilai maksimum dan minimum pecutan 3 paksi setelah setiap no yang ditentukan. sampel. Nilai rata-rata paksi 3 (Max + Min) / 2 ini, disebut tahap ambang dinamik, dan nilai ambang ini digunakan untuk memutuskan apakah langkah itu diambil atau tidak.
Semasa berjalan, pedometer dapat berada dalam orientasi apa pun, jadi pedometer menghitung langkah menggunakan sumbu yang perubahan percepatannya adalah yang terbesar.
Sekarang izinkan saya memberi anda panduan ringkas mengenai kerja Arduino Pedometer ini:
- Pertama, pedometer memulakan penentukuran sebaik sahaja dihidupkan.
- Kemudian dalam fungsi gelung void , ia secara berterusan mendapatkan data dari paksi X, Y, dan Z.
- Selepas itu, ia mengira vektor pecutan total dari titik permulaan.
- Vektor pecutan adalah punca kuasa dua (x ^ 2 + y ^ 2 + z ^ 2) dari nilai paksi X, Y, dan Z.
- Kemudian membandingkan nilai pecutan rata-rata dengan nilai ambang untuk mengira nombor langkah.
- Sekiranya vektor pecutan melintasi nilai ambang, maka ia meningkatkan jumlah langkah; jika tidak, ia akan membuang getaran yang tidak betul.
Mengaturcara Arduino Step Counter
Kod Arduino Step Counter yang lengkap diberikan di akhir dokumen ini. Di sini kami menerangkan beberapa potongan penting kod ini.
Seperti biasa, mulakan kod dengan memasukkan semua perpustakaan yang diperlukan. Accelerometer ADXL335 tidak memerlukan perpustakaan kerana memberikan output analog.
#sertakan
Selepas itu, tentukan Arduino Pin, di mana pecutan disambungkan.
const int xpin = A1; const int ypin = A2; const int zpin = A3;
Tentukan nilai ambang untuk pecutan. Nilai ambang ini akan dibandingkan dengan vektor pecutan untuk mengira bilangan langkah.
ambang apungan = 6;
Di dalam penyediaan kekosongan , fungsi menentukurkan sistem semasa dihidupkan.
menentukur ();
Di dalam fungsi gelung void , ia akan membaca nilai paksi X, Y dan Z untuk 100 sampel.
untuk (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 345); kelewatan (1); yaccl = float (analogRead (ypin) - 346); kelewatan (1); zaccl = float (analogRead (zpin) - 416); kelewatan (1);
Setelah mendapat nilai paksi 3, hitung jumlah pecutan vektor dengan mengambil punca kuasa dua nilai paksi X, Y, dan Z.
totvect = sqrt (((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
Kemudian hitung purata nilai vektor pecutan maksimum dan minimum.
totave = (totvect + totvect) / 2;
Sekarang bandingkan pecutan rata-rata dengan ambang. Sekiranya purata lebih besar daripada ambang, maka tingkatkan jumlah langkah dan naikkan bendera.
jika (totave> ambang && flag == 0) {langkah = langkah + 1; bendera = 1; }
Sekiranya rata-rata lebih besar daripada ambang tetapi bendera dinaikkan, maka jangan buat apa-apa.
lain jika (totave> ambang && flag == 1) {// Jangan Kira}
Sekiranya jumlah rata-rata kurang dari ambang dan bendera dinaikkan, maka letakkan bendera ke bawah.
jika (totave <ambang && flag == 1) {flag = 0; }
Cetak bilangan langkah pada monitor bersiri dan LCD.
Serial.println (langkah); lcd.print ("Langkah:"); lcd.print (langkah-langkah);
Menguji Arduino Pedometer
Setelah perkakasan dan kod anda siap, sambungkan Arduino ke komputer riba dan muat naik kodnya. Sekarang ambil pedometer di tangan anda dan mulailah berjalan selangkah demi selangkah, ia harus menunjukkan jumlah langkah pada LCD. Kadang-kadang ia meningkatkan bilangan langkah ketika pedometer bergetar dengan sangat cepat atau sangat perlahan.
Video dan kod kerja lengkap untuk pedometer ADXL335 Arduino diberikan di bawah.