- Komponen Diperlukan
- ADXL335 Accelerometer
- Diagram Sirkuit
- Bagaimana Pedometer Bekerja?
- Memprogram Penghitung Langkah Arduino
- Menguji Pedometer Arduino
Band kebugaran menjadi sangat populer saat ini, yang tidak hanya menghitung langkah kaki tetapi juga melacak kalori yang terbakar, menampilkan detak jantung, waktu pertunjukan, dan banyak lagi. Dan perangkat IoT ini disinkronkan dengan cloud sehingga Anda bisa dengan mudah mendapatkan semua riwayat aktivitas fisik Anda di smartphone. Kami juga telah membangun Sistem Pemantauan Pasien Berbasis IoT di mana data penting telah dikirim ke ThingSpeak untuk dipantau dari mana saja.
Pedometer adalah perangkat yang hanya digunakan untuk menghitung langkah kaki. Jadi dalam tutorial ini, kita akan membuat Pedometer DIY yang mudah dan murah menggunakan Arduino dan akselerometer. Pedometer ini akan menghitung jumlah langkah kaki dan menampilkannya pada modul LCD 16x2. Pedometer ini dapat diintegrasikan dengan Arduino Smart Watch ini.
Komponen Diperlukan
- Arduino Nano
- ADXL 335 Accelerometer
- 16 * 2 LCD
- Modul LCD I2C
- Baterai
ADXL335 Accelerometer
ADXL335 adalah akselerometer Analog 3 sumbu lengkap, dan bekerja berdasarkan prinsip penginderaan kapasitif. Ini adalah modul kecil, tipis, berdaya rendah dengan sensor mesin mikro permukaan polysilicon dan sirkuit pengkondisian sinyal. Akselerometer ADXL335 dapat mengukur percepatan statis dan dinamis. Di sini, di proyek Pedometer Arduino ini, akselerometer ADXL335 akan bertindak sebagai sensor Pedometer.
Sebuah Accelerometer adalah perangkat yang dapat mengkonversi percepatan ke arah manapun untuk variabel tegangan masing-masing. Ini dilakukan dengan menggunakan kapasitor (lihat gambar), saat Accel bergerak, kapasitor yang ada di dalamnya, juga akan mengalami perubahan (lihat gambar) berdasarkan pergerakan, karena kapasitansi bervariasi, tegangan variabel juga dapat diperoleh.
Di bawah ini adalah gambar untuk Accelerometer dari sisi depan dan belakang beserta keterangan pin-
Pin Deskripsi accelerometer:
- Suplai Vcc- 5 volt harus terhubung pada pin ini.
- X-OUT- Pin ini memberikan keluaran 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- Ground
- ST- Pin ini digunakan untuk mengatur sensitivitas sensor
Kami membangun banyak proyek menggunakan Accelerometer ADXL335 termasuk robot yang dikendalikan gerakan, Alarm Detektor Gempa Bumi, Game Ping Pong, dll.
Diagram Sirkuit
Diagram Sirkuit untuk Penghitung Langkah Akselerometer Arduino diberikan di bawah ini.
Di sirkuit ini, kami menghubungkan Arduino Nano dengan ADXL335 Accelerometer. Pin X, Y, dan Z dari akselerometer dihubungkan dengan pin Analog (A1, A2 & A3) dari Arduino Nano. Untuk menghubungkan modul LCD 16x2 dengan Arduino, kami menggunakan modul I2C. Pin SCL & SDA dari modul I2C masing-masing terhubung ke pin A5 dan A4 Arduino Nano. Koneksi lengkap diberikan pada tabel di bawah ini:
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 pertama kali membuat Pedometer ini menggunakan pengaturan Arduino di papan tempat memotong roti
Dan setelah pengujian berhasil kami mereplikasi di Perfboard dengan menyolder semua komponen di Perfboard seperti yang ditunjukkan di bawah ini:
Bagaimana Pedometer Bekerja?
Pedometer menghitung jumlah total langkah yang diambil seseorang dengan menggunakan tiga komponen gerakan yaitu maju, vertikal, dan samping. Sistem pedometer menggunakan akselerometer untuk mendapatkan nilai-nilai ini. Akselerometer terus memperbarui nilai maksimum dan minimum dari akselerasi 3 sumbu setelah setiap tidak ditentukan. sampel. Nilai rata-rata 3-sumbu (Max + Min) / 2 ini, disebut level ambang dinamis, dan nilai ambang ini digunakan untuk memutuskan apakah langkah tersebut diambil atau tidak.
Saat berlari, pedometer dapat berada dalam orientasi apa pun, sehingga pedometer menghitung langkah menggunakan sumbu yang perubahan percepatannya paling besar.
Sekarang izinkan saya memberi Anda panduan singkat tentang cara kerja Pedometer Arduino ini:
- Pertama, pedometer memulai kalibrasi segera setelah dinyalakan.
- Kemudian pada fungsi void loop , ia terus menerus mendapatkan data dari sumbu X, Y, dan Z.
- Setelah itu menghitung vektor percepatan total dari titik awal.
- Vektor percepatan adalah akar kuadrat (x ^ 2 + y ^ 2 + z ^ 2) dari nilai sumbu X, Y, dan Z.
- Kemudian membandingkan nilai percepatan rata-rata dengan nilai ambang batas untuk menghitung jumlah langkah.
- Jika vektor percepatan melewati nilai ambang batas, maka itu meningkatkan hitungan langkah; jika tidak, itu akan membuang getaran yang tidak valid.
Memprogram Penghitung Langkah Arduino
Kode Penghitung Langkah Arduino lengkap diberikan di akhir dokumen ini. Di sini kami menjelaskan beberapa cuplikan penting dari kode ini.
Seperti biasa, mulai kode dengan memasukkan semua pustaka yang diperlukan. Akselerometer ADXL335 tidak memerlukan pustaka apa pun karena ini memberikan keluaran analog.
#include
Setelah itu, tentukan Arduino Pins, tempat akselerometer dihubungkan.
const int xpin = A1; const int ypin = A2; const int zpin = A3;
Tentukan nilai ambang untuk akselerometer. Nilai ambang batas ini akan dibandingkan dengan vektor percepatan untuk menghitung jumlah langkah.
ambang mengambang = 6;
Di dalam pengaturan void , fungsi mengkalibrasi sistem saat dinyalakan.
menyesuaikan();
Di dalam fungsi void loop , ini akan membaca nilai sumbu X, Y dan Z untuk 100 sampel.
untuk (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 345); penundaan (1); yaccl = float (analogRead (ypin) - 346); penundaan (1); zaccl = float (analogRead (zpin) - 416); penundaan (1);
Setelah mendapatkan nilai 3 sumbu, hitung vektor percepatan total dengan mengambil akar kuadrat dari nilai sumbu X, Y, dan Z.
totvect = sqrt (((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
Kemudian hitung rata-rata nilai vektor percepatan maksimum dan minimum.
totave = (totvect + totvect) / 2;
Sekarang bandingkan percepatan rata-rata dengan ambang batas. Jika rata-rata lebih besar dari ambang batas, maka tingkatkan hitungan langkah dan angkat bendera.
if (totave> threshold && flag == 0) {steps = steps + 1; bendera = 1; }
Jika rata-rata lebih besar dari ambang batas tetapi bendera dinaikkan, maka jangan lakukan apa pun.
else if (totave> threshold && flag == 1) {// Don't Count}
Jika total rata-rata kurang dari ambang batas dan bendera dinaikkan, maka turunkan bendera.
if (totave <threshold && flag == 1) {flag = 0; }
Cetak jumlah anak tangga pada monitor serial dan LCD.
Serial.println (langkah); lcd.print ("Langkah:"); lcd.print (langkah);
Menguji Pedometer Arduino
Setelah perangkat keras dan kode Anda siap, hubungkan Arduino ke laptop dan unggah kodenya. Sekarang ambil penyetelan pedometer di tangan Anda dan mulailah berjalan selangkah demi selangkah, itu harus menampilkan jumlah langkah pada LCD. Kadang-kadang meningkatkan jumlah langkah saat pedometer bergetar sangat cepat atau sangat lambat.
Video dan kode lengkap untuk pedometer ADXL335 Arduino diberikan di bawah ini.