Description
Program sederhana untuk mengontrol LED menggunakan sensor PIR (Passive Infrared) pada Arduino. Saat sensor mendeteksi gerakan, LED akan menyala selama 5 detik dan kemudian mati. Jika tidak ada gerakan yang terdeteksi, LED tetap mati.
Komponen-komponen yang dipakai:
Arduino Uno:
- Fungsi: Mikrokontroler yang mengendalikan eksekusi program.
- Penggunaan dalam Kode: Untuk mengatur pin, membaca status sensor PIR, dan mengontrol LED.
Sensor PIR (Passive Infrared):
- Fungsi: Mendeteksi perubahan radiasi inframerah yang dihasilkan oleh objek bergerak.
- Penggunaan dalam Kode: Dikonfigurasi dengan pin khusus (dalam contoh, pin 2) dan digunakan untuk membaca status deteksi gerakan.
LED (Light Emitting Diode):
- Fungsi: Menyala atau mati sebagai tindak balas terhadap deteksi gerakan.
- Penggunaan dalam Kode: Dikonfigurasi dengan pin tertentu (dalam contoh, pin 13) dan diatur sesuai dengan kondisi deteksi gerakan.
Resistor (Tidak disebutkan secara eksplisit dalam kode):
- Fungsi: Melindungi LED dengan membatasi arus yang mengalir melaluinya.
- Penggunaan dalam Kode: Resistor dapat digunakan bersamaan dengan LED untuk mencegah kerusakan karena arus berlebih.
Serial Monitor (Melalui Komunikasi Serial):
- Fungsi: Memudahkan debug dan pemantauan dengan mencetak pesan ke Serial Monitor pada komputer.
- Penggunaan dalam Kode: Digunakan untuk mencetak pesan informasi, seperti "Motion detected!"
Breadboard dan Kabel Jumper:
- Fungsi: Memberikan platform untuk membuat sambungan sementara antara komponen.
- Penggunaan dalam Kode: Tidak langsung, tetapi diperlukan untuk menyusun sambungan fisik antara komponen.
Langkah-langkah Kode Bekerja:
Inisialisasi Pin:
- const int pirPin = 2;: Mendefinisikan pin digital 2 sebagai pin sinyal sensor PIR.
- const int ledPin = 13;: Mendefinisikan pin digital 13 sebagai pin untuk mengendalikan LED.
Setup:
- Serial.begin(9600);: Inisialisasi komunikasi serial dengan kecepatan 9600 bps untuk debugging (gunakan Serial Monitor untuk melihat pesan).
- pinMode(pirPin, INPUT);: Mengatur pin sensor PIR sebagai input.
- pinMode(ledPin, OUTPUT);: Mengatur pin LED sebagai output.
Loop:
- int pirState = digitalRead(pirPin);: Membaca status sensor PIR (HIGH jika ada gerakan, LOW jika tidak).
- if (pirState == HIGH) { ... }: Jika sensor mendeteksi gerakan:
- Serial.println("Motion detected!");: Mencetak pesan ke Serial Monitor.
- digitalWrite(ledPin, HIGH);: Menyalakan LED.

- delay(5000);: Menunggu selama 5 detik.
- digitalWrite(ledPin, LOW);: Mematikan LED.

- else { ... }: Jika tidak ada gerakan, LED tetap mati.