ساعة التوقيت (RTC) هي عبارة عن جهاز إلكتروني يستخدم لقياس الوقت بشكل دقيق ويحتفظ بتاريخ ووقت معينين بصورة مستمرة، حتى في حالة انقطاع التيار الكهربائي. هذا الجهاز يتكون عادة من مجموعة من الدوائر والمكونات التي تحتفظ بالوقت والتاريخ عبر مصدر طاقة صغير مدمج مثل البطارية.
ساعة التوقيت الحقيقية تكون مفيدة في تطبيقات مثل الساعات الذكية، وأنظمة التحكم في المنزل الذكي، والأجهزة التي تتطلب توقيت دقيق، مثل أنظمة التسجيل والتحكم في الإضاءة وأجهزة القياس الدقيقة.
لوحة ESP32 والعديد من الأنظمة الإلكترونية يمكنها التفاعل مع RTC لقراءة الوقت والتاريخ بدقة، مما يسمح بإنشاء تطبيقات دقيقة تعتمد على الزمن بشكل كبير.
نعم، يمكن تشغيل ساعة إيقاف بواسطة لوحة ESP32. بإستخدام مكونات بسيطة مثل شاشة LCD I2C 1602 وزر تحكم ومكون، يمكنك برمجة لوحة ESP32 لعرض الوقت والسماح للمستخدم بتشغيل وإيقاف ساعة التوقيت بالضغط على الزر.
ثم يمكنك استخدام شاشة LCD I2C 1602 لعرض الوقت وحالة عمل ساعة التوقيت، بينما يُمكن استخدام زر التحكم لتشغيل أو إيقاف ساعة التوقيت.
البرمجة الصحيحة والربط الصحيح للدوائر يمكن أن تمكنك من إنشاء ساعة إيقاف تعتمد على لوحة ESP32 وتستجيب لأوامر المستخدم لتشغيل وإيقاف عد التنازل.
لتشغيل ساعة توقيت بواسطة لوحة ESP32، ستحتاج إلى عدة مكونات أساسية. إليك قائمة بالمكونات الأساسية التي ستحتاجها:
لوحة ESP32:
لوحة ESP32 هي لوحة تطوير مصغرة تعتمد على شرائح ESP32 المتكاملة، والتي توفر إمكانيات متقدمة للاتصال بشبكات Wi-Fi و Bluetooth بالإضافة إلى إمكانيات الحوسبة الصغيرة. تمكّنك هذه اللوحة من بناء مشاريع الإنترنت الصغيرة (IoT) والتحكم في الأجهزة والروبوتات والتفاعل مع البيئة المحيطة بسهولة.
شاشة LCD I2C 1602:
شاشة لعرض الوقت ورسائل الإخطار والتحكم في عمل ساعة التوقيت.
زري تحكم (Push Buttons):
زر للتحكم في تشغيل وإيقاف ساعة التوقيت.
أسلاك توصيل:
لتوصيل المكونات والحماية من التيار الزائد.
لوحة الاختبار:
اللوح ، المعروف أيضًا باسم اللوح ، هو مكون إلكتروني شائع الاستخدام لأداء النماذج الأولية السريعة والتجريب. يجعل من السهل توصيل المكونات الإلكترونية دون الحاجة إلى لحام.
لربط لوحة ESP32 مع شاشة LCD I2C 1602 وزري الضغط، تحتاج إلى توصيل كل من الشاشة والأزرار بلوحة ESP32 وبرمجتها بشكل مناسب. إليك خطوات الربط ومثال بسيط لتشغيل الشاشة LCD I2C 1602 والتفاعل مع زري الضغط:
- قم بتوصيل طرف GND الخاص بشاشة LCD I2C 1602 بمنفذ GND الخاص بلوحة ESP32
- قم بتوصيل طرف VCC الخاص بشاشة LCD I2C 1602 بمنفذ 3.3 فولت الخاص بلوحة ESP32
- قم بتوصيل طرف SDA الخاص بشاشة LCD I2C 1602 بمنفذ GPIO21 الخاص بلوحة ESP32
- قم بتوصيل طرف SCL الخاص بشاشة LCD I2C 1602 بمنفذ GPIO22 الخاص بلوحة ESP32
-قم بتوصيل إحدى ساقي زر الضغط بالمنفذ GPIO19 في ESP32.
قم بتوصيل ساق أخرى من زر الضغط بمنفذ GND الخاص بلوحة ESP32.
-قم بتوصيل إحدى ساقي زر الضغط بالمنفذ GPIO18 في ESP32.
قم بتوصيل ساق أخرى من زر الضغط بمنفذ GND الخاص بلوحة ESP32.
1- توصيل الأجهزة: قم بتوصيل شاشة LCD I2C 1602 بلوحة ESP32 بطريقة الاتصال المناسبة، مثل I2C.
2- تحميل مكتبة i2c_lcd و مكتبة lcd_api
3- يجب عليك استخدام البرنامج التالي: esp32-20210902-v1.17.bin.
4- إليك مثال لبرمجة ESP32 باستخدام Micropython لتشغيل ساعة توقيت وعرضها على شاشة LCD I2C 1602 مع زري ضغط:
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import machine from machine import Pin, SoftI2C import time from lcd_api import LcdApi from i2c_lcd import I2cLcd I2C_ADDR = 0x27 totalRows = 2 totalColumns = 16 # تهيئة الشاشة i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) #initializing the I2C method for ESP32 lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) # تهيئة الأزرار start_button= machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_UP) reset_button = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_UP) start_state=0; reset_state=0; running=False; timer=0 second=0 minute=0 lcd.putstr("Start Chrono") lcd.move_to(0,1) lcd.putstr("00:00") while True: # عند الضغط على الزر البداية if (start_button.value() == False): lcd.clear() running = not running if (running): lcd.putstr("Chrono Running") else: lcd.clear() lcd.putstr("Chrono stopped") lcd.move_to(0,1) # عرض الوقت على الشاشة if (second<10): lcd.putstr(str(minute)+":0"+str(second)) else: lcd.putstr(str(minute)+":"+str(second)) print("status:"+str(running)) time.sleep(0.5) # عند الضغط على الزر التوقف if (reset_button.value() == False): print("Reset") timer=0 second=0 minute=0 lcd.clear() lcd.putstr("Chrono stopped") lcd.move_to(0,1) # عرض "00:00" على الشاشة lcd.putstr("00:00") time.sleep(0.5) running=False if (running): second += 1 time.sleep(0.01) if (second == 60): second = 0 minute += 1 if (minute == 60): minute = 0 lcd.move_to(0,1) # عرض الوقت على الشاشة if (second<10): lcd.putstr(str(minute)+":0"+str(second)) else: lcd.putstr(str(minute)+":"+str(second)) |
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية