بسم الله الرحمن الرحيم
الحمد لله رب االعالمين والصلاة والسلام على سيدنا محمد وعلى آله وصحبه اجمين
وبعد
وعدت الأخوة بوضع مثال لمشروع اوقات الصلاة الالكتروني لكن ليس باستخدام المعادلات الفلكية وإنما باستخدام الإدخال اليدوي لأوقات الصلاة ومن ثم استدعائها في اليوم المطلوب ...
قبل أن أضع تفاصيل المثال أود ان أوجه شكري وامتناني الى استاذنا أحمد سمير فايد الذي أفادنا كثيرا وخاصة بتبسيط المشروع باستخدام multiplexing وأسأل الله تعالى ان يجزيه خير الجزاء
إخواني الكريم :
لعمل دائرة أوقات الصلاة الالكتروني باستخدام الإدخال المسبق لأوقات الصلاة ( نأخذها من التقويم ) نحتاج الى التالي
1- مايكروكونترولر ذاكرته 256 فما فوق وقد اخترت pic16f877a
2- ds1307
3- 4514 عدد 2
4- سفن سكمنت عدد 24 وتستطيع استخدام (7) قطع من سفن سكمنت الرباعية
صراحة المتعب في المشروع هو إدخال الأوقات يدويا لكن قليل من الصبر والجهد وستصل الى المطلوب بإذن الله تعالى
مزايا هذه الطريقة :
1- نتائجها مضمونة مئة بالمئة
2- استقرارية الدائرة جيدة جدا واحتمالية الخطأ تكاد تكون معدومة
3- تكلفة أقل
أما عيوب هذه الطريقة :
1- تكون خاصة لمدينة معينة فلا يمكن اعتمادها لعدة مدن إلا إذا كانت اوقات الصلاة متشابهة في هذه المدن
2- تحتاج الى جهد في إدخال أوقات الصلاة يدويا
اليكم صورة المشروع بعد تنفيذه على بروتس
وتستطيع تحميل ملف المحاكاة من
هنــــــــــــــــا
مقترح لتسهيل إدخال اوقات الصلاة
لكي يسهل عليك إدخال أوقات الصلاة انصحك باستخدام برنامج إكسل فقد سهل علي كثيرا طبعا بعد تسهيل الله عز وجل وتكون طريقة الإدخال كالتالي :
نحن نعلم ان وقت الصلاة ينقسم الى دقائق وساعات ... جميل
الدقائق تتغير أما الساعات فتكاد تكون ثابتة مثلا صلاة الظهر في الشهر الخامس تكون في الساعة الثانية عشر (ثايتة ) والدقائق تتغير لذلك ليس من الضروري أن أكرر إدخال الساعة كل يوم وإنما يكفيني ان ادخلها مرة واحدة للشهر كله
طبعا هناك حلات خاصة سأذكرها فيما بعد المهم ان تكون فهمت هذه الفكرة المفيدة التي ستوفر عليك الكثير من مساحة الذاكرة للبك
الان ندخل أوقات الصلاة ... أمسك التقويم بيدك وتوكل على الله
1- ندخل ساعات كل صلاة في عمود خاص فقط لليوم الأول من الشهر يعني دقائق صلاة الفجر له عمود والظهر لها عمود ... الخ
2- ندخل دقائق كل صلاة في عمود خاص أسفل صف الساعة ( عرفنا لماذا ؟؟ )
2- نقوم بعمل دالة بسيطة في الإكسل تقوم بوضع أوقات الصلاة بين قوسين وتضع فارزة بين كل وقتين
3- بعد أن ننهي الشهر الأول نأخذ البيانات النهائية الناتجة عن الدالة ونخنها في مكان معين ونعيد غدخال اوقات الشهر الثاني ... وهكذا
وقد أرفقت ملف الإكسل الذي استخدمته
هنــــا
هذا مجرد مقترح تستطيع الاستغناء عنه
المهم أن تحصل في النهاية على مصفوفة بهذا الشكل ( لكل شهر مصفوفة )
كود:
const ayar5 as byte[1][32][5]=((
(3,12,3,6,8),
(45,8,54,58,13),
(44,8,54,59,14),
(43,8,54,0,15),
(41,7,54,1,16),
(40,7,54,2,17),
(39,7,54,3,18),
(37,7,54,4,19),
(36,7,55,5,21),
(35,7,55,6,22),
(34,7,55,6,23),
(33,7,55,7,24),
(31,7,55,7,25),
(30,7,55,8,26),
(29,7,56,9,28),
(28,7,56,10,29),
(27,7,56,11,30),
(26,7,56,12,31),
(25,7,56,12,32),
(24,7,56,13,33),
(23,7,57,14,34),
(22,8,57,15,35),
(21,8,57,16,36),
(20,8,57,16,37),
(19,8,57,17,38),
(19,8,58,18,39),
(18,8,58,19,40),
(17,8,58,20,41),
(16,8,58,20,42),
(16,9,58,21,43),
(15,9,59,22,44),
(15,9,59,23,45)
))
اكرر : الخط الأول يمثل ساعات
الخطوط التالية تمثل الدقائق
وبدون هذه الطريقة فإن ذاكرة البك لن تتسع للمشروع .. وهذا الأمر توصلت اليه بعد جهد ومعاناة
نكمل قريبا إن شاء الله تعالى
استغفر الله واتوب اليه