طريقة عمل مؤذن في الراسبيري باي

القطع المستخدمة في التنفيذ:
1- شاشة 20X4 Character LCD
2- لوحة I2C Module
3-اسلاك توصيل "Jumper Female to Female"
4- مكبر صوت
الـ I2C Module لتقليل عدد اسلاك التوصيل ما بين الراسبيري باي الى 4 اسلاك ممكن تتوصل الشاشة مباشرة بدونها لاكن يلزم مقاومة متغيرة لظبط حدة التباين
شاشة lcd تباع مع I2C Module او بدونها

توصيل الشاشة
البرامج اللازمة:
1- برنامج Pray Times واصوات الاذان من نفس موقع البرنامج
2- تعريف الشاشة RPi_I2C_driver.py على I2C من موقع github التعريف يدعم 7 رموز 'custom characters'
3- تنصيب الحزم
التنفيد:
تمكين i2c interface عن طريق sudo raspi-config ثم عمل اعادة تشغل
معرفة عنوان I2C عن طريق الامر sudo i2cdetect -y 1 واستبدالة في ملف التعريف RPi_I2C_driver.py في ملف التعريفADDRESS = 0x27

عملت سكربت بايثون يعرض على الشاشة وقت الاذان والوقت المتبقي عنه و منتصف الليل و وقت الشروق واذا حان موعد الاذان يشغل صوت الادان
انا مبتدء في لغة بايثون يمكن يكون غير مكتوب بشكل احترافي لاكنة يعمل
عن طريق موقع www.quinapalus.com رسمت الرموز بـ hex
اضفت السكربت للعمل عند بدء التشغيل
فتح ملف rc.local و اضافة مايلي


القطع المستخدمة في التنفيذ:
1- شاشة 20X4 Character LCD
2- لوحة I2C Module
3-اسلاك توصيل "Jumper Female to Female"
4- مكبر صوت
الـ I2C Module لتقليل عدد اسلاك التوصيل ما بين الراسبيري باي الى 4 اسلاك ممكن تتوصل الشاشة مباشرة بدونها لاكن يلزم مقاومة متغيرة لظبط حدة التباين
شاشة lcd تباع مع I2C Module او بدونها
توصيل الشاشة
كود:
[FONT=Roboto][FONT=Roboto]I2C Module | RaspberryPi[/FONT][/FONT] [FONT=Roboto]GND [FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto]<==========[/FONT][/FONT]>[/FONT][/FONT] [FONT=Roboto]GND[/FONT] VCC [FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto]<==========[/FONT][/FONT]>[/FONT][/FONT] 5.0V [FONT=Roboto][FONT=Roboto][FONT=Roboto]SDA [FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto]<==========[/FONT][/FONT]>[/FONT][/FONT][/FONT][/FONT][/FONT] [/FONT]SDA[/FONT]
كود:
[FONT=Roboto][COLOR=#000000][FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto]SCL[/FONT] [FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto][FONT=Roboto]<==========[/FONT][/FONT]>[/FONT][/FONT][/FONT][/FONT][/FONT] [/FONT][/FONT][/FONT]SCL[/COLOR][/FONT]
البرامج اللازمة:
1- برنامج Pray Times واصوات الاذان من نفس موقع البرنامج
2- تعريف الشاشة RPi_I2C_driver.py على I2C من موقع github التعريف يدعم 7 رموز 'custom characters'
3- تنصيب الحزم
كود:
sudo apt-get install -y python-smbus i2c-tools
التنفيد:
تمكين i2c interface عن طريق sudo raspi-config ثم عمل اعادة تشغل
معرفة عنوان I2C عن طريق الامر sudo i2cdetect -y 1 واستبدالة في ملف التعريف RPi_I2C_driver.py في ملف التعريفADDRESS = 0x27
عملت سكربت بايثون يعرض على الشاشة وقت الاذان والوقت المتبقي عنه و منتصف الليل و وقت الشروق واذا حان موعد الاذان يشغل صوت الادان
انا مبتدء في لغة بايثون يمكن يكون غير مكتوب بشكل احترافي لاكنة يعمل
كود:
#! /usr/bin/python # -*- coding: utf-8 -*- import time, datetime import RPi_I2C_driver from praytimes import PrayTimes from datetime import date from time import sleep #------------------------------------------------------------------------------------------------ lcd = RPi_I2C_driver.lcd() lcd.backlight(0) lcd.lcd_clear() lcd.lcd_display_string_pos(("AlAQSA"),2,7) lcd.lcd_display_string_pos(("LINUXAC.ORG"),3,5) sleep (1.5) lcd.lcd_clear() #------------------------------------------------------------------------------------------------ fontdata0 = [ [ 0x0,0xc,0x2,0x2,0xc,0x4,0x4,0xe ], [ 0x3,0x6,0xc,0x8,0x18,0x18,0x18,0x1f ], [ 0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x1f ], [ 0x18,0xc,0x6,0x2,0x3,0x3,0x3,0x1f ], [ 0x1f,0x1b,0x1b,0x1b,0x1f,0x1f,0x1f,0x1f ], [ 0x1f,0x1f,0x1b,0x11,0x11,0x11,0x11,0x1f ], ] Latitude = -33.953290 #خط العرض# Longitude = 151.139960 #خط الطول# TimeZone = +11 #المنطقة الزمنية# prayTimes = PrayTimes('Makkah') times = prayTimes.getTimes(date.today(), (Latitude, Longitude),TimeZone); while True: lcd.lcd_load_custom_chars(fontdata0) lcd.lcd_display_string_pos(unichr(0),1,17) lcd.lcd_display_string_pos(unichr(1),2,16) lcd.lcd_display_string_pos(unichr(2),2,17) lcd.lcd_display_string_pos(unichr(3),2,18) lcd.lcd_display_string_pos(unichr(4),3,15) lcd.lcd_display_string_pos(unichr(4),3,16) lcd.lcd_display_string_pos(unichr(5),3,17) lcd.lcd_display_string_pos(unichr(4),3,18) lcd.lcd_display_string_pos(unichr(4),3,19) TimeNow = time.strftime("%H:%M:%S"); lcd.lcd_display_string_pos((TimeNow),1,6) for i in ['Fajr', 'Dhuhr', 'Asr', 'Maghrib', 'Isha']: TimeNow = time.strftime("%H:%M"); if (times[i.lower()]) == (TimeNow): import os lcd.lcd_clear() lcd.lcd_display_string(('Azaan ' +i+ ' ' +times[i.lower()]), 2) #os.system('omxplayer /home/pi/alaqsa/Adhan_Alaqsa.mp3 > /dev/null 2>&1') os.system('aplay /home/pi/alaqsa/Adhan_Alaqsa.wav > /dev/null 2>&1') lcd.lcd_clear() break if (i+ ': '+ times[i.lower()]) >= (i+ ': '+ TimeNow): lcd.lcd_display_string((i+ ': '+ times[i.lower()]), 2) def remaining_time(): TimeAzaan = (times[i.lower()]) TN = datetime.datetime.strptime(TimeNow, '%H:%M') TA = datetime.datetime.strptime(TimeAzaan,'%H:%M') return str(TA - TN)[:-3] lcd.lcd_display_string_pos(('RT: '+ remaining_time()),3, 0) break else : i = 'Isha' if (times[i.lower()]) < (TimeNow): i = 'Fajr' lcd.lcd_display_string((i+ ': '+ times[i.lower()]), 2) def remaining_time(): TimeAzaan = (times[i.lower()]) TN = datetime.datetime.strptime(TimeNow, '%H:%M') TA = datetime.datetime.strptime(TimeAzaan,'%H:%M') return str(TA - TN)[8:][:-3] lcd.lcd_display_string_pos(('RT: '+ remaining_time()),3, 0) break i = 'Sunrise' lcd.lcd_display_string_pos(('S: '+ times[i.lower()]), 4,0) i = 'Midnight' lcd.lcd_display_string_pos(('M: '+ times[i.lower()]), 4,12) #------------------------------------------------------------------------------------------------
عن طريق موقع www.quinapalus.com رسمت الرموز بـ hex
اضفت السكربت للعمل عند بدء التشغيل
فتح ملف rc.local و اضافة مايلي
كود:
sudo nano /etc/rc.local /home/pi/alaqsa/alaqsa.py &