Proyek IoT: Kontrol 4 Lampu Pintar dengan Layar LCD
Selamat datang di modul interaktif ini. Di sini Anda akan belajar merangkai dan memprogram mikrokontroler untuk mengontrol lampu dari jarak jauh melalui internet, lengkap dengan tampilan status pada layar LCD.
🎯 Tujuan Pembelajaran
Bagian ini merangkum apa yang akan Anda kuasai setelah menyelesaikan proyek ini. Memahami tujuan di awal akan membantu Anda fokus pada konsep-konsep kunci yang disajikan dalam langkah-langkah berikutnya.
Konsep Dasar IoT
Memahami bagaimana perangkat fisik dapat terhubung, bertukar data, dan dikontrol melalui jaringan internet.
Perakitan Perangkat Keras
Terampil merangkai mikrokontroler (Wemos D1 Mini) dengan aktuator (Relay) dan layar penampil (LCD I2C).
Konfigurasi Cloud
Mampu menggunakan platform Blynk IoT untuk menjembatani kontrol antara aplikasi antarmuka dan perangkat keras.
Perhatian Keselamatan Ekstra
Untuk tahap belajar dan eksperimen, Anda TIDAK PERLU menghubungkan relay ke aliran listrik rumah 220V sungguhan. Keberhasilan proyek cukup ditandai dengan bunyi "klik" mekanis pada komponen relay dan menyalanya lampu indikator LED kecil di modul relay tersebut.
Persiapan Alat & Bahan
Bagian ini memastikan Anda memiliki semua perangkat keras dan lunak yang dibutuhkan sebelum memulai perakitan. Gunakan daftar periksa interaktif di bawah ini untuk melacak kesiapan Anda. Grafik akan memperbarui progres Anda secara otomatis.
Daftar Periksa Komponen 0/8 Selesai
Status Kesiapan Proyek
Lengkapi daftar periksa untuk mencapai 100%
Panduan Skema Rangkaian (Wiring)
Bagian ini menjabarkan cara menyambungkan modul sensor dan aktuator ke mikrokontroler. Arahkan kursor atau klik pada nama pin di bagian Modul Eksternal (kiri) untuk melihat letak sambungannya secara presisi di bagian Wemos D1 Mini (kanan). Ini mencegah kesalahan penyambungan yang dapat merusak komponen.
📺 1. Modul LCD I2C
⚡ 2. Modul Relay 4 Channel
Interaktif: Arahkan kursor ke kotak pin di atas.
🧠 Mikrokontroler Wemos D1 Mini
Persiapan Aplikasi Blynk IoT
Langkah ini memandu Anda menghubungkan perangkat keras ke internet melalui platform cloud. Ikuti urutan ini dengan teliti. Data otentikasi yang dihasilkan di sini akan digunakan pada bagian pemrograman berikutnya.
Integrasi Kode Program
Di bagian ini, Anda akan memasukkan instruksi logika ke dalam "otak" mikrokontroler. Kode ini menggunakan bahasa C++ yang diadaptasi untuk Arduino IDE. Pastikan Anda mengubah variabel yang ditandai tebal dengan kredensial milik Anda sendiri sebelum mengunggahnya.
/************************************************************* * PROYEK IOT: KONTROL 4 LAMPU DENGAN LCD & BLYNK *************************************************************/ // Masukkan Template ID dan Name dari Blynk Anda #define BLYNK_TEMPLATE_ID "TMPL60F6NPBKm" #define BLYNK_TEMPLATE_NAME "KONTROL 4 LAMPU" #define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> // Inisialisasi LCD I2C (Alamat 0x27, 16 kolom, 2 baris) LiquidCrystal_I2C lcd(0x27, 16, 2); // Token dari aplikasi Blynk (Device Anda) char auth[] = "TOKEN_BLYNK_ANDA_DISINI"; // Kredensial WiFi (Hotspot Anda) char ssid[] = "NAMA_WIFI_ANDA"; char pass[] = "PASSWORD_WIFI_ANDA"; // Definisi Pin Relay #define RELAY1 D5 #define RELAY2 D6 #define RELAY3 D7 #define RELAY4 D3 // Variabel status lampu bool statusL1 = false, statusL2 = false, statusL3 = false, statusL4 = false; // Fungsi update teks LCD void perbaruiLCD() { lcd.setCursor(0, 0); lcd.print("L1:"); lcd.print(statusL1 ? "ON " : "OFF"); lcd.print(" L2:"); lcd.print(statusL2 ? "ON " : "OFF"); lcd.setCursor(0, 1); lcd.print("L3:"); lcd.print(statusL3 ? "ON " : "OFF"); lcd.print(" L4:"); lcd.print(statusL4 ? "ON " : "OFF"); } void setup() { Serial.begin(115200); // Mulai LCD lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Sistem Memulai.."); // Set pin relay jadi OUTPUT dan matikan di awal pinMode(RELAY1, OUTPUT); digitalWrite(RELAY1, HIGH); pinMode(RELAY2, OUTPUT); digitalWrite(RELAY2, HIGH); pinMode(RELAY3, OUTPUT); digitalWrite(RELAY3, HIGH); pinMode(RELAY4, OUTPUT); digitalWrite(RELAY4, HIGH); // Konek ke WiFi dan Blynk Blynk.begin(auth, ssid, pass); lcd.clear(); perbaruiLCD(); } void loop() { Blynk.run(); } // Fungsi tombol aplikasi Blynk BLYNK_WRITE(V1) { int pinValue = param.asInt(); statusL1 = (pinValue == 1); digitalWrite(RELAY1, !pinValue); perbaruiLCD(); } BLYNK_WRITE(V2) { int pinValue = param.asInt(); statusL2 = (pinValue == 1); digitalWrite(RELAY2, !pinValue); perbaruiLCD(); } BLYNK_WRITE(V3) { int pinValue = param.asInt(); statusL3 = (pinValue == 1); digitalWrite(RELAY3, !pinValue); perbaruiLCD(); } BLYNK_WRITE(V4) { int pinValue = param.asInt(); statusL4 = (pinValue == 1); digitalWrite(RELAY4, !pinValue); perbaruiLCD(); }
Pengujian & Solusi Masalah
Bagian terakhir ini menjelaskan prosedur standar pengunggahan kode ke alat, serta menyediakan panduan interaktif penyelesaian masalah yang sering dialami oleh pemula selama proses praktek IoT.
🚀 Prosedur Upload Singkat
- Hubungkan Wemos D1 Mini ke laptop menggunakan kabel data USB.
- Di Arduino IDE, pilih Board: Tools > Board > esp8266 > LOLIN(WEMOS) D1 R2 & mini.
- Pilih Port: Tools > Port > (Pilih COM yang terdeteksi).
- Klik tombol Upload. Tunggu hingga tulisan "Done uploading" muncul di log terbawah.
- Tekan tombol di aplikasi Blynk HP Anda. Layar LCD dan lampu relay harus merespon seketika.
Pusat Troubleshooting (FAQ)
Selamat mencoba dan berkreasi dengan teknologi IoT! 🎉