Membuat Jam Digital Keren, Canggih dan Real Time Tanpa RTC Dengan Display Dot Matrix Max7219


Kebayang gak kalo sampeyan punya Jam Digital yang setting waktunya otomatis seperti Jam pada Smartphone. Tanpa perlu setting waktu manual, begitu sampeyan connect jam sampeyan dengan internet melalui WiFi maka jam-nya akan langsung berubah mengikuti waktu setempat. Pada pengaplikasiannya, jam digital ini bisa dikembangkan lagi untuk menunjukkan Jam Waktu Sholat yang tepat dan akurat. Jadi tidak perlu lagi ribut-ribut memperdebatkan soal TOA dan pengeras suara. Tapi ya itu semua kan pilihan masing-masing ya. Seringkali kita itu meributkan banyak hal dengan tidak menghadirkan solusi, pokoknya ya ribut saja dulu...ramai dulu...gaduh dulu.

Udah ya prolognya, daripada nanti malah melebar kemana-mana jadi malah menghilangkan semangat 'Lebih baik menyalakan lilin daripada mengutuk kegelapan' yang saya saya jadikan spirit dari website ini. Yuk ah langsung saja ke prakteknya tanpa berpanjang-panjang kata.

Kalo sampeyan mengikuti dan menjadi Subscriber di Youtube saya, sampeyan akan menemukan beberapa kali saya pernah praktek membuat jam digital menggunakan board Arduino. Kekurangannya adalah sampeyan perlu tambahan komponen RTC untuk bisa meng-update waktu secara Realtime. Bisa sih tidak pakai RTC tapi....begitu jam digital sampeyan OFF, sampeyan perlu effort untuk mengatur dan setting lagi waktunya.

Terus bagaimana kita bisa men-setting waktunya jika tidak pakai modul RTC (Real Time Clock) ? Kita akan memanfaatkan akses NTP untuk proses sinkronisasinya.

Apa itu NTP ?

Apa itu NTP ? NTP adalah singkatan dari Network Time Protocol yang merupakan standar Internet Protokol untuk sinkronisasi waktu pada Komputer (PC/Laptop) atau Smartphone dengan beberapa referensi internet. NTP ini mendapatkan data waktu dari internet berdasarkan referensi server sesuai lokasi timezone yang kita pilih dan tentukan. Persis seperti pengaturan waktu dan tanggal pada Smartphone, kita hanya tinggal memprogram timezone yang akan kita pilih, selebihnya secara otomatis waktu (jam dan tanggal) akan mengikuti NTP Server.

Cara Kerja NTP pada ESP8266

Disini ESP8266 akan dihubungkan ke server NTP menggunakan UDP (User Datagram Protocol), sehingga sebagai client ESP8266 (nodemcu atau Wemos) meminta data kepada NTP Server. NTP Server akan menanggapi permintaan client ESP8266 dengan mengirimkan data waktu. Data yang dikirimkan bisa meliputi waktu unik (sesuai timezone), keakuratan atau delay waktu (perbedaan waktu) pada zona waktu tertentu. Dari semua data yang dikirim tersebut nantinya kita akan membuat program untuk memecah data dan memilih data sesuai yang kita butuhkan.

Untuk lebih lengkap nanti saya buatkan artikel terpisah tentang ESP8266 Wemos dan cara mengaksesnya. Sekarang kembali ke praktek bikin jam digital saja dulu ya. Ikuti saja apa yang saya buat di video Youtube Channel Tatas JP, pasti jadi jam-nya. 


Lanjut ya...

Sekilas Tentang Dot Matrix Max7219

Dot Matrix Max7219 sebenarnya adalah sekumpulan LED yang programnya menggunakan interface IC Max7219 yang berfungsi untuk menampilkan karakter dan huruf dengan komunikasi SPI. Dipasaran Modul LED ini biasanya dijual keping per keping yang berisi LED 8 x 8. Tapi ada juga yang sudah terangkai jadi modul 4 in 1 (4 keping) dengan jumlah LED 8 x 32. Jika ditanya berapa banyak modul LED dot matrix yang bisa gunakan nanti, jawabannya unlimited. Yang artinya tergantung seberapa besar display yang sampeyan ingin buat nanti, selama nanti sampeyan tetap harus memperhatikan dan memperhitungkan konsumsi arusnya ya.
Biar lebih gampang nanti kita akan pakai modul LED Max7219 4 in 1 seperti yang dibawah ini
LED Max7219 dan Arduino UNO

Untuk jam digital yang akan kita buat nanti board Arduino UNO akan kita ganti dengan Wemos D1 R2 yang secara tampilan dan ukuran mirip Arduino UNO. Perbandingan dan penampakan board Arduino UNO dan Wemos D1 R2 seperti ini:

Software dan Library Yang Diperlukan

Kita menggunakan software Arduino IDE dan beberapa Library untuk membuat Jam digital ini. Library-library yang harus diinstal antara lain MD_Max72xx, MD_Parola dan Library NTPClient. Cara instal Library tersebut sebagai berikut:
Klik Sketch > Include Library > Manage Libraries..


Pilih MD_MAX72XX dan jangan lupa instal juga MD_Parola

Selanjutnya kita buat Sketch untuk Jam Digitalnya

Sketch Coding Jam Digital Wemos D1 ESP8266

Ada 3 tab yang akan kita buat untuk Coding Jam Digital PacMan ini. Pertama buka New Sketch lalu copy paste Coding utama berikut ini:


Kemudian buka tab kedua, beri nama declare.h, seperti berikut ini:


Dan buka tab ketiga dan beri nama fungsi.ino seperti berikut ini:


Selanjutnya coba Compile lalu hubungkan Wemos D1 sampeyan ke PC/Laptop/Android sampeyan dan Upload. Jika sampeyan benar membuatnya maka beberapa saat kemudian akan langsung tampil di display LED Max7219 Scrolling text pembuka dan jam digital seperti berikut ini.

Nah, selamat mencoba.
Kalau bikin yang ini sukses, berikutnya nanti kita akan coba buat JWS (Jam Waktu Sholat). Tunggu next artikel dan video-nya di Youtube Channel Tatas JP.
Jangan lupa Subscribe ya biar gak ketinggalan upload percobaan yang saya buat berikutnya.
Post Navi

Post a Comment

0 Comments

Close Menu