top of page

Kontrol Kipas dan LED dengan Sensor Suara LM393 di Wemos D1 Mini

Updated: Jun 13

Skema Rangkaian



wiring

Penjelasan Rangkaian

1.5V   VCC LM393 & Katoda Relay

2.D2   Out LM393

3.GND   Anoda LM393, anoda LED & Anoda Relay

4.D7   Resistor 470 Ohm  LED

5.D3   Data Relay

6.Adaptor (+)   Com Relay

7.Adaptor (-)   Fan (-)

8.NO Relay   Fan (+)

const int soundSensorPin = D2;  // LM393 Digital Output (DO)
const int relayPin = D3;        // Kontrol relay
const int ledPin = D7;          // Indikator LED

bool fanState = false;          // Status awal kipas (mati)
unsigned long lastDetectTime = 0;
const int debounceTime = 300;   // Waktu debounce untuk menghindari trigger ganda

void setup() {
    Serial.begin(115200);
    pinMode(soundSensorPin, INPUT);  
    pinMode(relayPin, OUTPUT);  
    pinMode(ledPin, OUTPUT);  
    digitalWrite(relayPin, LOW); // Pastikan relay mati di awal
    digitalWrite(ledPin, LOW);   // LED mati di awal
}

void loop() {
    int soundDetected = digitalRead(soundSensorPin); 

    if (soundDetected == HIGH && millis() - lastDetectTime > debounceTime) {
        fanState = !fanState;  // Toggle status kipas
        digitalWrite(relayPin, fanState ? HIGH : LOW); // Aktifkan/matikan relay
        digitalWrite(ledPin, fanState ? HIGH : LOW);  // Nyalakan/matikan indikator LED
        lastDetectTime = millis();
        
        Serial.println(fanState ? "Kipas Menyala - LED ON" : "Kipas Mati - LED OFF");
    }
}

Hasil

Kode ini mengontrol kipas angin menggunakan sensor suara LM393 yang terhubung ke pin D2 pada Wemos D1 Mini. Saat sensor mendeteksi suara, sistem memeriksa apakah waktu debounce telah berlalu untuk menghindari pemicuan ganda. Jika kondisi terpenuhi, status kipas diubah dari menyala ke mati atau sebaliknya dengan mengaktifkan atau menonaktifkan relay pada pin D3, yang berfungsi sebagai sakelar elektronik untuk mengontrol daya kipas. LED indikator pada pin D7 juga dinyalakan atau dimatikan sesuai dengan status kipas. Sistem diinisialisasi dengan baud rate 115200 dan memastikan relay serta LED dalam keadaan mati saat startup. Waktu deteksi terakhir disimpan menggunakan fungsi millis() untuk menentukan apakah perubahan status dapat dilakukan.


Video Tutorial

Untuk penjelasan lebih mendalam, tonton tutorial video berikut.




Kesimpulan

Kalau ingin belajar lebih banyak tentang IoT, langsung kunjungi YouTube IQ+ dan temukan berbagai tutorial menarik.

Comments


Bantu tingkatkan
kualitas website ini!

Dengan memberi masukan dan/atau pertanyaan

Jika berkenan, silakan masukan e-mail Anda untuk kontak lebih lanjut

Pilihan
Masukan
Pertanyaan
Lainnya
bottom of page