أخر الاخبار

ساعة رقمية باستخدام الأردوينو فقط

ساعة رقمية بإستخدام الاردوينو

كيفية صنع ساعة رقمية


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


(1) كود الأردوينو لإنشاء ساعة رقمية بإستخدام الأردوينو فقط مع الشرح..Arduino code to create a clock using Arduino only

السلام عليكم ورحمة الله تعالى وبركاته

أهلا و مرحبا بكم متابعي مدونة سوفت بيديا
قمت سابقا بكتابة مواضيع مختلفة حول اكواد وطريقة ربط الاردوينو مع الملحقات وتناولنا ايضا مشروع الهيدروبونيك عن طريق الاردوينو وكذلك عدة أكواد مختلفة مختصرة لعمل وظائف معينة.. 
الان سنتطرق لاكواد سريعة  وجاهزة للاردوينو سنتطرق في كل مرة لكود جديد سنحتاجه في مختلف المشاريع التي نقوم بها، سواء لمشاريع بسيطة او تحكم ذاتي (آلي) او عن بعد بالاجهزة او لمشاريع معقدة ..

اليوم سنتعرف ان شاء الله على كود الأردوينو لإنشاء ساعة بإستخدام الأردوينو فقط..
Code Arduino pour créer une horloge en utilisant Arduino uniquement
Arduino code to create a clock using Arduino only

كيفية إنشاء ساعة بإستخدام الأردوينو فقط؟

الآن ودون إطالة ننتقل لنتعرف على كود الأردوينو لإنشاء ساعة بإستخدام الأردوينو فقط..Arduino code to create a clock using Arduino only
.. مع شرح أهم النقاط الجديدة علينا فيه ضمن الكود البرمجي للاردوينو..

كود الأردوينو لإنشاء ساعة بإستخدام الأردوينو فقط..Arduino code to create a clock using Arduino only مع الشرح

شرح المتغيرات وأقسام الكود البسيطة لإنشاء ساعة احترافية حقيقية تصلح للإستعمال المنزلي فقط وليس الصناعي طبعا بإستخدام الأردوينو فقط لاغير (يمكنك في المشاريع المتقدمة استخدام ساعة خارجية بالزمن الحقيقي RTC Real time clock مزودة ببطارية صغيرة تدوم لسنوات لحفظ الوقت وبدقة أكبر طبعا نظرا لأن المذبذب الزمني فيها لديه تردد اكبر من كريستالة الأردوينو كمعلومة جانبية فقط)

انشاء متغير طويل الأمد لتسجيل الميلي ثانية
unsigned long prevMillis;


انشاء متغير طويل الأمد لحساب مرور 1ثانية بعد تقسيم الميلي ثانية على ألف بالأسفل
unsigned long currentMillis; 


انشاء متغير طويل الأمد لتسجيل الميلي ثانية هدفه عرض الساعة كل ثانية بآخر الكود بالأسفل
unsigned long prevMillis2;


انشاء متغيرات رقمية او عددية بسيطة لتسجيل (وليس تخزين) الساعة والثواني والدقائق مع إعطائها قيمة إفتراضية أولية للساعة والدقيقة والثانية التي ستظهر لاحقا على السيريل بالكومبيوتر
int h=21;
int m=0;
int s=0;


