Berikut adalah contoh program Arduino untuk mendeteksi api lilin menggunakan sensor api dan memadamkannya dengan kipas. Program ini dirancang untuk Arduino UNO.
Komponen yang Dibutuhkan
1x Arduino UNO
1x Sensor Deteksi Api IR (Infrared Flame Sensor)
1x Motor Kipas DC (DC Fan Motor)
1x Transistor NPN (misalnya, 2N2222)
1x Dioda (misalnya, 1N4001)
1x Resistor 1 kΩ
Kabel Jumper dan Breadboard
Rangkaian
Sensor Deteksi Api ke Arduino:
Pin VCC sensor ke pin 5V Arduino.
Pin GND sensor ke pin GND Arduino.
Pin A0 (analog) sensor ke pin A0 Arduino.
Pin D0 (digital) sensor ke pin D7 Arduino.
Kipas ke Arduino (melalui Transistor):
Hubungkan salah satu kabel kipas ke pin GND Arduino.
Hubungkan kabel kipas yang lain ke kolektor transistor.
Hubungkan emitor transistor ke pin GND Arduino.
Hubungkan resistor 1 kΩ dari pin D8 Arduino ke basis transistor.
Hubungkan dioda secara paralel dengan kipas, dengan anoda terhubung ke kabel yang terhubung ke kolektor dan katoda terhubung ke kabel yang terhubung ke 5V. Ini untuk melindungi transistor dari lonjakan tegangan balik dari motor.
Hubungkan pin 5V Arduino ke salah satu kabel kipas.
Program Arduino (Kode)
Kamu bisa menyalin kode berikut ke Arduino IDE. Kode ini akan membaca data dari sensor api dan menyalakan kipas jika api terdeteksi.
// Definisikan pin untuk sensor api dan kipas
const int flameSensorPin = A0; // Pin analog untuk sensor api (A0)
const int flamePin = 7; // Pin digital untuk output sensor (D0)
const int fanPin = 8; // Pin untuk mengontrol kipas
void setup() {
// Atur pin kipas sebagai OUTPUT
pinMode(fanPin, OUTPUT);
// Atur pin digital sensor api sebagai INPUT
pinMode(flamePin, INPUT);
// Inisialisasi komunikasi serial untuk debugging
Serial.begin(9600);
Serial.println("Sistem pendeteksi api siap.");
}
void loop() {
// Baca nilai dari pin digital sensor api
int flameStatus = digitalRead(flamePin);
// Baca nilai dari pin analog sensor api (opsional untuk akurasi)
int flameValue = analogRead(flameSensorPin);
// Tampilkan nilai di Serial Monitor untuk debugging
Serial.print("Status digital: ");
Serial.print(flameStatus);
Serial.print(", Nilai analog: ");
Serial.println(flameValue);
// Cek jika api terdeteksi (sensor memberikan nilai LOW)
if (flameStatus == LOW) {
// Nyalakan kipas
digitalWrite(fanPin, HIGH);
Serial.println("Api terdeteksi! Kipas menyala.");
} else {
// Matikan kipas jika tidak ada api
digitalWrite(fanPin, LOW);
Serial.println("Tidak ada api. Kipas mati.");
}
// Beri jeda sejenak sebelum pembacaan berikutnya
delay(500);
}
Cara Kerja Program
Inisialisasi (
setup()
): Program akan menyiapkan pinfanPin
sebagai output danflamePin
sebagai input. Komunikasi serial juga dimulai untuk membantu kamu memantau status sensor di Serial Monitor.Loop Berulang (
loop()
): Program terus-menerus membaca status dari pin digitalflamePin
.Logika Deteksi:
Jika sensor mendeteksi api, pin
flamePin
akan berubah menjadi LOW.Ketika
flameStatus
adalah LOW, program akan menyalakan kipas dengan mengaturdigitalWrite(fanPin, HIGH)
.Jika tidak ada api, pin
flamePin
akan tetap HIGH.Ketika
flameStatus
adalah HIGH, program akan mematikan kipas dengan mengaturdigitalWrite(fanPin, LOW)
.
Dengan program dan rangkaian ini, ketika sensor api mendeteksi nyala lilin, ia akan secara otomatis mengaktifkan kipas untuk meniupnya.
Komentar
Posting Komentar