Giter Site home page Giter Site logo

prayer's Introduction

Prayer Library for Arduino

Contributors

Prayer library merupakan library perhitungan waktu sholat berdasarkan koordinat lokasi suatu tempat. Selain itu, prayer library juga memiliki class untuk mengkonversi tanggal masehi menjadi tanggal hijriyah. Library ini ditujukan untuk mempermudah dalam pembuatan project jam waktu sholat / JWS. Main source dari library ini diperoleh dari sketch JWS 1000 masjid yang ditulis oleh Bpk. Wardi Utari di dalam group facebook Untuk1000Masjid.

Getting Started

  • Download file library, kemudian tambahkan pada folder arduino. Anda dapat mencari tahu bagaimana cara menambahkan library ke arduino.
  • Tambhkan prayer library pada bagian atas sketch.
    #include <Prayer.h>

Description Code

1. Parameter

Library ini memerlukan beberapa parameter diantaranya:

Parameter Description Data Ttype
Latitude Garis lintang float
Longitude Garis Bujur float
Altitude Ketinggian dari permukaan laut float
Timezone Zona waktu suatu wilayah float
Year Tahun int
Month Bulan int
Date Tanggal int
Correction Koreksi tanggal hijriyah int

2. Constractor

Ada dua buah constractor yang harus dipanggil diantaranya:

Constractor Name Description
Prayer Untuk menjalankan fungsi perhitungan jadwal sholat
Hijriyah Untuk menjalankan fungsi konversi tanggal hijriyah

Cara menuliskannya pada sketch adalah sebagai berikut,

    Prayer JWS;
    Hijriyah Hijir;

Pemberian nama setelah constractor dalam hal ini JWS dapat anda ganti dengan nama apapun sesuai keinginan anda, begitu pula dengan nama Hijir.

3. Update

Untuk mengupdate jadwal anda perlu menjalankan fungsi Update yang berisikan parameter.

Untuk mengupdate jadwal sholat gunakan kode berikut.

JWS.Update(TimeZone, Latitude, Longitude, Altitude, Year, Month, Date);

Untuk mengupdate tanggal hijriyah gunakan kode berikut.

Hijir.Update(Year, Month, Date, Correction);

4. Toleransi Waktu Sholat

Untuk mengatur toleransi waktu sholat, anda dapat mengaturnya melalui parameter setIkhtiyari. Berikut contohnya.

JWS.setIkhtiyati = 2;

5. Get Data

Setelah menjalankan constractor dan fungsi update, selanjutnya kita akan mengambil data berupa jadwal sholat ataupun tanggal hijriyah. Berikut adalah daftar class yang bisa dipanggil.

  • Daftar Class Prayer
Class Name Description Data Ttype Format
getImsak Memanggil waktu imsak char HH:mm
getSubuh Memanggil waktu subuh char HH:mm
getTerbit Memanggil waktu terbit char HH:mm
getDhuha Memanggil waktu dhuha char HH:mm
getDzuhur Memanggil waktu dzuhur char HH:mm
getAshar Memanggil waktu ashar char HH:mm
getMaghrib Memanggil waktu maghrib char HH:mm
getIsya Memanggil waktu isya char HH:mm
floatImsak Waktu imsak dalam bentuk float float
floatSubuh Waktu subuh dalam bentuk float float
floatTerbit Waktu terbit dalam bentuk float float
floatDhuha Waktu dhuha dalam bentuk float float
floatDzuhur Waktu dzuhur dalam bentuk float float
floatAshar Waktu ashar dalam bentuk float float
floatMaghrib Waktu maghrib dalam bentuk float float
floatIsya Waktu isya dalam bentuk float float

Contoh kita ingin memanggil waktu sholat dzuhur dan menampilkannya ke dalam serial monitor, maka scriptnya seperti berikut,

    Serial.print("DZUHUR : ");
    Serial.println(JWS.getDzuhur);
  • Daftar Class Hijriyah
Class Name Description Data Ttype Format
getHijriyahDate Memanggil tanggal hijriyah int d
getHijriyahMonth Memanggil bulan hijriyah int m
getHijriyahYear Memanggil tahun hijriyah int yyyy

Contoh kita ingin memanggil tanggal, bulan, dan tahun hijriyah dan akan menampilkannya ke dalam serial monitor. Berikut scriptnya,

    Serial.print("Date : ");
    Serial.println(Hijir.getHijriyahDate);
    Serial.print("Month : ");
    Serial.println(Hijir.getHijriyahMonth);
    Serial.print("Year : ");
    Serial.println(Hijir.getHijriyahYear);

Anda dapat menambahkan char array yang berisikan nama bulan dalam hijriyah kemudian menggunakan class getHijriyahMonth sebagai indexnya. Contoh sebagai berikut,

    char BulanHjrName[][16] = {"", "Muharram", "Shafar", "Rabi’ul Awal", "Rabi’ul Akhir", "Jumadil Awal", "Jumadil Akhir", "Rajab", "Sya'ban", "Ramadhan", "Syawal", "Zulqaidah", "Zulhijjah"};
    Serial.print("Month : ");
    Serial.println(BulanHjrName[Hijir.getHijriyahMonth]);

Untuk lebih lengkapnya, anda dapat melihatnya di dalam folder example/test_prayer.ino

Board Supported

Library ini sudah dicoba pada board :

  • Arduino nano 328
  • ESP32 WROOM

dan kemungkinan akan bekerja pada board-board dengan arduino compatible.

prayer's People

Contributors

arsaka3d avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.