Tutorial Arduino Indonesia : pemadam api

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

  1. 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.

  2. 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.

C++
// 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

  1. Inisialisasi (setup()): Program akan menyiapkan pin fanPin sebagai output dan flamePin sebagai input. Komunikasi serial juga dimulai untuk membantu kamu memantau status sensor di Serial Monitor.

  2. Loop Berulang (loop()): Program terus-menerus membaca status dari pin digital flamePin.

  3. Logika Deteksi:

    • Jika sensor mendeteksi api, pin flamePin akan berubah menjadi LOW.

    • Ketika flameStatus adalah LOW, program akan menyalakan kipas dengan mengatur digitalWrite(fanPin, HIGH).

    • Jika tidak ada api, pin flamePin akan tetap HIGH.

    • Ketika flameStatus adalah HIGH, program akan mematikan kipas dengan mengatur digitalWrite(fanPin, LOW).

Dengan program dan rangkaian ini, ketika sensor api mendeteksi nyala lilin, ia akan secara otomatis mengaktifkan kipas untuk meniupnya.

Komentar