هنا نعرف السيريل كي يحصل لاحقا تواصل بين الأردوينو والكومبيوتر مع طباعة اولية لكلمة سيريل على الشاشة
void setup() {Serial.begin(9600); Serial.println(F("Serial"));}

    
void loop() {


للحصول على قيم الساعة باستخدام الميلي ثانية نقسمها على ألف جزء فنحصل على واحد ثانية كقيمة أولية (بالطبع بعد مرورها او سنحصل على اي عدد من الثواني لاحقا لايهم لانه سيطرح بالاسفل من قيمته السابقة ونعرف متى تمر الثانية بالضبط)
currentMillis=millis()/1000;


من خلال تحقق هذا الشرط ذلك يعني مرور ثانية لأن حاصل الطرح دوما سيكون ثانية لأن الميل السابق يأخذ قيمة هذا الميل بعد كل ثانية الخ
 if(currentMillis-prevMillis>=1){


هنا اعطاء قيمة للميل السابق تساوي الحالي 
             prevMillis=currentMillis;


وزيادة واحد ثانية للثواني كل مرة او كل ثانية ببساطة
              s=s+1;}


بالأسفل إذا مرت 60ثانية نظيف دقيقة للدقائق ونصفر الثواني لتبدأ من جديد
 if(s==60){m=m+1;s=0;} 


نفس الشيء إذا مرت 60 دقيقة نظيف ساعة للساعات ونصفر الدقائق
if(m==60){h=h+1;m=0;} 


وأخيرا إذا مرت 24ساعة لانفعل شيئا إلا إذا أردت إظافة الأيام والاشهر الخ ولاكن سنصفر الساعات 
if(h==24){h=0;}




ويمكنك وضع اثنى عشر ساعة بنظام 
AM/PM 
مع شرط جديد له يعني بعد كل 12ساعة مثلا 
FLAG=FLAG+1 
واذا كان 
FLAG=1
فإنه  
AM 
وإذا كان 
FLAG=2
 فإنه 
PM 
الخ
 مع تصفير قيمة
 FLAG
 في القيمة الاخيرة (2) ليبدأ العد من جديد 
الخ


هنا شرط لعرض الساعة كل ثانية على السيريل يمكنك التحكم بها من خلال تغيير الرقم بالأحمر الخاص بالميل ثانية
if (millis()-prevMillis2>=1000){prevMillis5=millis();


وهنا طباعة الساعة بكامل الرقم يعني إذا كانت الدقائق او الساعات او الثواني اقل من عشرة فإننا سنظيف لها صفر او لا
if(h<10)Serial.print("0");
Serial.print(h);
Serial.print(":");
if(m<10)Serial.print("0");
Serial.print(m);
Serial.print(":");
if(s<10)Serial.print("0");
Serial.print(s); }



كود الأردوينو لإنشاء ساعة بإستخدام الأردوينو فقط..Arduino code to create a clock using Arduino only

Arduino code to create a clock using Arduino only

unsigned long prevMillis;
unsigned long currentMillis; 
unsigned long prevMillis2;
int h=21
int m=0
int s=0
void setup() {
       Serial.begin(9600); 
       Serial.println(F("Serial"));}

void loop() {
      currentMillis=millis()/1000;

if(currentMillis-prevMillis>=1){
             prevMillis=currentMillis;
              s=s+1;}
 if(s==60){m=m+1;s=0;} 
if(m==60){h=h+1;m=0;} 
if(h==24){h=0;}


if (millis()-prevMillis2>=1000){
       prevMillis5=millis();
       if(h<10)Serial.print("0");
       Serial.print(h);
     Serial.print(":");
     if(m<10)Serial.print("0");
     Serial.print(m);
     Serial.print(":");
     if(s<10)Serial.print("0");
     Serial.print(s); }

}


شرح الالوان المضمنة بكود الأردوينو لإنشاء ساعة بإستخدام الأردوينو فقط..Arduino code to create a clock using Arduino only

 باللون الأخضر:  التعاريف الأساسية (ليدات , سيريل .. الخ).         
 باللون الابيض:   التعاريف الثانوية (pinMode ,HIGH .. الخ).     
 باللون الأحمر:    القيم المختلفة ("Setup Start...." , 9600 .. الخ).
 باللون البرتقالي:  الفواد (او القسم البرمجي الاول والثاني اللوب) (void .. الخ).
 باللون الأزرق:    الشرح المضمن مع الكود (// wait for 5 a second .. الخ). 


شرح طريقة صناعة ساعة  باستعمال شاشة كريستال وأردوينو وساعة وقت حقيقي RTC Arduino 


اصنع ساعة او اقت مشاريعك باستخدام مكتبة
فيديو جديد لكيفية استخدام مكتبة Time الرائعة مع اردوينو لتحويل اردوينو لساعة او تأقيت الاحداث او اي مشروع يحتاج تسجيل زمن
✔️Arduino Tutorials ᴴᴰ الدرس 12| الساعة(التوقيت الحقيقي)في الأردوينو باستخدام RTC Module-Real Time

-----------------------------------------------------------------------------------------------------------



(2) كود ساعة رقمية بإستخدام الأردوينو فقط مع الكومبيوتر بدون شاشة LCD

في هذا القسم الثاني ، سنقدم لكم كوداً آخر مفصلاً لبناء ساعة رقمية باستخدام منصة الأردوينو وتوصيلها بالكومبيوتر فقط، بدون الحاجة إلى استخدام شاشة LCD. سنشرح الخطوات بالتفصيل ونقدم إجابات للأسئلة الشائعة لمساعدتك في فهم العملية بشكل كامل. فلنبدأ!


الخطوة 1: التحضيرات

قبل البدء في كتابة الكود، يجب أن تتأكد من توفر المواد التالية:

  • لوحة الأردوينو
  • كابل USB
  • برنامج Arduino IDE مثبتًا على الكومبيوتر
 

الخطوة 2: توصيل الأردوينو بالكومبيوتر

قم بتوصيل لوحة الأردوينو بالكومبيوتر باستخدام كابل USB. سيتعرف الكومبيوتر على الأردوينو وسيتم تعيينه بوصلة COM محددة.


الخطوة 3: كتابة وتحميل الكود

افتح برنامج Arduino IDE على الكومبيوتر وقم بكتابة الكود التالي:

void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Time: " + String(millis() / 1000));
delay(1000);
}

قم بتحميل الكود على لوحة الأردوينو بالنقر على زر "تحميل" في برنامج Arduino IDE. ستقوم اللوحة بتنفيذ الكود وإرسال النتائج إلى الكومبيوتر عبر وصلة السيريال.


الأسئلة الشائعة:

  1. ما هي وظيفة هذا الكود؟

    يتيح الكود عرض الوقت الحالي بصيغة رقمية على واجهة الكومبيوتر. وهو يستخدم توقيت الأردوينو المدمج في حساب الوقت.

  2. كيف يتم توصيل الأردوينو بالكومبيوتر؟

    يتم توصيل الأردوينو بالكومبيوتر باستخدام كابل USB.

  3. هل يمكن استخدام شاشة LCD بدلاً من واجهة الكومبيوتر؟

    نعم، بإمكانك توصيل شاشة LCD إضافية إلى الأردوينو وعرض الوقت عليها بدلاً من واجهة الكومبيوتر.

  4. هل يمكن تعديل هذا الكود لعرض توقيت آخر مثل توقيت الوقوف؟

    بالتأكيد! بإمكانك تعديل الكود لعرض أي نوع من التوقيت المطلوب، مثل توقيت الوقوف أو توقيت الإشارة وغيرها.

  5. هل يمكن توصيل أجهزة أخرى بالأردوينو للتحكم فيها؟

    نعم، يمكنك توصيل أجهزة إضافية بالأردوينو وبرمجتها للتحكم فيها، مثل أجهزة الإضاءة أو الحساسات أو المحركات وغيرها.

  6. هل يحتاج الكود إلى أي مكتبات إضافية؟

    في هذا الكود، لا يحتاج إلى أي مكتبات إضافية. وهو يستخدم المكتبة الأساسية Serial للتواصل مع الكومبيوتر.

  7. هل يمكن تغيير سرعة الباود في الكود؟

    نعم، يمكنك تغيير قيمة 9600 في الدالة Serial.begin() لتعديل سرعة الباود وفقًا لاحتياجاتك.

  8. هل يمكن استخدام الأردوينو لعرض وقت غير متصل بالكومبيوتر؟

    نعم، بإمكانك توصيل الأردوينو بمصدر طاقة خارجي مثل بطارية أو محول طاقة وتشغيل الكود لعرض الوقت بشكل مستقل عن الكومبيوتر.

  9. هل يمكن تحسين هذا الكود أو إضافة وظائف إضافية؟

    بالتأكيد! يمكنك تحسين هذا الكود أو إضافة وظائف إضافية حسب احتياجاتك ومهاراتك في برمجة الأردوينو.

  10. هل هناك مصادر إضافية لمعرفة المزيد عن استخدام الأردوينو؟

    نعم، يوجد العديد من المصادر والموارد على الإنترنت التي تقدم تعليمات ومشاريع وأفكار لاستخدام الأردوينو. يمكنك الاطلاع على المواقع والمنتديات المتخصصة في هذا المجال لمزيد من المعلومات.


 
 

تمتلك ساعة الأردوينو الرقمية بالكومبيوتر بدون استخدام شاشة LCD العديد من الاستخدامات والتطبيقات العملية. يمكنك توصيلها بأجهزة أخرى أو استخدامها كساعة مكتبية أو تحكم بها عن بُعد. يرجى ملاحظة أن هذا المقال قدم لك الأساسيات والمعلومات اللازمة للبدء في هذا المجال، ويمكنك استكشاف المزيد من الأفكار والمشاريع المثيرة للاهتمام. استمتع بتجربتك في برمجة الأردوينو واستخدامها في مشاريعك المستقبلية!



أرجو أن تكونو قد إستفدتم من الكود السابق البسيط والمفيد لكود الأردوينو لإنشاء ساعة بإستخدام الأردوينو فقط..Arduino code to create a clock using Arduino only الموضح بالاعلى ووجدتم ظالتكم هنا في هذا الموضوع..






ˆFr
وضع القراءة :
حجم الخط
+
16
-
تباعد السطور
+
2
-