Kontrol Buzzer dengan Serial Monitor + Output LED dan LCD I2C
- Adam Kusumah
- May 16
- 2 min read
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

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