Kontrol Buzzer dengan Serial Monitor + Output LED dan LCD I2C
- Adam Kusumah
- May 17
- 2 min read
Updated: May 23
Selamat datang di website Cosmo!
Dalam artikel 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
Untuk menyusun rangkaian, kita membutuhkan beberapa komponen berikut:
- Wemos D1 Mini (ESP8266)
- LCD I2C 16x2
- Buzzer
- LED merah dan biru
- Kabel jumper
- Breadboard
Skema Rangkaian

Penjelasan Rangkaian
5V → VCC LCD, VCC DHT11
GND → GND LCD, anoda LED merah & biru, Buzzer, DHT11.
D7 → katoda Buzzer
D6 → resistor 470 Ohm à katoda LED merah
D5 → resistor 470 Ohm à katoda LED biru
D3 → pin data DHT11
D2 → SDA LCD
D1 → SCL LCD
Kode Program
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN D3 // Sensor DHT11 di Pin D7
#define DHTTYPE DHT11 // Tipe sensor
DHT dht(DHTPIN, DHTTYPE);
#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("Cosmo IoT");
lcd.setCursor(0, 1);
lcd.print("DHT11 Monitoring");
dht.begin(); // Mulai DHT11
delay(2000);
lcd.clear();
}
void loop() {
// Membaca suhu dan kelembaban dari DHT11
float suhu = dht.readTemperature();
float humid = dht.readHumidity();
// Menentukan status berdasarkan suhu
String status;
if (suhu < 20) {
status = "Dingin";
digitalWrite(biru, HIGH);
digitalWrite(merah, LOW);
digitalWrite(buzzer, LOW);
} else if (suhu >= 20 && suhu <= 30) {
status = "Normal";
digitalWrite(biru, LOW);
digitalWrite(merah, LOW);
digitalWrite(buzzer, LOW);
} else {
status = "Panas";
digitalWrite(biru, LOW);
digitalWrite(merah, HIGH);
digitalWrite(buzzer, HIGH);
}
// Menampilkan data di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("S:");
lcd.print(suhu, 1);
lcd.print("C");
lcd.setCursor(8, 0);
lcd.print("K:");
lcd.print(humid, 1);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Status:");
lcd.print(status);
// Menampilkan data di Serial Monitor
Serial.print("Suhu: ");
Serial.print(suhu, 1);
Serial.print("C, Humid: ");
Serial.print(humid, 1);
Serial.print("%, Status: ");
Serial.println(status);
delay(2000);
}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:
instalasi library LCD I2C
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.
Semoga sesuai dengan yang kamu harapkan. Kalau ada revisi atau tambahan, tinggal beritahu aku.



Comments