LED Notifikasi RGB Arduino
LED Notifikasi RGB Arduino
Hardware:
- Arduino Uno/Nano
- Modul Bluetooth HC-05/HC-06
- LED RGB (common-cathode atau anode) + resistor 220 Ω per channel
- Kabel jumper
Skema Rangkaian:
- HC-05 TX → Arduino RX (pin 0)
- HC-05 RX → Arduino TX (pin 1)
- LED RGB:
- R → Arduino PWM pin 9 (via resistor)
- G → PWM pin 10
- B → PWM pin 11
- Common cathode → GND
Cara Kerja:
- Gunakan aplikasi seperti Notification Forwarder atau Serial Bluetooth Terminal di Android.
- Kirim pesan seperti 'WA' untuk WhatsApp dan 'TG' untuk Telegram ke HC-05.
- Arduino membaca data serial dan mengatur warna LED berdasarkan pesan tersebut.
void setup() {
Serial.begin(9600);
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
turnOff();
}
void loop() {
if (Serial.available()) {
String msg = Serial.readStringUntil('\n');
msg.trim();
if (msg == "WA") setColor(255, 165, 0);
else if (msg == "TG") setColor(0, 50, 255);
else turnOff();
}
}
void turnOff() {
analogWrite(pinR, 255);
analogWrite(pinG, 255);
analogWrite(pinB, 255);
2. Menggunakan Wi-Fi (ESP8266/ESP32 + IFTTT)
Hardware:
- ESP8266 (NodeMCU) atau ESP32
- LED RGB + resistor
Cara Kerja:
- Buat applet IFTTT dengan trigger 'Android Notifications' (untuk WhatsApp/Telegram).
- Aksi: 'Webhooks' untuk mengirim HTTP request ke ESP, misalnya:
http://192.168.1.50/notify?app=whatsapp
- ESP menjalankan server kecil dan mengatur warna LED berdasarkan parameter 'app'.
#include <WiFi.h>
#include <WebServer.h>
WebServer server(80);
const int pinR = 14, pinG = 12, pinB = 13;
void handleNotify() {
String app = server.arg("app");
if (app == "whatsapp") setColor(255,165,0);
else if (app == "telegram") setColor(0,50,255);
else turnOff();
server.send(200, "text/plain", "OK");
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) delay(500);
pinMode(pinR, OUTPUT); pinMode(pinG, OUTPUT); pinMode(pinB, OUTPUT);
server.on("/notify", handleNotify);
server.begin();
}
void loop() {
server.handleClient();
}