Lewati ke konten utama
seratusribu.com
Semua artikel
ESP32 & IoT

Lampu RGB WS2812 dengan ESP32: Kontrol Warna Lewat Browser HP

Oleh Anang H. Darmawan

2 menit baca
Laporkan
Lampu RGB WS2812 dengan ESP32: Kontrol Warna Lewat Browser HP

Foto: Zishan khan / Unsplash

Strip LED WS2812 bisa menyalakan ratusan lampu yang warnanya diatur satu per satu, dan dengan ESP32, kendalinya cukup lewat browser HP tanpa aplikasi tambahan. Ini proyek yang kelihatan sederhana, tapi tiga kesalahan di sisi hardware sering membuat strip redup, mati tiba-tiba, atau tidak bisa dikendalikan sama sekali.

Kesalahan itu selalu berakar dari listrik dan level tegangan, bukan kode. Selesaikan dua hal ini dulu sebelum menulis program.

Hitung catu daya per LED

Setiap LED WS2812 membutuhkan maksimal sekitar 60 miliampere saat menyala putih penuh. Untuk 60 LED, itu artinya sampai 3,6 ampere dalam kondisi terparah. Kalau kamu memakai adaptor 1 ampere untuk strip ini, lampu akan berkedip atau mati saat banyak LED menyala bersamaan.

Hitung kebutuhan dan selalu tambah jarak aman. Strip 60 LED sebaiknya memakai adaptor 3 sampai 5 ampere. Arus listrik mengalir dari adaptor langsung ke strip, bukan melalui GPIO ESP32 yang hanya boleh memberi sinyal data.

Level shifter untuk data 3.3V ke 5V

Sinyal data WS2812 dirancang untuk tegangan 5V, sedangkan GPIO ESP32 keluar pada 3.3V. Banyak strip ternyata masih bekerja dengan 3.3V, tapi tidak semua, dan hasilnya bisa berupa warna acak atau LED yang berkedip aneh, terutama untuk strip yang panjang atau kabel data yang jauh.

Solusi yang paling aman adalah memberi level shifter, misalnya modul kecil berbasis IC 74HCT245 atau 74AHCT125, untuk menaikkan sinyal data 3.3V menjadi 5V. Sinyal data juga perlu garis yang terpisah dari kabel daya.

Resistor data dan kapasitor

Dua komponen kecil membuat perbedaan besar. Resistor 330 sampai 470 ohm dipasang seri pada jalur data, di dekat pin ESP32, untuk meredam pantulan sinyal dan noise. Kapasitor elektrolit 470 sampai 1000 mikrofarad dipasang di titik masuk daya strip untuk menstabilkan tegangan saat banyak LED menyala serentak.

Tanpa kapasitor, lonjakan arus saat seluruh strip menyala bisa membuat ESP32 restart. Dua komponen ini termasuk yang paling sering terlewat di tutorial cepat.

Web server lokal di ESP32

Setelah hardware benar, ESP32 bisa menjalankan web server sederhana yang menyajikan halaman kontrol. Halaman itu berisi pemilih warna dan tombol efek, lalu setiap pilihan dikirim kembali ke ESP32 lewat permintaan HTTP untuk mengubah warna strip. Karena servernya lokal, kamu cukup terhubung ke WiFi yang sama, tanpa layanan cloud.

Efek animasi seperti pelangi bergerak atau fade bisa ditambahkan dengan mengubah warna sejumlah LED dalam satu waktu, dan kecepatannya diatur dari halaman web. Mulailah dari pola sederhana dulu, lalu tambah efek baru satu per satu sambil memastikan pergerakannya tetap mulus.

Proyek jadi tanpa merakit sendiri

Kalau ingin langsung memakai tanpa merakit dan menulis kode, Kontrol Lampu RGB WS2812 via Web (Rp125.000) sudah berupa kode jadi untuk mengganti warna, pola, dan efek dari HP. Untuk kendali lampu rumah yang lebih umum lewat aplikasi, Smart Home Saklar Lampu via WiFi + App Blynk (Rp140.000) mengendalikan lampu dari mana saja sambil tetap menyediakan saklar manual. Mulai dari strip 30 LED, pastikan warnanya stabil selama satu malam penuh, baru kembangkan.