Daftar Isi:

Jam & Alarm Doa Islam RaspberryPi: 15 Langkah (dengan Gambar)
Jam & Alarm Doa Islam RaspberryPi: 15 Langkah (dengan Gambar)

Video: Jam & Alarm Doa Islam RaspberryPi: 15 Langkah (dengan Gambar)

Video: Jam & Alarm Doa Islam RaspberryPi: 15 Langkah (dengan Gambar)
Video: Berjuang Untuk Rakyat? Ahhh Yang Bener? 2024, Juni
Anonim
Jam & Alarm Doa Islam RaspberryPi
Jam & Alarm Doa Islam RaspberryPi
Jam & Alarm Doa Islam RaspberryPi
Jam & Alarm Doa Islam RaspberryPi

Muslim di seluruh dunia memiliki shalat lima waktu setiap hari, dan setiap shalat harus dalam waktu tertentu dalam sehari. karena planet kita bergerak elips mengelilingi matahari, yang membuat waktu terbit dan terbenam matahari berbeda sepanjang tahun, itu juga membuat waktu sholat tidak konstan, itulah sebabnya kita membutuhkan jam tangan Islami untuk mengingatkan kita umat Islam tentang waktu sholat kita masing-masing. hari.

Setiap Muslim memiliki cara untuk mengakses cuaca waktu sholat harian melalui situs web Islam Internet, kalender Islam lokal atau bahkan melalui TV, dan kebanyakan dari kita memiliki perangkat jam tangan Islami yang memiliki fitur untuk memberi kita waktu sholat, serta alarm sholat.. Tetapi bagaimana jika kita membuat perangkat Jam Tangan dan Alarm Doa kita sendiri!

Sebelum mulai mengerjakan proyek, ada beberapa pertimbangan yang mungkin berguna bagi Anda saat membaca Instruksi ini. Saya tinggal di Arab Saudi sehingga beberapa langkah dan nilai saya akan berbeda dari Anda, dan saya akan secara eksplisit menunjukkannya selama bekerja. Ada langkah-langkah dan gambar yang mungkin menyertakan kata-kata Arab sejak saya membuat antarmuka dalam bahasa Arab, tetapi saya juga akan menunjukkan cara membuatnya dalam bahasa Inggris jadi jangan biarkan kata-kata Arab dalam gambar mengkhawatirkan Anda sama sekali, proyek ini dapat dilakukan dalam Bahasa apa pun (yang luar biasa!: D) Maafkan juga kesalahan ketik saya karena bahasa Inggris bukan bahasa pertama saya.

Ke proyek kami! Proyek ini akan dibagi menjadi X langkah utama, yang pada akhir langkah X kita akan memiliki proyek yang bagus dan siap! Langkah-langkahnya akan sebagai berikut:

1-Mengonfigurasi dan menyiapkan RaspberryPi

2-Memasang Modul RTC

3-Membuat program Alarm Azan

4-Menerapkan tampilan jam

5-Membuat User Interface dan

Seperti setiap proyek, kita perlu mempersiapkan bagian-bagian yang kita butuhkan terlebih dahulu. bagian-bagian yang kami butuhkan untuk proyek ini adalah:

Kit Komputer 1-RaspberryPi Amazon AS || Amazon KSA

Anda dapat menggunakan versi Rpi apa saja, pastikan memiliki Wifi. Saya menggunakan Rpi3B+

2-RTC Modul jam waktu nyata Amazon AS || Amazon KSA

Anda dapat menggunakan model modul RTC apa pun, pastikan modul tersebut memiliki I2C

3-LCD Monitor

LCD apa pun akan berfungsi

4-Mouse dan keyboard

dan itu….. IT!! Itu saja yang Anda butuhkan untuk membuat jam dan alarm Azan Anda sendiri

Langkah 1: Bab 1: Menyiapkan dan Mengonfigurasi RaspberryPI

Bab 1: Menyiapkan dan Mengonfigurasi RaspberryPI
Bab 1: Menyiapkan dan Mengonfigurasi RaspberryPI

Hal pertama Pertama! Kita perlu menyiapkan pi Raspberry untuk bekerja dengannya.

Raspberry pi tidak lain adalah sebuah komputer, ia memiliki RAM dan ROM, ia memiliki CPU, GPU, I/O……. Sebuah komputer! sama seperti yang kami mainkan dan jelajahi web, hanya hal utama yang sangat kecil! yang menjadikan raspberry pilihan yang sangat baik untuk membuat dan mengimplementasikan proyek. karena raspberry pi kecil, ia memiliki spesifikasi yang sangat terbatas sehingga tidak dapat mengoperasikan OS yang menuntut besar seperti windows atau macOS, sebagai gantinya, kita akan menggunakan Linux sebagai sistem operasi untuk menggunakan perangkat. Ada ribuan bahkan puluhan ribu distro Linux yang bisa kita gunakan, tetapi satu distro yang sempurna dioptimalkan secara sempurna khusus untuk raspberrypi yang akan kita gunakan, yang disebut Raspbian.

