Rangkaian Percobaan 2 Kondisi 6




1. Prosedur [Kembali]

1. Tahap Persiapan Kode (Editor)

Pastikan program yang digunakan telah lengkap serta tidak mengandung kesalahan penulisan (syntax error). Berdasarkan tampilan yang ada, konfigurasi pin yang digunakan meliputi:

  • PA0 sebagai input push button (indikasi gigi mundur)
  • PA1 sebagai input sensor inframerah (IR) untuk deteksi objek
  • PB0 sebagai output LED hijau
  • PB1 sebagai output LED merah
  • PB2 sebagai output buzzer

2. Menjalankan Simulasi

Untuk memulai simulasi, tekan tombol Play yang ditandai dengan ikon segitiga berwarna hijau pada bagian atas tampilan simulasi.

Setelah itu, Wokwi akan melakukan proses kompilasi program. Jika tidak terdapat error, status sistem akan berubah menjadi Running yang menandakan simulasi telah aktif.


3. Pengujian Logika Rangkaian

Setelah simulasi berjalan, pengujian dapat dilakukan dengan beberapa langkah untuk memastikan sistem bekerja sesuai dengan logika program, khususnya kondisi if (switchState == HIGH).

Langkah A: Mengaktifkan Sistem (Gigi Mundur)
Tekan push button yang berada di bagian kiri atas. Ketika tombol ditekan, sistem dianggap dalam kondisi aktif.

Langkah B: Mensimulasikan Deteksi Objek
Gunakan komponen slide switch yang berfungsi sebagai sensor IR. Ubah posisinya dengan cara menggeser atau mengklik untuk memberikan variasi input pada sistem.

Langkah C: Mengamati Output

  • LED RGB: Perhatikan perubahan warna LED, dari hijau menjadi merah saat sensor mendeteksi adanya objek.
  • Buzzer: Apabila objek berada pada jarak yang dianggap dekat sesuai logika program, buzzer akan aktif, yang ditunjukkan dengan munculnya animasi gelombang suara pada komponen tersebut. 

2. Hardware dan Diagram Blok [Kembali]



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]



Prinsip Kerja Sistem

Sistem bekerja secara terus-menerus di dalam fungsi loop() dengan urutan proses sebagai berikut:


Langkah 1: Pengecekan Saklar Utama (Switch)

Mikrokontroler akan terlebih dahulu membaca kondisi saklar pada pin PA0 sebagai pengaktif sistem.

  • Jika switch TIDAK AKTIF (LOW):
    Sistem berada dalam kondisi mati (standby). Mikrokontroler akan:
    • Mengatur variabel detecting = false
    • Mematikan seluruh output:
      • LED Hijau = OFF
      • LED Merah = OFF
      • Buzzer = OFF
  • Jika switch AKTIF (HIGH):
    Sistem dinyalakan dan akan melanjutkan ke proses pemantauan sensor.

Langkah 2: Pemantauan Sensor IR

Saat sistem aktif, mikrokontroler membaca kondisi sensor IR pada pin PA1.


Kondisi A: Sensor Mendeteksi Objek (IR = LOW)

Jika sensor IR mendeteksi adanya objek, maka:

  • Deteksi awal (trigger pertama):
    Jika sebelumnya belum dalam kondisi deteksi (detecting = false), maka:
    • detecting diubah menjadi true
    • Waktu awal deteksi disimpan dalam startTime = millis()
  • Pemantauan durasi deteksi:
    Sistem akan terus menghitung lamanya objek terdeteksi menggunakan selisih waktu:

    millis() - startTime
  • Jika durasi ≥ 15 detik:
    Sistem masuk ke kondisi alarm, dengan respon:
    • LED Merah = ON
    • LED Hijau = OFF
    • Buzzer = ON

Artinya, alarm hanya aktif jika objek terdeteksi secara terus-menerus selama minimal 15 detik.


Kondisi B: Sensor Tidak Mendeteksi Objek (IR = HIGH)

Jika objek tidak lagi terdeteksi, maka sistem akan langsung:

  • Mereset status deteksi:
    • detecting = false
  • Mengubah output menjadi kondisi aman:
    • LED Merah = OFF
    • LED Hijau = ON
    • Buzzer = OFF

Hal ini menunjukkan bahwa area kembali dalam kondisi aman.


Kesimpulan Sistem

Secara keseluruhan, sistem memiliki mekanisme kerja sebagai berikut:

  • Switch berfungsi sebagai pengaktif atau penonaktif sistem
  • Sensor IR bertindak sebagai pendeteksi objek
  • Timer 15 detik digunakan sebagai validasi untuk menghindari alarm palsu
  • Sistem hanya memberikan alarm (LED merah + buzzer) jika objek terdeteksi secara kontinu dalam waktu tertentu
  • Jika objek hilang sebelum 15 detik, sistem kembali ke kondisi aman tanpa memicu alarm

Catatan Teknis (Nilai Tambah untuk Laporan)

  • Sistem menggunakan metode non-blocking timing (millis), sehingga lebih efisien dibandingkan delay()
  • Variabel detecting berfungsi sebagai penanda status (flag) untuk mendeteksi awal kejadian
  • Logika ini umum digunakan pada sistem:
    • keamanan (alarm system)
    • otomasi industri (delay trigger protection

4. Flowchart dan Listing Program [Kembali]




// --- DEFINISI PIN ---
#define SWITCH_PIN     PA0
#define IR_SENSOR_PIN  PA1

#define LED_GREEN      PB0
#define LED_RED        PB1
#define BUZZER         PB2

// --- VARIABEL TIMER ---
unsigned long startTime = 0;
bool detecting = false;

void setup() {
  // Input
  pinMode(SWITCH_PIN, INPUT);      // pakai pull eksternal
  pinMode(IR_SENSOR_PIN, INPUT);   // pakai pull-down eksternal

  // Output
  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_RED, OUTPUT);
  pinMode(BUZZER, OUTPUT);

  // Default OFF
  digitalWrite(LED_GREEN, LOW);
  digitalWrite(LED_RED, LOW);
  digitalWrite(BUZZER, LOW);
}

void loop() {

  // === 1. CEK SWITCH ===
  // Switch aktif saat HIGH (sesuai referensi kode Anda)
  if (digitalRead(SWITCH_PIN) == HIGH) {

    // === 2. CEK IR SENSOR ===
    // LOW = mendeteksi benda
    if (digitalRead(IR_SENSOR_PIN) == LOW) {

      // Jika baru mulai deteksi
      if (!detecting) {
        detecting = true;
        startTime = millis();
      }

      // Hitung durasi deteksi
      if (millis() - startTime >= 15000) {
        // === KONDISI ALARM ===
        digitalWrite(LED_RED, HIGH);
        digitalWrite(LED_GREEN, LOW);
        digitalWrite(BUZZER, HIGH);
      }

    } else {
      // === TIDAK MENDETEKSI ===
      detecting = false;

      digitalWrite(LED_RED, LOW);
      digitalWrite(LED_GREEN, HIGH);
      digitalWrite(BUZZER, LOW);
    }

  } else {
    // === SWITCH OFF ===
    detecting = false;

    digitalWrite(LED_GREEN, LOW);
    digitalWrite(LED_RED, LOW);
    digitalWrite(BUZZER, LOW);
  }

  delay(10); // ringan, tidak mengganggu timing utama
}

5. Video Demo [Kembali]


6. Kondisi [Kembali]

Kondisi 6
Buatlah rangkaian seperti pada gambar percobaan 2 dengan kondisi ketika infrared sensor mendeteksi benda secara terus-menerus selama lebih dari 15 detik , maka buzzer tetap berbunyi dan LED merah tetap menyala. 

7. Video Simulasi [Kembali]

8. Download File [Kembali]


 [Disini] Rangkaian simulasi

Komentar

Postingan populer dari blog ini

LINE FOLLOWER

Detektor Non-Inverting dengan Vref (+)