membuat alat pendeteksi kepadatan ruangan dengan Arduino

Membuat alat pendeteksi kepadatan ruangan dengan Arduino bisa menjadi proyek yang menarik dan bermanfaat. Alat ini dapat digunakan untuk menghitung jumlah orang dalam suatu ruangan dengan menggunakan sensor dan Arduino. Berikut adalah langkah-langkah umum untuk membuat alat tersebut:
Bahan yang Dibutuhkan
- Arduino Board (misalnya Arduino Uno)
- Sensor Ultrasonik (misalnya HC-SR04)
- Sensor PIR (Passive Infrared)
- LCD Display (opsional, untuk menampilkan jumlah orang)
- Breadboard dan kabel jumper
- Resistor dan komponen tambahan lainnya sesuai kebutuhan
- Power supply (baterai atau adaptor)
Langkah-langkah Pembuatan alat pendeteksi kepadatan ruangan dengan Arduino
- Persiapan Hardware:
- Hubungkan sensor ultrasonik ke Arduino (Trig dan Echo pin ke pin digital).
- Hubungkan sensor PIR ke Arduino (pin data ke pin digital).
- Jika menggunakan LCD, hubungkan LCD ke Arduino sesuai dengan pinout yang diperlukan (biasanya menggunakan I2C atau pin digital).
- Koding Arduino:
- Mulailah dengan menulis kode untuk membaca data dari sensor ultrasonik dan PIR.
- Gunakan data dari sensor ultrasonik untuk mengukur jarak, dan data dari sensor PIR untuk mendeteksi gerakan.
- Logika Penghitungan:
- Setiap kali sensor PIR mendeteksi gerakan, gunakan sensor ultrasonik untuk memastikan bahwa ada objek (manusia) yang bergerak masuk atau keluar dari ruangan.
- Tambahkan atau kurangi jumlah orang berdasarkan data sensor.
- Display (Opsional):
- Jika menggunakan LCD, tambahkan kode untuk menampilkan jumlah orang di layar LCD.
Contoh Kode
Berikut adalah contoh kode sederhana untuk mendeteksi dan menghitung jumlah orang menggunakan sensor ultrasonik dan PIR:
LiquidCrystal_I2C lcd(0x27, 16, 2);
int peopleCount = 0;
bool pirState = LOW;
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(pirPin, INPUT);
Serial.begin(9600);
lcd.begin();
lcd.backlight();
}
void loop() {
// Sensor Ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
// Sensor PIR
if (digitalRead(pirPin) == HIGH) {
if (pirState == LOW) {
if (distance < 100) { // Adjust this value based on your setup
peopleCount++;
}
pirState = HIGH;
}
} else {
pirState = LOW;
}
// Display on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("People Count:");
lcd.setCursor(0, 1);
lcd.print(peopleCount);
delay(1000); // Adjust this value based on your setup
}
Catatan
- Sesuaikan jarak pada sensor ultrasonik berdasarkan kebutuhan dan layout ruangan Anda.
- Lakukan kalibrasi pada sensor PIR untuk mendapatkan hasil yang akurat.
- Anda bisa menambahkan fitur tambahan seperti reset counter, data logging, dan lain-lain sesuai kebutuhan.

