Berikut adalah panduan untuk mengembangkan sistem deteksi siswa yang tidur menggunakan Arduino Uno dan sensor MPU6050.
### **Judul Proyek: "Sistem Deteksi Siswa Tidur Berbasis Arduino Uno"**
### **1. Pendahuluan**
**Latar Belakang:**
Tidur di kelas dapat mengganggu proses belajar-mengajar. Sistem deteksi siswa tidur dapat membantu guru untuk mengidentifikasi siswa yang tertidur sehingga dapat memberikan perhatian yang lebih.
**Tujuan:**
Mengembangkan sistem deteksi siswa tidur menggunakan sensor MPU6050 untuk mendeteksi posisi kepala siswa dan Arduino Uno untuk mengolah data dan memberikan notifikasi.
### **2. Komponen yang Dibutuhkan**
1. **Arduino Uno:**
- Perkiraan biaya: $20
2. **Sensor MPU6050:**
- Perkiraan biaya: $5 - $10
3. **Buzzer:**
- Perkiraan biaya: $1 - $2
4. **LED:**
- Perkiraan biaya: $0.5 - $1
5. **Resistor (220 ohm):**
- Perkiraan biaya: $0.1
6. **Kabel Jumper:**
- Perkiraan biaya: $2
7. **Breadboard:**
- Perkiraan biaya: $3 - $5
8. **Power Supply (5V):**
- Perkiraan biaya: $5
**Total Perkiraan Biaya: $36.6 - $45.1**
### **3. Langkah-Langkah Pengembangan**
#### **Langkah 1: Persiapan Hardware**
1. **Hubungkan Sensor MPU6050 ke Arduino Uno:**
- VCC ke 5V
- GND ke GND
- SDA ke A4
- SCL ke A5
2. **Hubungkan Buzzer dan LED:**
- Buzzer ke pin digital 8
- LED ke pin digital 9 dengan resistor 220 ohm
3. **Rangkai Komponen pada Breadboard:**
#### **Langkah 2: Pengembangan Software**
1. **Setup Arduino IDE:**
- Instal Arduino IDE.
- Instal library MPU6050 dari Arduino Library Manager.
2. **Kode untuk Deteksi Posisi Kepala:**
```cpp
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
int buzzerPin = 8;
int ledPin = 9;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
if (!mpu.testConnection()) {
Serial.println("MPU6050 connection failed");
while (1);
}
}
void loop() {
int16_t ax, ay, az;
mpu.getAcceleration(&ax, &ay, &az);
Serial.print("aX = "); Serial.print(ax);
Serial.print(" | aY = "); Serial.print(ay);
Serial.print(" | aZ = "); Serial.println(az);
// Deteksi jika kepala menunduk (nilai ax melebihi threshold tertentu)
if (ax > 15000 || ax < -15000) {
digitalWrite(buzzerPin, HIGH);
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
}
delay(500); // Interval pembacaan sensor
}
```
#### **Langkah 3: Pengujian dan Debugging**
1. **Pengujian Sistem:**
- Pastikan sensor MPU6050 berfungsi dengan baik dan memberikan data yang akurat.
- Uji coba sistem dengan mengubah posisi kepala (menunduk) untuk melihat apakah buzzer dan LED menyala.
2. **Debugging:**
- Perbaiki bug yang ditemukan selama pengujian.
- Sesuaikan threshold deteksi kepala menunduk sesuai kebutuhan.
### **Hasil yang Diharapkan**
- Sistem dapat mendeteksi siswa yang tidur dengan menundukkan kepala.
- Sistem memberikan notifikasi berupa suara buzzer dan nyala LED ketika deteksi terjadi.
### **Kesimpulan**
Proyek ini menggunakan Arduino Uno dan sensor MPU6050 untuk mendeteksi posisi kepala siswa yang menunduk sebagai indikasi tidur. Dengan mengikuti langkah-langkah ini, diharapkan sistem dapat diimplementasikan dengan sukses dan membantu guru dalam mengawasi siswa di kelas.
### **Referensi**
- Dokumentasi Arduino: https://www.arduino.cc/en/Guide/HomePage
- Dokumentasi MPU6050: https://playground.arduino.cc/Main/MPU-6050/
Dengan panduan ini, kamu dapat mengembangkan sistem deteksi siswa tidur yang sederhana namun efektif. Semoga berhasil!
Tidak ada komentar:
Posting Komentar