ساعة التوقيت (RTC) هي عبارة عن جهاز إلكتروني يستخدم لقياس الوقت بشكل دقيق ويحتفظ بتاريخ ووقت معينين بصورة مستمرة، حتى في حالة انقطاع التيار الكهربائي. هذا الجهاز يتكون عادة من مجموعة من الدوائر والمكونات التي تحتفظ بالوقت والتاريخ عبر مصدر طاقة صغير مدمج مثل البطارية.
ساعة التوقيت الحقيقية تكون مفيدة في تطبيقات مثل الساعات الذكية، وأنظمة التحكم في المنزل الذكي، والأجهزة التي تتطلب توقيت دقيق، مثل أنظمة التسجيل والتحكم في الإضاءة وأجهزة القياس الدقيقة.
الأردوينو والعديد من الأنظمة الإلكترونية يمكنها التفاعل مع RTC لقراءة الوقت والتاريخ بدقة، مما يسمح بإنشاء تطبيقات دقيقة تعتمد على الزمن بشكل كبير.
نعم، يمكن تشغيل ساعة إيقاف بواسطة الأردوينو. بإستخدام مكونات بسيطة مثل شاشة LCD وزر تحكم ومكون، يمكنك برمجة الأردوينو لعرض الوقت والسماح للمستخدم بتشغيل وإيقاف ساعة التوقيت بالضغط على الزر.
ثم يمكنك استخدام شاشة LCD لعرض الوقت وحالة عمل ساعة التوقيت، بينما يُمكن استخدام زر التحكم لتشغيل أو إيقاف ساعة التوقيت.
البرمجة الصحيحة والربط الصحيح للدوائر يمكن أن تمكنك من إنشاء ساعة إيقاف تعتمد على الأردوينو وتستجيب لأوامر المستخدم لتشغيل وإيقاف عد التنازل.
لتشغيل ساعة توقيت بواسطة الأردوينو، ستحتاج إلى عدة مكونات أساسية. إليك قائمة بالمكونات الأساسية التي ستحتاجها:
لوحة أردوينو :
لوحة الأردوينو هي لوحة إلكترونية تستخدم في تطوير الأجهزة الإلكترونية التفاعلية والمشاريع البرمجية. توفر الأردوينو بيئة برمجية واجهة سهلة للمبتدئين والمحترفين لتطوير الأجهزة والمشاريع المختلفة.
شاشة LCD I2C:
شاشة لعرض الوقت ورسائل الإخطار والتحكم في عمل ساعة التوقيت.
زري تحكم (Push Buttons):
زر للتحكم في تشغيل وإيقاف ساعة التوقيت.
مقاومان :
المقاومة الكهربائية هي مكون أساسي في الدوائر الإلكترونية. تُستخدم المقاومات للسيطرة على تدفق التيار الكهربائي في إليك بعض الأغراض الشائعة لاستخدام المقاومات
أسلاك توصيل:
لتوصيل المكونات والحماية من التيار الزائد.
لوحة الاختبار:
اللوح ، المعروف أيضًا باسم اللوح ، هو مكون إلكتروني شائع الاستخدام لأداء النماذج الأولية السريعة والتجريب. يجعل من السهل توصيل المكونات الإلكترونية دون الحاجة إلى لحام.
لربط بطاقة الأردوينو مع شاشة LCD I2C وزري الضغط، تحتاج إلى توصيل كل من الشاشة والأزرار بالأردوينو وبرمجتها بشكل مناسب. إليك خطوات الربط ومثال بسيط لتشغيل الشاشة LCD والتفاعل مع زري الضغط:
- قم بتوصيل طرف GND الخاص بشاشة I2C LCD بمنفذ GND الخاص بلوحة الأردوينو
- قم بتوصيل طرف VCC الخاص بشاشة I2C LCD بمنفذ 5 فولت الخاص بلوحة الأردوينو
- قم بتوصيل طرف SDA الخاص بشاشة I2C LCD بمنفذ A4 الخاص بلوحة الأردوينو
- قم بتوصيل طرف SCL الخاص بشاشة I2C LCD بمنفذ A5 الخاص بلوحة الأردوينو
- ضع مقاومة (10 كيلو أوم) بين أحد دبابيس زر الضغط ومنفذ GND الخاص بـ الأردوينو
-قم بتوصيل نفس دبوس زر الضغط بالمنفذ رقم 2 في لوحة الأردوينو
-قم بتوصيل دبوس ٱخر من زر الضغط بالمنفذ 5 فولت للوحة الأردوينو
- ضع مقاومة (10 كيلو أوم) بين أحد دبابيس زر الضغط ومنفذ GND الخاص بـ الأردوينو
-قم بتوصيل نفس دبوس زر الضغط بالمنفذ رقم 3 في لوحة الأردوينو
-قم بتوصيل دبوس ٱخر من زر الضغط بالمنفذ 5 فولت للوحة الأردوينو
لعمل ساعة إيقاف باستخدام الأردوينو، يمكنك استخدام البرمجة لتنفيذ عمليات التوقيت والتحكم بساعة التوقيت.
- حين نضغط على زر ضغط البداية، تقوم لوحة الأردوينو بتشغيل ساعة توقيت
- حين نضغط مرة أخرى على زر ضغط البداية، تقوم لوحة الأردوينو بإيقاف تشغيل ساعة توقيت
- حين نضغط على زر ضغط التوقف، تقوم لوحة الأردوينو بإيقاف تشغيل ساعة توقيت و الرجوع إلى البداية
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // تهيئة شاشة LCD I2C const int start_pause_pin = 2, resetpin = 3; String stopwatch = "stop", start_pause = "low"; long start_time = 0, seconds = 0; void setup() { pinMode(start_pause_pin, INPUT); pinMode(resetpin, INPUT); lcd.init();// initialize the lcd lcd.backlight();// Backlight ON lcd.setCursor(0, 1); // تحديد الموضع على الشاشة lcd.print("Press START"); } void loop() { if (stopwatch == "run") { lcd.setCursor(0, 0); // تحديد الموضع على الشاشة seconds = (millis() - start_time) / 1000; long centisecond = ((millis() - start_time) / 10) % 100; // إظهار وقت ساعة التوقيت على الشاشة lcd.print(seconds); lcd.print(" : "); lcd.print(centisecond); // } if (digitalRead(resetpin) == HIGH) { // إذا تم الضغط على زر التوقف //Reset stopwatch stopwatch = "stop"; start_time = 0; lcd.setCursor(0, 1); // تحديد الموضع على الشاشة lcd.print("Press START"); } if (digitalRead(start_pause_pin) == HIGH && stopwatch == "stop") { // إذا تم الضغط على زر البداية //Start stopwatch start_time = millis(); lcd.clear(); // مسح الشاشة stopwatch = "run"; start_pause = "high"; } else if (digitalRead(start_pause_pin) == HIGH && stopwatch == "run" && start_pause == "low") { // إذا تم الضغط على زر البداية //Pause stopwatch stopwatch = "pause"; start_pause = "high"; } else if (digitalRead(start_pause_pin) == HIGH && stopwatch == "pause" && start_pause == "low") { // إذا تم الضغط على زر البداية //Resume stopwatch start_time = millis() - (seconds * 1000); stopwatch = "run"; start_pause = "high"; lcd.clear(); // مسح الشاشة } else if (digitalRead(start_pause_pin) == LOW) { start_pause = "low"; } delay(10); } |
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية