top of page

Kontrol Buzzer dengan Serial Monitor + Output LED dan LCD I2C


Hal yang Akan Dilakukan

Dalam tutorial ini, kita akan belajar mengontrol buzzer menggunakan Serial Monitor, dengan tambahan feedback visual berupa LED merah dan biru, serta tampilan status di LCD I2C 16x2.


Rangkaian

5V  VCC LCD

GND GND LCD, anoda LED merah & biru dan Buzzer.

D7 katoda Buzzer

D6  resistor 470 Ohm  katoda LED merah

D5  resistor 470 Ohm  katoda LED biru

D2  SDA LCD

D1  SCL LCD


Skema Rangkaian

wiring

Penjelasan Rangkaian

Dalam sistem ini, setiap komponen memiliki fungsi spesifik:

- Buzzer terhubung ke pin D7 dan akan berbunyi saat diberi perintah melalui Serial Monitor.

- LED merah (D6) menyala saat buzzer aktif, memberikan indikasi visual.

- LED biru (D5) menyala saat buzzer mati.

- LCD I2C 16x2 menampilkan status buzzer (ON/OFF) dan pesan awal proyek.

- Komunikasi Serial digunakan untuk menerima input dari pengguna.


Kode Program

Kode ini akan membaca perintah dari Serial Monitor:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define buzzer D7
#define merah D6
#define biru D5

// Menginisialisasi LCD I2C dengan alamat 0x27 dan ukuran 16x2
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  pinMode(merah, OUTPUT);
  pinMode(biru, OUTPUT);
  
  lcd.begin();
  lcd.backlight();
  lcd.clear();

  lcd.setCursor(4, 0);
  lcd.print("Welcome");
  lcd.setCursor(0, 1);
  lcd.print("Cosmo IoT Project");

  Serial.println("Ketik 1 untuk menyalakan buzzer, 2 untuk mematikannya");
  delay(2000);
  lcd.clear(); // Bersihkan layar setelah welcome message
  
  lcd.setCursor(0, 0);
  lcd.print("Status Buzzer:");
  lcd.setCursor(0, 1);
  lcd.print("OFF");
}

void loop() {
  if (Serial.available() > 0) {
    String command = Serial.readStringUntil('\n');
    command.trim();  // Menghapus spasi atau newline

    if (command == "1") {
      digitalWrite(buzzer, HIGH);
      digitalWrite(merah, HIGH);
      digitalWrite(biru, LOW);
      Serial.println("Buzzer menyala");
      
      lcd.setCursor(0, 1);
      lcd.print("ON ");
    } else if (command == "2") {
      digitalWrite(buzzer, LOW);
      digitalWrite(biru, HIGH);
      digitalWrite(merah, LOW);
      Serial.println("Buzzer mati");

      lcd.setCursor(0, 1);
      lcd.print("OFF");
    } else {
      Serial.println("Perintah tidak dikenali. Ketik 1 untuk ON atau 2 untuk OFF.");
    }
  }
}

Penjelasan Kode Program

- LCD I2C diinisialisasi dengan alamat 0x27.

- Buzzer, LED merah, dan LED biru diatur sebagai output.

- Saat Serial Monitor menerima perintah "1", buzzer dan LED merah menyala.

- Saat menerima perintah "2", buzzer mati, dan LED biru menyala sebagai tanda OFF.

- LCD akan terus memperbarui status buzzer sesuai kondisi.


Hasil

Jika rangkaian dan kode program berjalan dengan benar:

- Buzzer berbunyi saat ketik "1" di Serial Monitor.

- Buzzer mati saat ketik "2".

- LED merah dan biru memberikan indikasi visual.

- LCD menampilkan status buzzer (ON/OFF).


Jika terjadi error, periksa:

- Koneksi SDA/SCL LCD ke Wemos D1 Mini.

- Alamat I2C LCD, gunakan scanner I2C jika teks tidak muncul.

- Catu daya sesuai, agar komponen bisa bekerja dengan stabil.


Video Tutorial

Untuk penjelasan lebih mendalam, tonton tutorial video berikut.




Kesimpulan

Dengan menggunakan Serial Monitor, kita dapat dengan mudah mengontrol buzzer dan mendapatkan feedback visual melalui LED dan LCD I2C. 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