Langkah 2: 1-1: Unduh File yang Diperlukan

1-1: Unduh File yang Diperlukan
1-1: Unduh File yang Diperlukan
1-1: Unduh File yang Diperlukan
1-1: Unduh File yang Diperlukan
1-1: Unduh File yang Diperlukan
1-1: Unduh File yang Diperlukan

-Buka halaman Unduh Rasbian resmi di https://www.raspberrypi.org/software/operating-sy… dan unduh Raspberry Pi OS dengan file Desktop

-Saat sedang mengunduh, buka https://win32diskimager.org/ dan unduh dan instal win32DiskImager, Anda dapat menggunakan perangkat lunak pembakar gambar apa pun yang Anda suka

setelah unduhan selesai, Anda akan memiliki file.img yang berisi OS RaspberryPi. selanjutnya, pasang kartu memori SD Anda di komputer (biasanya dengan pembaca kartu USB) dan luncurkan perangkat lunak win32diskimager. langkah-langkah untuk membakar gambar ke dalam memori SD sangat sederhana, Anda hanya perlu 1- Pilih huruf memori Anda 2-pilih file OS yang Anda unduh dan 3-Klik tulis! Pastikan Anda telah memilih huruf perangkat yang tepat dari daftar dan memori Anda kosong, karena dengan menekan tulis Anda akan dipromosikan dengan peringatan yang memberi tahu Anda bahwa apa pun di perangkat akan dihapus! Tekan ya untuk mengkonfirmasi penulisan dan tunggu sampai selesai. ini mungkin memakan waktu hingga 20 menit.

Setelah selesai, Anda akan memiliki OS Rapbian lengkap di memori, Anda dapat melanjutkan dan meletakkannya di Rapberry Pi, sambungkan Raspberry Pi ke monitor melalui HDMI, sambungkan mouse dan keyboard melalui USB dan terakhir, sambungkan kekuasaan.

Langkah 3: 1-2: Mengonfigurasi Sistem Raspbian

Setelah Menghubungkan kabel dan daya, Anda akan melihat bahwa OS telah dihidupkan, maka secara otomatis akan reboot dan kemudian akan menampilkan Raspbian User Interface (yang terlihat mirip dengan windows). hal pertama yang akan Anda lihat adalah jendela selamat datang, yang akan membawa Anda melalui langkah-langkah mengkonfigurasi RaspberryPi Anda untuk pertama kalinya. jendela dan langkah-langkahnya adalah sebagai berikut:

1-Tekan berikutnya pada jendela "Selamat Datang" pertama

2-Jendela berikutnya adalah untuk mengkonfigurasi lokasi Anda. pilih Negara, bahasa, dan zona waktu Anda. setelah itu, sangat disarankan untuk mencentang "Gunakan bahasa Inggris" karena ini akan menjadi bahasa antarmuka sistem Operasi. ANDA HARUS MEMERIKSA "KOTAK LAYOUT KEYBOARD US ENGLISH" KAMI MEMBUTUHKAN KEYBOARD BAHASA INGGRIS UNTUK BEKERJA!

3-Selanjutnya, Anda akan diminta memasukkan kata sandi untuk raspberry Anda, ini penting untuk keamanan tetapi kami tidak akan mengubahnya untuk proyek ini. perhatikan bahwa Nama Pengguna dan kata sandi default adalah:

nama pengguna: pi

kata sandi: raspberry

4-Jendela berikutnya akan menghubungkan raspberryPi ke jaringan WiFi Anda. pilih nama wifi Anda dan masukkan kata sandi wifi Anda

5-selanjutnya, Anda akan diminta untuk memperbarui perpustakaan raspberry pi dan file sistem. langkah ini akan memakan banyak waktu (mungkin dalam hitungan jam) tetapi ini merupakan langkah yang sangat penting untuk setiap kali raspberry pi baru sedang disiapkan.

6-setelah pembaruan selesai, Anda akan diminta untuk me-restart sistem. lakukan itu sekarang.

Kerja bagus! Sekarang kami memiliki sistem yang diperbarui, kami masih perlu melakukan beberapa hal lagi untuk mengkonfigurasi sistem agar berfungsi, tetapi sekarang, kami akan mulai menggunakan LinuxCommand Line.

Langkah 4: 1-3: Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi

1-3:Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi
1-3:Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi
1-3:Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi
1-3:Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi
1-3:Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi
1-3:Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi

