Jadwal Waktu Shalat (JWS) adalah media informasi di rumah ibadah Masjid/Mushalla/Surau yang menampilkan informasi waktu-waktu Shalat.
Dalam perkembangannya Jam Waktu Shalat berfungsi sebagai :
- Menampilkan Jadwal / Waktu Shalat wajib dan sunat
- Menampilkan informasi tanggal Masehi, Hijriah, Pasaran Jawa, dan penanggalan khusus seperti penanggalan Minang
- Menampilkan Ayat Al-Quran, Doa
- Informasi Tartil, Tarhim, Azan, Iqamah
- Pengingat / alarm waktu masuk Shalat dan selesai Iqamah
- Memutar Suara/Musik Tartil, Tarhim disertai kontrol hidup/mati amplifier
- Perhitungan jadwal berdasarkan posisi matahari, masukan manual, data jadwal online harian.
Diagram alir Jawdal waktu-waktu Shalat :
Skema Jam waktu shalat universal:
Tampilan aplikasi (apk) JWS Semesin Universal:
contoh tampilan jadwal shalat 3 panel :
Koding / sketch JWS semesin:
/* JWS Semesin 1 - 8 panel Fitur yang tidak aktif 1. Tampilan tanggal Hijriah 2. Tampilan tanggal Jawa 3. Tampilan tanggal Minang 4. Pesan selama tartil 5. Pesan selama tarhim 6. Pesan selama Iqamah */ #define serialDebug false #define modeDemo false #define namaMesjid "JWS" //defenisi pin #define pinMP3Busy 2 #define pinRelayAmpli 3 #define pinBuzzer 4 #define RTCDetikIRQ A3 #define relayOn LOW #define I2CEEPROM_ADDRESS 0x57 //setting #define periodaAlarmWaktuShalatMasuk 100//milidetik #define periodaAlarmWaktuAkhirIqamah 300//milidetik #define pixelLebarPanel 32 #define pixelTinggiPanel 16 //variabel Setting #define kecepatanMinimal 10 #define skalaKecepatan 10 #define tokenSetting 32 #define lamaAksesApk 10L * 60 * 1000 #define jumlahNyalaPadam 5 #define jumlahTextInformasi 10 #define fontNamaMesjid Arial14 #define fontJamDanMenitUtama angka6x14 #define fontSimbolGambar simbolGambar #include <Wire.h> #include <EEPROM.h> #include <DMD_Semesin.h> #include <RTC_Semesin.h> #include <DFPlayer_Mini_Mp3.h> #include <BluetoothApk.h> #include <fonts/angka6x14.h> #include <fonts/SystemFont5x7Ramping.h> #include <fonts/Arial14.h> #include <fonts/simbolGambar.h> #include "fungsi.h" #include "definisi.h" #include "konstanta.h" #include "setting.h" #include "WaktuShalat.h" const uint8_t *alamatFont[] = { Arial14, SystemFont5x7Ramping, }; SPIDMD dmd(8, 1);//max jumlah panel = 8 RTC_DS3231 rtc; DateTime now; //Status bool RTCValid = true; byte modeOperasi = modeInformasi; bool statusAlarm; bool tampilJamMenitDetik = false; long millisRunningText; uint8_t kecepatanRunningText; uint8_t kecepatanRunningEfek; uint16_t hitungMundurTartil; uint16_t hitungMundurTarhim; uint16_t hitungMundurAzan;//terhitung sejak waktu masuk uint16_t hitungMundurIqamah;//terhitung sejak selesai azan bool pesanSetelahAzan; bool pesanSebelumShalat; uint16_t hitungMundurPeringatanSimbol; uint16_t hitungMundurShalat; bool initHitungMundurTartil; bool initHitungMundurTarhim; bool initHitungMundurAzan; bool initHitungMundurIqamah; bool initHitungMundurPeringatanSimbol; bool initHitungMundurShalat; uint8_t hitungMundurAlarmIqamah;//kali int8_t indexWaktuIbadah; int8_t indekInformasi; //efek uint16_t lamaTampilText; bool initTampil; bool tampilanInformasiSambung; byte indekTampilan = jumlahInformasi; EfekMarque efekMarque; uint16_t lebarText; uint8_t tinggiText; byte detikSebelumnya = 60; byte menitSebelumnya = 60; byte tanggalSebelumnya = 0; long millisAlarm; bool status; BluetoothApk bluetoothApk(&Serial, "JWS2 SEMESIN.COM"); long millisAksesApk; bool aksesApk; uint16_t counterAlamat = 0; uint16_t counterAlamatSebelumnya = 0; uint16_t parameterSebelumnya = 0; byte lebarJamUtama = 32; byte lebarJadwalShalat = 32; byte modeTampilanJadwal; char buffer[72]; uint16_t offsetJadwalEEPROM; bool runningTextAktif; JamDanMenitJadwal jadwalBerikutnya; JamDanMenitAlarm alarmBerikutnya; int8_t hitungMundurAlarm; bool initHitungMundurAlarm; bool statusRelayAmpli; void setup() { pinMode(pinBuzzer, OUTPUT); digitalWrite(pinRelayAmpli, !relayOn); pinMode(pinRelayAmpli, OUTPUT); pinMode(pinMP3Busy, INPUT_PULLUP); Serial.begin(9600); Serial.println(F("JWS Semesin 1-8 panel")); Serial.println(F("https://www.project.semesin.com")); mp3_set_serial (Serial); mp3_set_volume (15); #if serialDebug Serial.println(F("Inisialisasi")); #endif rtc.begin(); if (rtc.lostPower()) { #if serialDebug Serial.println(F("RTC tidak jalan")); #endif write_i2c_register(DS3231_ADDRESS, DS3231_STATUSREG, 0x00); } write_i2c_register(DS3231_ADDRESS, DS3231_CONTROL, DS3231_SquareWave1Hz); if (EEPROM.read(offsetof(Setting, token)) != tokenSetting) { pengaturanAwal(); } updateUkuranTampilan(); dmd.waitInterruptOver = false; dmd.begin(); dmd.clearScreen(); dmd.setBrightness(25.5 * EEPROM.read(offsetof(Setting, kecerahanStandar))); kecepatanRunningEfek = skala2kecepatanRunning(EEPROM.read(offsetof(Setting, kecepatanEfek))); #if serialDebug Serial.println(F("Sistem mulai")); #endif dmd.selectFont(fontNamaMesjid); dmd.drawString(1, 1, namaMesjid); delay(3000); dmd.clearScreen(); statusRelayAmpli = digitalRead(pinMP3Busy); } void loop() { ....... file lengkap bisa didownload melalui link dibawah
file JWS universal:
JWS Semesin v2.1
- Perlindungan password opsional
- Informasi tetap
- weeker/alarm pengingat
- JWS_semesin 2.1.zip
catatan:
* untuk RTC DS3231, pin-SQW harus terpasang pada pin-A3 (arduino)
* jika menggunakan pcb jws (versi manapun) ada kemungkinan tidak cocok dan perlu modifikasi
Assalamualaikum…
Saya Arifin dari Jakarta
Saya sdh mencoba upload sket ke arduino uno dg komposisi komponen sesuai sketsa dan sdh tanam aplikasi di android. saat dinyalakan hanya tertulis Shalat. kemudian saya koneksikan dg BT dan coba set. Namun setelah terkirim, panelnya malah blank. adakah yg perlu saya perbaiki ?
Terima kasih banyak atas tutornya
pastikan wiringnya sesuai skema
catatan: untuk RTC DS3231, pin-SQW harus terpasang pada pin-A3 (arduino)
Kalau pakai arduino nano bisa ya??
Maap Kang mau nanya,kalau dibuat 2×4 panel bisa ga,makasih
pake program di halaman ini tidak bisa.
Maaf kok ini eror ya harus di cek bagian apanya??
Mohon bantuannya baru belajar arduino
belum bisa di analisa,
copy paste saja pesan error-nya di kolom komentar ini
Asalamualaikum wr wb.unutuk file mp3nya bisa didonwload dmn ya kak.mohon bantuannya….sudah sukses membuatnya.tinggal untuk mp3nya…kalau pakai pcb yg dijual bebas di online memang mati bila dikoneksikan blutut karena wiring tdk sama.
file suara mp3, boleh dicari sendiri (download/copy/rekam) sesuai kebiasaan dan identitas masing2 daerah.
alhamdulilah sukses kang.. terima kasih ilmunya sangat bermanfaat… sudh coba dua2 nya yg jws 3 panel sama yg universal semua sukses… semoga kang asep semakin d lancarkan rejekinya.. amin…
Kok hnya Muncul tulisan JWS, setelah itu mnghilang
Apk, ny gak bs d jalan kan
pastikan wiringnya sesuai skema
catatan:
* untuk RTC DS3231, pin-SQW harus terpasang pada pin-A3 (arduino)
* jika menggunakan pcb jws (versi manapun) ada kemungkinan tidak cocok dan perlu modifikasi
ijin gan ..
udah coba upload ke arduino , cuman apk gak bisa kebuka udah pake id (jws) dan sandi (1234) masalah dimana ??
*cek arduino bluetooth (baudrate 9600) – cek juga dengan program lain yang menggunakan bluetooth pada pin Serial (pin 0 dan 1)
*pada android, pastikan telah di pairing dan dipilih di aplikasi
*gunakan password standar 1234 jika belum di ganti, atau password terakhir yang disetting
tanya lg gan .. bluetooth udah tersambung tp wkt isi id dan pass ada tulisan perangkat tidak merespon ..??
Sepertinya jalur komunikasi bluetooth kirim / terima belum berfungsi, recek bluetooth
Seperti biasanya, proyek kang Asep top markotop. Smua koding lengkap tinggal enter dan hulaaaaa laaaaaaaaa…..
Semua program berjalan baik gak ada eror. Testimoni video di upload ahhhhhhh
‘modeInformasi’ was not declared in this scope,kenapa ya?
sketch ini menggunakan beberapa file pendukung serta beberapa library,
pastikan file2 pendukung berada dalam satu folder dengan file utama .ino
Error seperti ini gimana cara mengatasinya kang ?
fonts/SystemFont5x7Ramping.h: No such file or directory
gunakan / update library nya dengan yang ada di artikel ini
Maaf akang sebelumnya banyak Terima kasih atas ilmunya
Koq tampilan nama Masjid ga ada ya? Apa harus pakai rangkaian sama persis ga bisa dgn pcb jws lain
Trims Akang
bedanya dengan pcb standar adalah penggunaan pin SQW (pin A3 arduino)
assalamualaikum maha guru, terimakasih ats postingannya, sedikt bertanya.
saya menggunakan mega2560 koneksi sudah saya sesuiakan dan koding sudah saya sesuaikan, tapi led nya menyala semua, apa yang yang salah ya guru. dan masih belum bisa di menampilkan.
terimakasih ya guru.
untuk mega2560 posisi pin SPI-nya di 50-53
pindahkan/sesuaikan pin2 ini
Assalamualaikum kang,, mau tanya kang, cara untuk download aplikasi jws androidnya gimana kang,, mohon arahan,,
link-nya ada di bagian bawah artikel
Kang ,perkenalkeun sama sama Asep.mau tanya kumaha kalo p10 dmd nya pingin di ganti ke rgb matrix pake adagruit gfx.ap yg mesti di lakukan
BIsa saja, tapi akan ada beberapa ‘konversi’ dari standar library dmd2 (modified) dan library adafruit gfx, terutama fitur ‘automatic scan width’ yang tidak dimiliki adafruit gfx (mesti di modif juga/dihilangkan)
Assalamualaikum bang.untuk file di isi di memory sd ..donwloadnya dmn ya bang.sebelumnya ijin mengunakan karya abang.
isinya file suara .mp3 (dalam folder /mp3/ format xxxx.mp3) bisa di download atau punya sendiri sesuai kebutuhan suara
pengaturan suaranya melalui apk
Assalamualaikum, ijin download Pak, saya sdh upload ke arduino, mohon bantuannya :
1. tartil ataupun tarhim tidak bunyi, file sudah sesuai format, jika saya play manual bisa bunyi, namun tidak bisa pada saat sesuai jam shalat, misal saya setting untuk duhur baik, tartil maupun tarhim, namun tidak berbunyi.
2. untuk alarm adzan tidak bisa menggunakan suara adzan kah?
terima kasih
1. cek setingan suara di android
2. sketch ini tidak punya fitur suara saat azan
Assalamualaikum…gan, mau nanya…Bluetooth Apk, sudah di download, tapi kok ndak bisa di instal di androit ya…suwon…
Sebagai bahan pengujian nantinya, coba di tuliskan spesifikasi androidnya dan pesan error yang muncul
Assalamualaikum wr wb.
ijin download Pak, saya sdh upload ke arduino, Tapi kalender hijriyah dan pasaran hari tidak muncul, cara menampilkan kalender hijriyah dan pasaran hari bagaimana ya pak..
Jazakumulloh atas karyanya
dalam sketch ini tidak ditampilkan karena alasan memory (di optimasi ke fitur multi panelnya)
Assalamuaikum kang saya febri mau tanya kalau masalah ini apanya ya kang terima kasih kang
void pengaturanAwal()
{
uint16_t ptr = &settingAwal;
for (uint16_t i = 0; i < sizeof(Setting); i++)
{
byte dataDefault = pgm_read_byte(ptr++);
EEPROM.update(i, dataDefault);
}
Wire.beginTransmission(I2CEEPROM_ADDRESS);
Wire.write((uint8_t)0);
Wire.write((uint8_t)0);
Wire.write((uint8_t)0);
Wire.endTransmission();
}
#endif
invalid conversion from 'const Setting*' to 'uint16_t {aka short unsigned int}' [-fpermissive]
di update arduino IDE-nya
Terimakasih terlebih dulu ….. Gan kok setting via aplikasi di hp gak bisa … Error perangkat tidak merespon di pengaturan umum kalau di pengaturan sholat tulisan pengaturan terkirim cuma tidak berubah… Wiring sudah sesuai diagram… Mohon solusi nya
cek apakah modul bluetoothnya masih berfungsi normal (/gunakan modul hc-05 yang lain)
Ok ..kang sudah berhasil… Makasih … Terus berkarya kang …. Smoga di limpahkan rizki yg berlimpah…amin
Kang Asep yg jws ini update dong tgl hijriah nya di aktifkan….maaf sebelum nya…
Bos.. asep kenapa ya klo habis mati lampu 1hari jamnya lambat/ beda sampai 45 menit.
[bagi saya kejadian yang baru seperti ini]
apa sudah di coba ganti baterai, ada kemungkinan baterai rtc-nya mulai soak
Makasih kang asep… Udah fix semua .. ternyata masalah nya di modul RTC nya …yg error lambat waktunya … Ganti RTC baru langsung joss…
kang ijin download.. rencana mau buatin untuk musholla.. kalo misal modul blutut di ganti modul wifi esp8266 gmana kang.. apanya yang harus di rubah.. soalnya modul blutut hrganya lumayan mahal..(maklum kantong pelajar) mohon bantuanya.. terima ksih semoga kang asep di lancarkan rejekinya.. amin
pada prinsipnya bisa saja dengan arduino+esp8266, namun berkendala pada kurangnya kapasitas memory
jika ingin wifi lebih baik gunakan modul nodemcu/setaranya
ok terima kasih infonya kang.. tp untuk pake nodemcu..ilmunya beon nyampe saya ,ehhehe.. arduino j masih tahap beljar kang.. maksih ya kang atas ilmunya.. sangat bermanfat…
Assalamualakium Om
Mau tanya… saya hanya mau buat satu panel P10, dan tidak pakai audio.. mp3 dan yang lainnya..
tetepai masih pakai BUzer.
Apakah yang saya harus rubah programnya?
rasanya ngga perlu di ubah programnya,
* mp3 nya nga usah di pasang
* set pengaturan panel menjadi 1
maaf kok mp3 nya gak bisa nyala ya kak.. wiring sudah sesuai dg gambar.. tp mp3 gak bisa di putar.. apakah saya salah memasukkan nama file mp3 nya di kartu memory.. mohon bimbingannya terima kasih
*coba dengan sketch example
*untuk file suara letakkan di ‘/mp3’ dengan format xxxx.mp3 (xxxx = decimal 4 digit)
maaf mau tany bang , kena puny saya error terus ya.. pdahal sudah mengikuti arahan di atas.. wiring juga sudah benar.. tiap kali saya verifikasi keluar
error exit status 1
error compiling for board arduino uno
itu kenapa ya mohon bimbingannya terima ksih sebelumnya
pesan kesalahan umum/banyak faktor [coba di copy paste errornya]
langkah penanganan yang bisa di coba:
*update arduino ide
Maaf kg Asep klo misal kan pengen pake 4 panel apa sket tidak ada yg mesti di ubah??
sketch tidak perlu di ubah,
ubah settingan jumlah panel melalui aplikasi, atau set di settingAwal
Karya Mas Asep yg luar biasa,,, bisa digunakan untuk referensi pembelajaran bagi pemula,,, kami tunggu project JWS yg menggunakan control wifi esp8266 mas biar controlnya lebih stabil dan tentunya lebih ekonomis buat beli alatnya yg pas buat kocek mahasiswa. Makasih banyak ni jdi termotivasi untuk bereksperimen.
Sehat selalu kang semoga tambsh lncar rezekinya …tanya kang.. bluetooth udah tersambung dan bisa setting sinkron jam dll. tp wkt isi id dan pass ada tulisan perangkat tidak merespon ..?? Kendalanya lg saya isi text g masuk yg lain biss. Udah aq pasang r2.2k dan 1k d reciver bluyoothnya.
.. bluetooth udah tersambung tp wkt kirim program ada tulisan perangkat tidak merespon ..?? Sinkron jam bisa dan lain lain kecuali text nya g ke kirim alias tdk muncul text
data text bisa saja cukup besar, bisa saja terjadi data failed jika ada gangguan
bisa jadi disebabkan power supply tidak stabil
Mohon bantuannya, saya ada kendala di upload sketch error {exit status 1
‘write_i2c_register’ was not declared in this scope}
Kenapa ya kang…Terima kasih
install library yang dibutuhkan
kang,,klu setiap jamnya ada suara ding gimana kang,,bisa gak,,trims
bisa saja, contohnya:
if(jamSebelumnya != now.jam)
{
jamSebelumnya = now.jam;
mp3_play(ding);
}
maaf kang mau nanya . saya pasang ke panel kok led jadi nyala semua.. tampilan huruf dan angkanya yg mati… itu kenapa ya… terima kasih sebelumnya
bisa jadi itu menggunakan versi p10 invert
coba tambahkan baris
dmd.inverse = true;
assalamualaikum kalo error seperti itu kenepa ya? invalid conversion from ‘const Setting*’ to ‘uint16_t {aka short unsigned int}’ [-fpermissive]
masalah versi compiler, coba di update versi arduino IDE-nya
kalo langsng speaker tdk pkai relay bs g y???wiringny gmn?apa mengubah skecth
bisa
[abaikan saja relaynya]
Assalamu alaikum
Maaf mas, mohon pencerahan kalau error compiling seperti ini apa solusinya?
In file included from JWS_semesin_2.1.ino:54:0:
C:\Users\hapandi\Documents\Arduino\libraries\DMD-semesin/DMD_Semesin.h:8:17: fatal error: SPI.h: No such file or directory
#include “SPI.h”
^
compilation terminated.
Error compiling.
library SPI merupakan bawaan arduino
coba install kembali arduino IDE-nya
Ini support untuk arduino apa aja pak ?
Sketch uses 28220 bytes
idealnya bisa di uno, nano, micro
Assalamualaikum pak, sketch saya kompil pake aplikasi arduinodroid (hp android) versi app terbaru dari playstore, hp xiaomi os android 9.
Saat saya kompil di arduino uno, nano, pro mini, dll kok eror :
“Binari sketch size : 33.202 bytes (of a 30.720 byte maximum)sketch to big”
Cuma cocok di board arduino Mega saja.
Solusinya gimana ya pak agar bisa digunakan untuk arduino pro mini ATm328 atau sejenisnya ?
Kemungkinan compilernya kurang optimal
untuk sketchnya sendiri sudah saya coba mampatkan untuk penggunaan di IDE pc/laptop
Assalamualaikum kang ..sy sdh upload dan berhasil di arduino nano atmega..di LED ada tulisan shalat..terus coba pairing bluetooth…tapi layar langsung mati..kira² bagaimana solusinya… terimakasih
tampilan panel akan di istirahatkan sementara selama proses kirim setting
jika ada gangguan/belum selesai, maka perangkat akan tetap menunggu (padam)
::: ulangi proses kirim data
::: cek koneksi bluetooth
Selamat sore mas, terimakasih atas sharing ilmu mengenai jam waktu sholatnya. Sangat bagus dan mudah diaplikasikan.
Ohiya kira² jika kita ingin mengaktifkan untuk tanggal jawa bagaimana ya. Di apk nya kok tidak bisa dicentang…
Terimakasih
Assalamualaikum… Pak bagaimana cara untuk mengaktifkan tanggalan hijriah ya…
Terimakasih atas ilmunya
sketch jws ini, memang tidak mengaktifkan tanggal hijriah (dan beberapa fitur lainnya)
untuk menampilkan tanggal Hijriah, perlu dimodifikasi, dengan catatan dikarenakan keterbatasan memory, perlu juga menghapus beberapa fitur (misal fitur multi panel)