-->

استخدام الأردوينو لعمل ساعة رقمية Arduino Uno



في هذا المشروع سنتعلم كيفية استخدام الأردوينو لعمل ساعة رقمية. سنقوم بعرض الوقت على شاشة الـ LCD والتحكم في ضبط الوقت من خلال مفاتيح الـ Push Buttons.
اردوينو اونو اردوينو ميجا اردوينو نانو اردوينو ببساطة pdf اردوينو pdf اردوينو مشاريع اردوينو للبيع اردوينو يوتيوب اردوينو يون أردوينو ين اردوينو محمد يوسف اردوينو ماذا يعني اين يباع اردوينو كيف يعمل اردوينو اين يوجد اردوينو شو يعني اردوينو اردوينو واد كنيس اردوينو و راسبيري اردوينو وبروتس اردوينو ويب اردوينو واجهة وصلة اردوينو وظائف اردوينو اردوينو هوم اردوينو هواتف هندسة اردوينو هاتف اردوينو اردوينو سمارت هوم اردوينو ما هو اردوينو علي هادي اردوينو ما هي من هو اردوينو پروژه هاي اردوينو اردوينو نانو pdf نظام اردوينو نصوص اردوينو نظارات اردوينو سعر اردوينو نانو مشاريع اردوينو نانو برمجة اردوينو نانو مواصفات اردوينو نانو اردوينو ميكرو اردوينو ماهو اردوينو ليوناردو اردوينو ليبيا اردوينو للبيع الاردن اردوينو ليليباد اردوينو ليد اردوينو ليزر اردوينو كيت اردوينو كت اردوينو كود اردوينو كاشف المعادن اردوينو كاميرا اردوينو كتاب اردوينو كورس اردوينو كتب اردوينو كاشف معادن اردوينو كربلاء اردوينو قطر اردوينو قياس المسافة اردوينو قفل قطع اردوينو الاردن قطع اردوينو قطعة اردوينو قطع اردوينو الرياض قطع اردوينو في الاردن اسعار قطع اردوينو بيع قطع اردوينو الاردن اردوينو في مصر اردوينو في الرياض اردوينو في الطب اردوينو في الجزائر اردوينو في العراق اردوينو في السودان اردوينو في سوريا اردوينو في السعودية اردوينو في الاردن في اردوينو اردوينو ببساطه الاصدار الكامل pdf اردوينو اونو pdf اردوينو عربي اردوينو علي الراوي اردوينو عمان اردوينو عماد جبور اردوينو عربي pdf اردوينو عدن اردوينو عربية اردوينو عن بعد عيوب اردوينو اردوينو طرطوس اردوينو طابعة اردوينو طاقة شمسية طائرة اردوينو طقم اردوينو طرق اردوينو طريق اردوينو مشاريع اردوينو طبية صنع طائرة اردوينو


المكونات المطلوبة


                                            Arduino Uno


                                   


                                    10K Ohms Resistors 

                                                                          
                                    220 Ohm Resistor

                                           Breadboard




الشاشة LCD


تعمل الشاشة في احد الحالات التالية:
استقبال الأوامر من الأردوينو وتنفيذها، مثلا : أمر تهيئة ومسح الشاشة :

وصيل الدارة :

قم بتوصيل الدارة كما هو موضح بالصورة التالية :

سنقوم بعمل كود يقوم على حساب التوقيت لتعمل الساعة بشكل صحيح، حيث سيقوم بحساب مرور 60 ثانية ليقوم بزيادة عدد الدقائق وهكذا ايضا مع الساعات. سيتم استخدام مفاتيح الضغط ليقوم البرنامج بمراقبتها في البداية ليتم ضبط التوقيت الصحيح.

الكود البرمجي



قم برفع الكود التالي على الأردوينو :
---------------------------------------


الكود البرمجي

قم برفع الكود التالي على الأردوينو :

شرح الكود :

في البداية نقوم بإضافة مكتبة شاشة الـ LCD وتسمية منافذ الأردوينو المستخدمة مع مفاتيح الضبط :
ثم نقوم نقوم بالإعلان عن بعض الثوابت التي سيتم استخدامها لاحقا :
بعد ذلك نقوم بالإعلان عن بعض المتغيرات. يستخدم المتغير minute لحفظ الدقائق. والمتغير hour لحفظ الساعات. والمتغير am لتسجيل ما إذا كان التوقيت صباحا أم مساءاً. وسيتم تسجيل الوقت الخاص بأخر مرة تم حساب التوقيت في المتغير previousMillis .
في الدالة ()setup قمنا بضبط الاعدادات اللازمة للمشروع مثل ضبط ارجل الاردوينو كمخارج للمفاتيح وتشغيل الشاشة LCD :
في الدلة ()loop، نقوم بحساب عدد الثوان التي مرت، فإذا كانت 60 ثانية نقوم بزيادة عدد الدقائق في المتغير minute. كما نقوم بإختبار الدقائق التي مرت، فعند مرور 60 دقيقة نقوم بزيادة عدد الساعات في المتغير hour. ثم نقوم بالنهاية بعرض الدقائق والساعات على شاشة الـ LCD.
أيضا اثناء الإختبار نقوم بإختبار المفاتيح إذا ما تم الضغط عليها ام لا عبر استدعاء الدالة ()checkTick . فإذا تم الضغط على مفتاح الدقائق نقوم بزيادة عدد الدقائق في المتغير minute، ويعمل بنفس الطريقة عند الضغط على مفتاح الساعات.
سنقوم بعمل عدد من الدوال المستخدمة في المشروع :
الدالة ()checkTick ، في كل مرة يتم استدعائها تقوم بحفظ الوقت الذي مضى منذ عمل Reset للأردوينو. ثم تتم مقارنة الوقت الحالي بقيمة مسبقة فإذا اصبح الفارق بين التوقيتين يتعدى الـ TICK_LENGTH الذي تم تحديده في أول البرنامج، فهذا يعني انه قد مرة دقيقة فنقوم بزيادتها بإستخدام الدالة ()tick. ثم نقوم بتسجيل هذا التوقيت لإستخدامه مرة ارخى لمعرفة هل مر دقيقة أخرى ام لا.
ايضا يتم التحقق ما إذا تعدى الفارق في التوقيت قيمة CHECK_TIME ، فعندها نقوم بقراءة المفاتيح المستخدمة في تعديل التوقيت.
الدالة ()tick، تقوم بإستدعاء الدالة ()minuteUp، والتي بدورها تقوم بزيادة عداد الدقائق.

الدالة ()readHourtButton تقوم بقراءة المفتاح الخاص بتعديل خانة الساعات فإذا تم الضغط عليه تقوم بتشغيل الدالة ()hourUp التي تقوم بزيادة عداد الساعات.
الدالة readMinuteButton() تقوم بقراءة المفتاح الخاص بتعديل خانة الدقائق فإذا تم الضغط عليه تقوم بإستدعاء دالة ()minuteUp التي تقوم بزيادة عداد الدقائق.
الدالة hourUp() في كل مرة يتم إستعداء هذه الدالة تقوم بزيادة عداد الساعات بمقدار واحد وعمل اختبار اذا كان التوقيت تغير من الصباح إلى المساء .

الداله minuteUp() في كل مرة يتم إستدعائها تقوم بزيادة عداد الدقائق بمقدار واحد وعمل اختبار اذا وصل عداد الدقائق الى 60 تقوم بتصفير عداد الدقائق و زيادة عداد الساعات بمقدار واحد .

سوق
كاتب المقالة
كاتب ومحرر اخبار اعمل في موقع اردوينو .

جديد قسم : مشاريع اردوينو

إرسال تعليق