Setelah Anda selesai me-reboot dari pembaruan sistem, sistem akan menampilkan desktop pengguna setelah selesai booting. sekarang jika Anda melihat di kiri atas layar, Anda akan menemukan beberapa tombol, tombol dengan logo raspberryPi yang merupakan tombol menu Rpi, bentuk globe yang merupakan browser internet, tombol folder yang adalah…..folder dan akhirnya, tombol dengan jendela layar hitam, yang merupakan tombol terpenting di sistem linux apa pun, Baris Perintah. lanjutkan dan tekan tombol itu, Anda akan melihat jendela hitam muncul.

Baris perintah adalah bagaimana setiap orang berinteraksi dan menggunakan sistem linux, seperti halnya windows memiliki baris perintah sendiri hanya pada janda kita tidak perlu sering menggunakannya. di linux, itu adalah hal dasar yang harus dipelajari dan dikuasai oleh setiap pengguna linux. baris perintah dapat digunakan oleh…. COMMANDS! apa yang Anda lihat di jendela hitam adalah prompt perintah yang menunggu perintah ditulis oleh pengguna dan dieksekusi. dalam panduan ini kami akan memberikan semua perintah yang Anda butuhkan untuk melakukan proyek ini, jadi jangan khawatir.

perintah Linux pertama yang akan kita gunakan adalah perintah konfigurasi lain, perhatikan bahwa semua perintah mulai sekarang akan dimasukkan ke dalam kotak kode, sehingga Anda dapat membedakannya dari langkah biasa. Bawa keyboard Anda dan ketik yang berikut dan tekan enter:

sudo raspi-config

Jika Anda melakukannya dengan benar, Anda akan melihat bahwa layar berubah menjadi biru, dengan kotak kecil abu-abu di tengahnya (lihat gambar). kita akan menggunakannya untuk membuat konfigurasi akhir sebelum kita memulai pengkodean.

sekarang, Anda harus menggunakan tombol panah keyboard untuk menavigasi menu ini.

1-Pergi ke Opsi antarmuka >> I2C >> YA >> tekan enter. ini mengaktifkan protokol komunikasi I2c sehingga kita dapat menggunakan RTC

2-Pergi ke Opsi lanjutan >> Perluas sistem file.

dan hanya itu konfigurasi yang Anda butuhkan dari jendela ini. pada halaman utama, turun dan tekan enter pada "selesai" dan "YA" untuk mem-boot ulang sistem.

Setelah sistem selesai mem-boot ulang, kita semua selesai mengonfigurasi! perangkat siap untuk langkah besar! Langkah selanjutnya adalah menginstal modul RTC dan menggunakannya dengan sistem.

Langkah 5: Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC

Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC

Modul RTC (atau Real-Time Clock) adalah perangkat kecil yang memiliki sedikit baterai di dalamnya, sesuai dengan namanya, Clocking! jadi ketika Anda mencabutnya untuk menyalakan jam terus bekerja dan tidak berhenti. Mengapa kita memerlukan ini? baik, raspberry pi benar-benar tidak memiliki metode untuk menyimpan data jam setelah dimatikan, itu bergantung pada koneksi ke internet saat boot untuk memperbarui tanggal dan waktu, tetapi masalahnya adalah kami tidak selalu memiliki akses internet, dan ini itulah mengapa kita membutuhkan modul RTC. RTC akan bertindak sebagai jam untuk raspberry pi jadi setelah Rpi di-boot akan mengambil Tanggal & Waktu dari RTC, yang akan membuat waktu RaspberryPi diperbarui setiap saat.

