Jam Digital Pintar
Hallo teman-teman!, disini saya mau sharing cara membuat jam digital "pintar" menggunakan modul WiFi ESP8266 dan display Dot Matrix LED MAX7219. Perangkat ini dapat dikontrol sepenuhnya melalui antarmuka web (web server) yang di-hosting langsung oleh ESP8266.
Pengguna dapat menampilkan teks berjalan, jam & tanggal (disinkronkan dengan NTP), dan berbagai animasi demo langsung dari browser HP atau komputer.
Fitur Utama
- Kontrol via Web: Antarmuka web yang responsif untuk mengontrol semua fungsi.
- Teks Berjalan (Scrolling Text): Mengatur teks kustom, kecepatan, kecerahan, dan efek (kiri, kanan, atas, bawah).
- Jam & Tanggal Otomatis (NTP): Otomatis mengambil waktu dan tanggal dari internet (NTP Server). Dikonfigurasi untuk GMT+7 (WIB).
- Efek Spesial: Berbagai efek transisi teks seperti Static, Fade, Wipe, Mesh, Buka, dan Tutup.
- Animasi Demo: Termasuk 6 mode animasi bawaan: Lampu Berjalan, Gelombang (Sine Wave), Kedip (Blink), Acak (Random), Sweep (dengan berbagai pola & arah), dan Matrix (Digital Rain)
- Mode Access Point (AP): Jika gagal terhubung ke WiFi, ESP8266 akan otomatis membuat hotspot sendiri (Jam Digital Pintar) untuk konfigurasi.
- Konfigurasi WiFi via Web: Memungkinkan pengguna untuk menghubungkan perangkat ke jaringan WiFi baru melalui antarmuka web.
Perangkat Keras (Hardware)
- ESP8266: Board seperti NodeMCU v2/v3 atau Wemos D1 Mini.
- Modul MAX7219: Modul Dot Matrix LED 4-in-1 tipe FC-16 (yang umum di pasaran).
- Kabel Jumper: Kabel jumper female-to-female secukupnya.
- Power Supply: 5V Micro-USB yang stabil.
Perangkat Lunak (Software & Library)
- Arduino IDE: Pastikan Anda sudah menginstal board package untuk ESP8266.
- Library Arduino: MD_Parola, MD_MAX72xx, ESPAsyncWebServer, ESPAsyncTCP, dan NTPClient
Cara termudah menginstal library adalah melalui Tools > Manage Libraries... di Arduino IDE dan cari nama library di atas.
1. Koneksi Perangkat Keras (Wiring)
Hubungkan pin dari ESP8266 (NodeMCU) ke modul MAX7219 sebagai berikut:
(Pin ini didefinisikan di dalam kode. Anda bisa mengubahnya jika perlu)
#define DATA_PIN 13 // D7
#define CS_PIN 12 // D6
#define CLK_PIN 14 // D5
2. Konfigurasi Kode
Buka file .ino di Arduino IDE dan lakukan beberapa penyesuaian:
- Konfigurasi WiFi Awal:
Masukkan SSID dan Password WiFi rumah Anda agar perangkat bisa langsung terhubung saat pertama kali dinyalakan.
String ssid = "NAMA_WIFI_ANDA";
String password = "PASSWORD_WIFI_ANDA";
- Konfigurasi Modul Matrix:
Kode ini sudah diatur untuk modul FC-16 (paling umum) dan 4 blok matrix. Jika Anda menggunakan modul yang berbeda, sesuaikan di bagian ini.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
- Konfigurasi Zona Waktu (NTP):
Kode ini diatur ke GMT+7 (WIB). Angka 25200 adalah jumlah detik dari GMT (7 jam * 3600 detik). Sesuaikan jika Anda berada di zona waktu berbeda (misal WITA: 28800, WIT: 32400).
// Di dalam fungsi setup()
timeClient.setTimeOffset(25200); // GMT+7 = 25200
3. Upload Kode
- Pilih board Anda (Misal: "Generic ESP8266 Module").
- Pilih Port COM yang benar.
- Klik Upload.
1. Saat Pertama Kali Dinyalakan
- Mode STA (Berhasil terhubung): Jika kredensial WiFi (SSID/Password) yang Anda masukkan di kode benar, perangkat akan terhubung ke WiFi Anda. Display matrix akan menampilkan alamat IP-nya (misal: IP:192.168.1.10).
- Mode AP (Gagal terhubung): Jika gagal terhubung (misal: WiFi salah password atau tidak ada), display akan menampilkan "Tidak ada WiFi". Perangkat akan otomatis membuat hotspot WiFi sendiri dengan nama: SSID: Jam Digital Pintar dan Password: 12345678
2. Mengakses Antarmuka Web
1. Jika Terhubung ke WiFi (Mode STA):
- Buka browser di HP atau PC yang terhubung ke jaringan WiFi yang sama.
- Ketikkan alamat IP yang ditampilkan di display matrix (misal: http://192.168.1.10).
2. Jika dalam Mode AP:
- Hubungkan HP Anda ke WiFi Jam Digital Pintar (password: 12345678).
- Setelah terhubung, buka browser di HP Anda.
- Ketikkan alamat IP default-nya: http://192.168.4.1.
3. Menggunakan Antarmuka Web
Teks Berjalan:
- Input Teks: Masukkan teks yang ingin Anda tampilkan.
- Slider Kecerahan: Mengatur tingkat kecerahan (0-15).
- Slider Kecepatan: Mengatur kecepatan teks berjalan (lebih kecil = lebih cepat).
- Dropdown Efek: Memilih arah scroll (Kiri, Kanan, Atas, Bawah).
- Tombol "Tampilkan Teks": Mengirim perintah ke matrix.
Efek Spesial:
- Kumpulan tombol untuk menampilkan teks dengan efek transisi statis (Fade, Wipe, Buka, Tutup, dll).
Animasi Demo:
- Tombol-tombol untuk menjalankan animasi bawaan (Lampu Berjalan, Gelombang, Matrix, dll).
- Arah Sweep & Kecepatan Sweep: Pengaturan khusus untuk demo "Sweep".
Waktu & Tanggal:
- Input untuk mengatur tanggal dan waktu secara manual.
- Tombol "Tampilkan Waktu & Tanggal": Menampilkan jam dan tanggal di matrix.
- Tombol "Set Waktu HP": Mengambil waktu dan tanggal saat ini dari HP Anda dan menampilkannya di matrix (paling praktis!).
Koneksi WiFi:
- Masukkan SSID dan Password WiFi baru.
- Klik "Hubungkan". Perangkat akan menyimpan kredensial baru dan restart untuk mencoba terhubung ke jaringan baru tersebut.



0 Response to "Jam Digital Pintar"
Post a Comment