Daftar Isi:
- Langkah 1: Bab 1: Menyiapkan dan Mengonfigurasi RaspberryPI
- Langkah 2: 1-1: Unduh File yang Diperlukan
- Langkah 3: 1-2: Mengonfigurasi Sistem Raspbian
- Langkah 4: 1-3: Menggunakan Baris Perintah untuk Mengatur Pengaturan Rpi
- Langkah 5: Bab 2: Memasang, Mengonfigurasi, dan Menggunakan Modul RTC
- Langkah 6: 2-1: Pengaturan Modul
- Langkah 7: 2-2: Antarmuka I2C
- Langkah 8: 2-3: Menguji RTC
- Langkah 9: Bab 3: Membuat Program Alarm Azan
- Langkah 10: 3-1: Ayo Mainkan Suara
- Langkah 11: 3-2: Dapatkan Waktu Sholat
- Langkah 12: 3-3: Membuat Kode Alarm Azan Terakhir
- Langkah 13: Bab 4: Menerapkan Tampilan Jam
- Langkah 14: Bab5: Menerapkan Antarmuka Pengguna
- Langkah 15: (Opsional): Menambahkan Switch Speaker
Video: Jam & Alarm Doa Islam RaspberryPi: 15 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
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
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
-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
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
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
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
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
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
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
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
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
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
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
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:
Jam Alarm Cerdas: Jam Alarm Cerdas Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Alarm Cerdas: Jam Alarm Cerdas yang Dibuat Dengan Raspberry Pi: Pernahkah Anda menginginkan jam pintar? Jika iya, ini solusinya untuk Anda! Saya membuat Smart Alarm Clock, ini adalah jam yang bisa Anda ubah waktu alarmnya sesuai dengan website. Saat alarm berbunyi, akan ada suara (buzzer) dan 2 lampu akan
Jam Jaringan ESP8266 Tanpa RTC - Nodemcu NTP Jam Tidak Ada RTC - PROYEK JAM INTERNET: 4 Langkah
Jam Jaringan ESP8266 Tanpa RTC | Nodemcu NTP Jam Tidak Ada RTC | INTERNET CLOCK PROJECT : Pada project ini akan dibuat project clock tanpa RTC, akan memakan waktu dari internet menggunakan wifi dan akan ditampilkan pada layar st7735
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): 10 Langkah (dengan Gambar)
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): Dalam proyek saya sebelumnya, saya mengembangkan skala kamar mandi pintar dengan Wi-Fi. Itu dapat mengukur berat pengguna, menampilkannya secara lokal dan mengirimkannya ke cloud. Anda bisa mendapatkan detail lebih lanjut tentang ini di tautan di bawah ini: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Jam Alarm Jalan Sesame DIY (dengan Alarm Kebakaran!): 6 Langkah (dengan Gambar)
Jam Alarm Jalan Sesame DIY (dengan Alarm Kebakaran!): Hai semuanya! Proyek ini adalah yang pertama bagi saya. Karena ulang tahun pertama sepupu saya akan datang, saya ingin membuat hadiah khusus untuknya. Saya mendengar dari paman dan bibi bahwa dia berada di Sesame Street, jadi saya memutuskan dengan saudara-saudara saya untuk membuat jam alarm berbasis
Jam Alarm Matahari Terbit LED Dengan Alarm Lagu yang Dapat Disesuaikan: 7 Langkah (dengan Gambar)
Jam Alarm Matahari Terbit LED Dengan Alarm Lagu yang Dapat Disesuaikan: Motivasi Saya Musim dingin ini pacar saya mengalami banyak kesulitan bangun di pagi hari dan tampaknya menderita SAD (Seasonal Affective Disorder). Saya bahkan menyadari betapa sulitnya untuk bangun di musim dingin karena matahari belum datang