ada beberapa model dan mencari RTC, ada DS1307 dan DS3231. Anda dapat menggunakan modul RTC apa pun yang Anda temukan selama modul tersebut memiliki komunikasi protokol I2C (Anda dapat menunjukkan bahwa Anda dapat menemukan pin SDA dan SCL pada pin modul.

seperti apa pun dalam panduan ini, saya menggunakan panduan lain untuk mencapai tujuan saya dalam proyek ini, instruksi ini akan memandu Anda dan memberi tahu Anda apa yang harus dilakukan untuk membuat proyek ini, tetapi jika Anda perlu memodifikasi atau Anda perlu lebih mendalam ke salah satu langkah, saya akan menautkan panduan yang lebih bermanfaat di akhir setiap langkah.

Setelah modul RTC Anda siap (solder pin header dan pasang baterai), Anda dapat menghubungkannya ke pin RapberryPi sebagai berikut:

PIN RTC----------------Pin Rpi

GND===========> PIN 6 (GND)

Vcc============> PIN 1 (3.3V)

SDA============> PIN 3(SDA)

SCL ===========> PIN 5 (SCL)

atau tergantung pada modul RTC apa yang Anda dapatkan, Anda dapat memasangnya langsung di RaspberryPi (Pastikan pinnya benar !!! karena Anda dapat merusak Rpi/RTC jika tidak)

Setelah Anda menghubungkan RTC, mari konfigurasikan Raspberry.

Langkah 6: 2-1: Pengaturan Modul

2-1: Pengaturan Modul
2-1: Pengaturan Modul
2-1: Pengaturan Modul
2-1: Pengaturan Modul

Sebelum memulai, buka baris perintah dan ketik:

tanggal

Ini akan mengembalikan tanggal dan waktu saat ini pada Raspberry, perhatikan perintah yang sangat berguna itu, dan catat tanggal dan waktu saat ini sehingga kami dapat memeriksa kapan modul berfungsi atau tidak.

sekarang, mari kita mulai setup, ketik berikut untuk memperbarui perpustakaan Rpi, satu baris pada satu waktu:

sudo apt-get update

sudo apt-get -y upgrade

setelah selesai, kita perlu memodifikasi file sistem untuk mengaktifkan modul i2c dan menambahkan RTC, untuk memodifikasi sistem file kita akan menggunakan perangkat lunak bernama Nano. nano adalah perangkat lunak built-in ringan yang pada dasarnya adalah editor teks, seperti yang ada di janda. jadi perintah apa pun yang dimulai dengan nano diikuti dengan nama file, akan membuka file itu di editor teks nano. Anda telah memperhatikan bahwa kami juga menggunakan sesuatu yang disebut Sudo, singkatnya, sudo bertindak seperti jaminan untuk sistem linux yang memberi tahu sistem bahwa pengguna yang membuat perintah itu adalah pemilik Perangkat, bukan orang lain, dan memberikan hak istimewa seperti mengedit/ menghapus ke pengguna. misalnya, jika kami membuka file nano tanpa sudo, kami akan dapat melihat file itu, tetapi kami tidak dapat mengedit atau menghapusnya.

sekarang, kita perlu memodifikasi file modul, kita dapat melakukannya dengan mengetik:

sudo nano /etc/modules

setelah Anda melakukannya, Anda akan menemukan isi file itu (lihat gambar). gunakan tombol panah untuk meletakkan kursor di akhir teks dan tambahkan yang berikut:

snd-bcm2835

i2c-bcm2835 i2c-dev rtc-ds1307

tekan CTRL+S untuk menyimpan, dan CTRL+X untuk keluar

Langkah 7: 2-2: Antarmuka I2C

2-2: Antarmuka I2C
2-2: Antarmuka I2C

Sekarang kita telah menghubungkan RTC dan mengaktifkan i2c, mari kita hubungkan semuanya bersama-sama.

ketik berikut ini ke dalam command prompt:

i2cdetect -y 1

Anda akan diberikan array kosong, tetapi Anda akan melihat bahwa ada nomor di suatu tempat, nomor itu adalah alamat modul RTC Anda. dalam kasus saya itu 68. perhatikan nomor itu. jika Anda tidak melihat angka dua digit itu, itu berarti Anda mungkin salah menghubungkan RTC.

sekarang, kita perlu memodifikasi file rc.local sehingga kita dapat mengaktifkan modul RTC saat boot dan membiarkannya menyimpan tanggal dan waktu ke sistem. pertama, buka file rc.local:

sudo nano /etc/rc.local

Sebelum baris exit0, tambahkan yang berikut ini:

echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device

jam -s

di mana 0x68 adalah alamat i2c perangkat Anda. setelah Anda selesai tekan CTRL+S CTRL+X, lalu reboot sistem Anda dengan:

sudo reboot

Langkah 8: 2-3: Menguji RTC

2-3: Menguji RTC
2-3: Menguji RTC

Setelah sistem di-boot ulang, kita dapat memeriksa apakah RTC berfungsi atau tidak. Lari pertama:

sudo hwclock -r

Anda akan diberikan kembali tanggal dan waktu pada modul RTC. jika Anda diberi sesuatu yang lain, pastikan Anda telah melakukan langkah-langkah dengan benar.

sekarang, untuk mengubah waktu dan tanggal pada RTC, kita perlu memodifikasi Tanggal & Waktu pada sistem terlebih dahulu, KEMUDIAN lakukan modifikasi pada RTC. untuk melakukannya, jalankan:

sudo date -s "29 AUG 1997 13:00:00"

dan tentu saja, ubah tanggal dan waktu sesuai dengan waktu dan tanggal lokal Anda, sebelum Anda menekan enter. setelah Anda mendapatkan waktu di Rpi dengan benar, jalankan yang berikut untuk menyimpan tanggal dan waktu di RTC:

sudo hwclock -w

aaaaa dan itu saja! Anda dapat memeriksa apakah itu berfungsi dengan hwclock -r dan melihat apakah tanggal pada RTC benar atau tidak, kemudian lepaskan rpi dari internet dan kemudian matikan untuk beberapa waktu lalu nyalakan kembali dan lihat apakah sudah benar waktu dan tanggal. kamu sudah selesai!

Panduan lengkap tentang cara mengatur modul RTC dapat ditemukan di sini

www.raspberrypi-spy.co.uk/2015/05/adding-a-ds3231-real-time-clock-to-the-raspberry-pi/

Langkah 9: Bab 3: Membuat Program Alarm Azan

Bab 3: Membuat Program Alarm Azan
Bab 3: Membuat Program Alarm Azan

membuat arloji adalah satu hal, tentu saja, kita dapat melihat jam dan waktu sholat dan melihat kapan waktunya tiba, tetapi tidakkah lebih baik jika kita dapat menambahkan alarm suara untuk memberi tahu kita tentang waktu sholat? BAHKAN LEBIH BAIK, kita jadikan alarm itu sebagai suara AZAN! mari kita lihat bagaimana kita bisa mencapai ini.

untuk pemrograman kami, kami akan menggunakan python sebagai bahasa pemrograman pilihan kami karena python berjalan sempurna dengan RaspberryPi. untuk membuat file kode dengan python, kita melakukan hal yang sama seperti membuka file teks, tetapi sekarang kita menyimpannya sebagai.py. untuk menjalankan program, kita perlu menginstal lingkungan python dari raspbery, untungnya, Raspbian dilengkapi dengan python dan python3 yang sudah diinstal! jadi yang harus kita lakukan hanyalah memprogram. dalam panduan ini, kita tidak akan berbicara tentang bahasa dan mengajarkan cara kerja dan fungsinya, tetapi saya akan memberi Anda kode yang diperlukan agar Anda dapat membuat proyek.

untuk memulai, kita membutuhkan file suara dari suara azan pilihan kita (dalam. WAV) kita membutuhkan dua file, satu untuk azan al-fajr dan satu lagi untuk azan biasa. setelah Anda mendapatkannya, letakkan di drive stick dan salin di desktop raspberrypi.

sekarang kami memiliki file, saya sedang mencari cara untuk memutar audio suara di raspberryPi dan yang mengejutkan saya, tidak banyak cara kami dapat melakukan ini, tetapi saya menemukan jawaban ini di stackoverflow yang memberi saya apa yang saya butuhkan

stackoverflow.com/questions/20021457/playi…

saya menguji metode itu dan berhasil! jadi mari kita lihat bagaimana kita dapat menerapkan metode ini dalam proyek kita…

Langkah 10: 3-1: Ayo Mainkan Suara

3-1: Ayo Mainkan Suara!
3-1: Ayo Mainkan Suara!

pertama, navigasikan ke desktop dengan:

cd Desktop

kemudian buat file kode python baru dengan:

sudo nano AzanPlay.py

ini akan membuat file baru bernama AzanPlay dengan ekstensi pada file python.py, kita akan memiliki layar hitam kosong untuk memungkinkan kita menulis kode kita. cukup tuliskan baris-baris ini (berhati-hatilah untuk tidak mengubah lekukan atau spasi apa pun, karena ini SANGAT penting dalam python):

dari mixer impor pygame

mixer.init() mixer.music.load('/home/pi/Desktop/Adhan-Makkah.wav') mixer.music.play() while mixer.music.get_busy() == Benar: lanjutkan

Di mana /Desktop/ adalah tempat Anda meletakkan file suara Anda, dan 'Adzan-Makkah.wav' adalah file Audio saya, yang merupakan rekaman suara Azan di makkah.

sekarang untuk menguji kode kami, kami menjalankannya dengan python dengan mengetik:

python AzanPlay.py

dan Anda akan memiliki suara yang diputar layu dari LCD HDMI atau port AUX Anda yang ada di Raspberrypi. jika Anda tidak mendengarnya dari speaker LCD, colokkan headphone ke AUX dan periksa.

Langkah 11: 3-2: Dapatkan Waktu Sholat

3-2: Dapatkan Waktu Sholat
3-2: Dapatkan Waktu Sholat

Seperti yang kita ketahui, waktu sholat berbeda dari satu tempat di bumi ke tempat lain, dan bahkan untuk lokasi tertentu, itu berbeda sepanjang tahun, itu berarti kita perlu menemukan cara untuk menjaga waktu sholat kita dalam sistem diperbarui setiap saat, dan untuk itu kita membutuhkan fungsi dan perhitungan yang spesifik dan sangat kompleks agar bisa melakukannya dengan benar. Untungnya, saudara kita Hamid Zarrabi-Zadeh telah membuat semua fungsi yang kita butuhkan menjadi satu fungsi yang dapat kita gunakan dengan mudah untuk mendapatkan waktu tergantung pada lokasi dan waktu kita saat ini, LUAR BIASA! Anda dapat menemukan perpustakaan dan file sumber di

praytimes.org/

Jadi, kita akan menggunakan file-file mengagumkan ini untuk mendapatkan waktu sholat kita dan menerapkannya dalam sistem. pertama, unduh kode dari situs web dan letakkan di dalam folder /adhan/, (Kami membutuhkan kode JS dan Python).

sekarang, mari menuju ke folder itu dan menguji perpustakaan, dan apa yang dapat dilakukannya:

cd adzan

di sana, kita perlu membuat file pengujian baru dengan python sehingga kita dapat menguji fungsinya:

sudo nano testAd.py

di dalam, tuliskan kode ini:

impor waktu sholat

dari tanggal impor datetime tmm = waktu sholat. PrayTimes().getTimes(date.today(), [LONGTITUDE, LATITUDE], GMT) print(tmm)

Sebelum menyimpan file, Anda perlu mengubah LATITUDE dengan lokasi Anda Latitude, sama dengan LONGTITUDE, dan mengubah GMT ke zona waktu Anda. dalam kasus saya, itu akan menjadi:

tmm = waktu sholat. PrayTimes().getTimes(date.today(), [21.3236, 39.1022], 3)

cetak (tmm)

Terakhir, CTRL-S dan CTRL-X lalu jalankan kode:

python testAd.py

akhirnya, Anda akan diberikan kembali waktu sholat Anda untuk hari ini, untuk lokasi Anda.

{'isha': '18:58', 'asr': '15:22', 'sunset': '17:43', 'dhuhr': '12:17', 'magrib': '17:43', 'imsak': '05:23', 'tengah malam': '00:17', 'matahari terbit': '06:52', 'fajr': '05:33'}

Besar! sekarang kita punya waktu sholat dan sekarang kita tahu cara memainkan suara, mari gabungkan kedua kode ini menjadi satu kode utama.

Langkah 12: 3-3: Membuat Kode Alarm Azan Terakhir

dengan menyelesaikan dua kode sebelumnya, kami belajar cara mendapatkan waktu sholat yang akurat sesuai dengan lokasi kami dan cara memainkan suara Azan. sekarang, kita akan menggabungkan kedua kode ini menjadi satu kode yang akan kita gunakan sebagai tugas akhir kita, dan kode ini akan bekerja di latar belakang, seperti ketika waktu Azan tiba, ia akan memainkan suara Azan.

Saya telah menulis seluruh kode, Anda dapat menyalinnya dan menempelkannya, dan membuat perubahan sendiri sesuai keinginan Anda. Kodenya adalah:

waktu impor

dari pygame import mixer import string import sholat dari datetime import date while (1): tmm = sholat. PrayTimes().getTimes(date.today(), [21.3236, 39.1022], 3) FAJR=tmm['fajr'] DHUHR =tmm['dhuhr'] ASR=tmm['asr'] MAGHRIB=tmm['maghrib'] ISHA=tmm['isha'] tempT= time.strftime(str('%H')) currTime= tempT tempT= time.strftime(str('%M')) currTime= currTime +':'+ tempT if currTime == FAJR: mixer.init() mixer.music.load('/home/pi/Desktop/Adhan-fajr. wav') mixer.music.play() while mixer.music.get_busy() == True: lanjutkan jika currTime == DHUHR: mixer.init() mixer.music.load('/home/pi/Desktop/Adhan- Makkah.wav') mixer.music.play() while mixer.music.get_busy() == True: lanjutkan jika currTime == ASR: mixer.init() mixer.music.load('/home/pi/Desktop/ Adzan-Makkah.wav') mixer.music.play() while mixer.music.get_busy() == True: lanjutkan jika currTime == MAGHRIB: mixer.init() mixer.music.load('/home/pi/ Desktop/Adzan-Makkah.wav') mixer.music.play() while mixer.music.get_busy() == True: lanjutkan jika currTime == ISHA: mixer.init() mixer.music.load('/home/pi/Desktop/Adhan-Makkah.wav') mixer.music.play() while mixer.music.get_busy() == Benar: lanjutkan

Jika Anda melihat kode dan membandingkannya dengan apa yang kami buat sebelumnya, Anda akan melihat bahwa kami tidak melakukan banyak hal baru, pada awalnya, kami menyertakan pustaka yang kami butuhkan dan kemudian kami membuka infinite loop. dalam loop, kami terus-menerus menghitung waktu sholat dengan lokasi dan zona waktu kami, dan menyimpan seluruh hasil dalam variabel tmm. kemudian, kami menyimpan setiap waktu sholat dari tmm ke variabel independen. yang akan memungkinkan kita untuk membandingkan waktu. selanjutnya, kami mengambil waktu sistem dan menyimpannya dalam variabel independen. terakhir, kami terus membandingkan waktu sistem dengan waktu sholat, jika waktu sistem cocok dengan salah satu waktu sholat, itu akan memainkan suara Azan.

Langkah 13: Bab 4: Menerapkan Tampilan Jam

Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam
Bab 4: Menerapkan Tampilan Jam

Untuk membuat proyek terlihat lebih baik, saya memiliki ide untuk menambahkan tampilan jam ke LCD, sehingga terlihat bagus bagi pengguna (well, setidaknya lebih baik daripada baris perintah) jadi, saya telah menyewa seorang desainer untuk mendesain beberapa wajah untuk jam harus kosong tanpa data, karena data harus ditambahkan melalui HTML, menjadikan desain jam sebagai latar belakang, dan data lain seperti waktu sholat dapat ditambahkan sebagai elemen HTML di atas latar belakang.

Sayangnya, pada saat penulisan instruksi ini, pengetahuan dan pengalaman saya dalam HTML sangat terbatas sehingga saya tidak akan membahas banyak detail karena saya tahu pasti bahwa saya akan melakukan sesuatu dengan cara yang salah, dan saya tidak ingin membingungkan orang. tetapi jika Anda memiliki sedikit pengalaman dalam JS dan HTML, Anda harus tahu bagaimana melanjutkan dari titik ini. sejauh ini saya telah membuat satu wajah (yang biru). rencananya adalah membuat 14 tampilan jam! 7 wajah untuk setiap hari dalam seminggu, dan 7 lainnya sebagai tema lain. sebagai tema pertama seharusnya dengan Azkar bergulir, dan tema lainnya seharusnya memiliki-g.webp

Langkah 14: Bab5: Menerapkan Antarmuka Pengguna

Bab5: Menerapkan Antarmuka Pengguna
Bab5: Menerapkan Antarmuka Pengguna

Di bab terakhir perjalanan kita, kita akan membuat beberapa modifikasi opsional untuk membuat proyek lebih ramah pengguna, jika kita ingin mengimplementasikan proyek di masjid atau tempat umum lainnya. seperti yang kami katakan sebelumnya, setiap kota memiliki waktu salatnya sendiri, dan untuk membuat akses proyek ini lebih luas, kami akan membuat antarmuka pengguna sehingga kami dapat memilih kota dan tema yang kami inginkan setelah kami menghidupkan proyek.

Untuk melakukan ini, kita akan menggunakan pustaka python GUI yang disebut "TKinter".

Ini adalah kode yang saya terapkan untuk memberi saya pilihan untuk memilih di antara lima kota di Arab Saudi, termasuk Mekah:

impor tkinter sebagai tk

from tkinter import * from tkinter import ttk import codec import os class karl(Frame): def _init_(self): tk. Frame._init_(self) self.pack() self.master.title("Waktu Azan") self. button1 = Button(self, text = "Jeddah", width = 80, command = self.open_jeddah1) self.button2 = Button(self, text = "Mekkah", width = 80, command = self.open_makkah1) self.button3 = Button(self, text = "Riyadh", width = 80, command = self.open_riyadh1) self.button4 = Button(self, text = "Madina", lebar = 80, perintah = self.open_madina1) self.button5 = Button(self, teks = "Qasim", tinggi=5, lebar = 80, perintah = self.open_qasaim1) self.button1.grid(baris = 0, kolom = 1, lebar kolom = 2, lengket = W+E+N+S) self.button2.grid(baris = 1, kolom = 1, lebar kolom = 2, lengket = W+E+N+S) self.button3.grid(baris = 2, kolom = 1, lebar kolom = 2, lengket = W+E+N+S) self.button4.grid(baris = 3, kolom = 1, lebar kolom = 2, lengket = W+E+N+S) self.button5.grid(baris = 4, kolom = 1, lebar kolom = 2, sticky = W+E+N+S) def open_jeddah1(self): order = "sudo chromium-browser /home/pi/Desktop/Cities/jeddah/Sunday1.html --start-fullscreen --no-sandbox " os.system(order) def open_makkah1(self): order = "sudo chromium-browser /home/pi/Desktop/Cities/makkah/Sunday1.html --start-fullscreen --no-sandbox -test-type " os.system (pesan) def open_riyadh1(self): order = "sudo chromium-browser /home/pi/Desktop/Cities/riyadh/Sunday1.html --start-fullscreen --no-sandbox -test-type " os.system(order) def open_madina1(self): order = "sudo chromium-browser /home/pi/Desktop/Cities/madina/Sunday1.html --start-fullscreen --no-sandbox -test-type " os.system(order) def open_qasaim1(self): order = "sudo chromium-browser /home/pi/Desktop/Cities/qasaim/Sunday1.html --start-fullscreen --no-sandbox -test-type " os.system(order) def main(): karl().mainloop() if _name_ == '_main_': main()

Kodenya mungkin terlihat besar, tetapi mengeditnya sangat mudah. kami pada dasarnya membuat jendela baru, meletakkan lima tombol nama dan mendefinisikan lima fungsi yang akan dipanggil pada setiap penekanan tombol. setelah Anda menekan tombol, program akan membuka file HTML yang sesuai di folder Kota, yang setiap kota HTML memiliki koordinat kota ketika mendapat waktu dari waktu sholat(). setelah Anda menekan tombol, kode python akan mengeksekusi kode linux di mana ia akan membuka file HTML menggunakan browser chromium, dan Anda akan memiliki tampilan jam yang siap ditampilkan, dengan opsi layar penuh aktif.

Langkah 15: (Opsional): Menambahkan Switch Speaker

(Opsional): Menambahkan Saklar Speaker
(Opsional): Menambahkan Saklar Speaker
(Opsional): Menambahkan Saklar Speaker
(Opsional): Menambahkan Saklar Speaker

Seperti yang kita lihat, ketika waktu sholat tiba suara Azan diputar, dan suara itu keluar dari output suara default (output HDMI atau AV) dan karena kita memasangnya di output HDMI, suara akan datang dari LCD. tapi, bagaimana jika suara LCD kita tidak cukup? misalnya, bagaimana jika kita ingin menerapkan ini di dalam masjid yang sebenarnya? dengan speaker luar yang lebar? maka kita dapat menambahkan satu lagi langkah SANGAT mudah untuk mencapainya. untuk sound system speaker yang sudah build, kita hanya perlu menghidupkan dan mematikannya, dan mengambil mikrofon yang sudah ada dan meletakkannya di sebelah speaker LCD.

Melakukannya mudah. kita akan menggunakan mikrofon masjid yang sudah ada sebelumnya yang terhubung ke pengeras suara, kita hanya perlu raspberryPi untuk mengontrol daya yang menghidupkan dan mematikan seluruh sistem suara. untuk melakukannya, kita perlu menggunakan SSR: SOLID STATE RELAY. jenis relai ini dapat bertindak sebagai sakelar, seperti halnya relai biru rata-rata, perbedaannya adalah SSR dapat menahan sejumlah besar Arus AC yang melaluinya, yang tidak berlaku untuk yang biru (biasanya maks 10A), dan SSR membutuhkan hanya dua kabel bukannya 3: DC+ dan DC- dan hanya itu! Di ujung SSR yang lain kita bisa menghubungkan kabel power sistem speaker, dengan begitu, ketika kita memberi tegangan ke SSR, itu akan menutup rangkaian AC dari sistem speaker, atau kita mematikan tegangan untuk membuat rangkaian terbuka, mematikan speaker.

ada satu tangkapan tho, pin RaspberryPi menghasilkan 3.3v, bukan 5v yang kita perlukan untuk mengontrol SSR. jadi kita membutuhkan transistor untuk mengambil sinyal dari pin RPi, dan 5V dari pin RPi 5v. untuk melakukannya kita perlu:

1-Solid State Relay (apa pun di atas 25A bagus)

2-2n2222 transistor npn

Resistor 3-220ohm

ikuti sirkuit fritzing untuk koneksi.

sekarang dalam kode, kami akan menambahkan beberapa hal yang membuat ini berfungsi. pertama, sebelum loop sementara, kami akan menambahkan beberapa baris untuk menginisialisasi pin GPIO:

Di bagian impor, tambahkan:

impor RPi. GPIO sebagai GPIO

Sebelum perulangan while, tambahkan:

GPIO.setmode(GPIO. BOARD)GPIO.setwarnings(False) relai = 40 GPIO.setup(ledPin, GPIO. OUT)

Sekarang, di while loop, untuk setiap perintah memainkan Azan, kita perlu menyalakan relay, tunggu 10 detik, selesaikan memainkan Azan dan kemudian matikan relay. kita hanya perlu menambahkan dua baris, yang pertama adalah:

GPIO.output(ledPin, GPIO. HIGH)

waktu.tidur(10)

yang ini harus ditambahkan setelah setiap pernyataan if (IDENTASI PENTING!), baris lainnya adalah:

GPIO.output(ledPin, GPIO. LOW)

Yang ini harus ditambahkan setelah baris "lanjutkan". seharusnya terlihat seperti ini untuk setiap waktu Azan:

jika CurrTime == FAJR:

GPIO.output(ledPin, GPIO. HIGH) time.sleep(10) mixer.init() mixer.music.load('/home/pi/Desktop/Adhan-fajr.wav') mixer.music.play() while mixer.music.get_busy() == Benar: lanjutkan GPIO.output(ledPin, GPIO. LOW)

Direkomendasikan: