أزرار الضغط تلعب دورًا مهمًا في تصميم الروبوتات والأنظمة الروبوتية، حيث تُستخدم لأغراض مختلفة وتتيح التفاعل والتحكم في الروبوت. إليك بعض الأدوار الشائعة التي تقوم بها أزرار الضغط في الروبوتيك:
تشغيل وإيقاف: يمكن استخدام زر الضغط لتشغيل وإيقاف الروبوت. هذا يمكن أن يكون مفتاح تشغيل رئيسي لتشغيل النظام أو لتنشيط وإيقاف وظائف محددة.
تحكم في الحركة: يمكن استخدام أزرار الضغط للتحكم في حركة الروبوت، مثل تحريكه إلى الأمام أو الخلف أو تدويره يسارًا أو يمينًا.
تحكم في السرعة: تُستخدم أزرار الضغط لضبط سرعة الروبوت، وهذا مهم في تنفيذ مهام دقيقة.
إيقاف الطوارئ: يتم استخدام زر الضغط كوسيلة لإيقاف الروبوت في حالات الطوارئ أو لتجنب الأضرار.
تفعيل وظائف معينة: يمكن استخدام الأزرار لتنشيط وظائف محددة في الروبوت، مثل تشغيل الأضواء أو أنظمة الاستشعار أو التواصل مع المشغل.
تبديل وضعيات مختلفة: يمكن استخدام الأزرار لتبديل بين وضعيات مختلفة للروبوت، مثل وضع التحكم الذاتي ووضع التحكم البعيد.
تفعيل وإلغاء تفعيل المهام الخاصة: يمكن استخدام الأزرار لتنشيط أو إلغاء تفعيل مهام معينة، مثل جمع العينات أو القيام بعمليات قصيرة محددة.
هذه أمثلة على كيفية استخدام أزرار الضغط في الروبوتيك، وتختلف الأزرار والوظائف المرتبطة بها باختلاف تصميم الروبوت وغرض استخدامه.
للتحكم في المصباحين باستخدام ESP32، ستحتاج إلى المكونات التالية:
1- وحدة ESP32: تعتبر وحدة ESP32 وحدة تحكم مصغرة قوية ومتعددة الاستخدامات، تتضمن وحدة المعالجة المركزية ووحدة الاتصال اللاسلكي ومنافذ إدخال/إخراج رقمية.
2- مجموعة من الأسلاك: تستخدم لتوصيل الأجزاء المختلفة معًا. تأكد من استخدام أسلاك جيدة الجودة والتأكد من أنها تتوافق مع مواصفات الجهد والتيار المطلوبة.
3- لوحة الاختبار هي لوحة تحتوي على صفوف من الفتحات والتوصيلات، وتستخدم لتوصيل المكونات الإلكترونية معًا بدون الحاجة للحام
4- التتابعين JQC-3FF-S-Z: يستخدمان للتحكم في تشغيل وإيقاف التيار إلى المصباح.
5- مصباحين: .
6- أزرار الضغط
أزرار الضغط هي مكونات إلكترونية بسيطة تُستخدم لإنشاء اتصال كهربائي مؤقت عند الضغط علي
لتركيب لوحة مع مصباحين، ستحتاج إلى مرحل لعزل الجهد المنخفض للوحة ESP32 عن الجهد العالي للمصباحين. فيما يلي دليل خطوة بخطوة لإكمال هذا التجميع بأمان:
1- تأكد من فصل المصباحين عن أي مصدر كهربائي قبل البدء في التجميع.
2- قم بتوصيل تتابع JQC-3FF-S-Z بلوحة ESP32:
قم بتوصيل الطرف (-) الخاص بتتابع JQC-3FF-S-Z بمنفذ GND الخاص بلوحة ESP32
قم بتوصيل الطرف (+) الخاص بتتابع JQC-3FF-S-Z بالطرف 3.3 فولت الخاص بلوحة ESP32
قم بتوصيل المنفذ (S) للتتابع JQC-3FF-S-Z المنفذ رقم 23 للوحة ESP32
3- قم بتوصيل مصدر طاقة المصباح (220 فولت) بالمرحل
- قم بتوصيل طرف الطاقة بمنفذ (COM) للتتابع JQC-3FF-S-Z
- قم بتوصيل طرف المصباح بمنفذ (NO) للتتابع JQC-3FF-S-Z
4- بالنسبة لزر الضغط الأول رقم
-قم بتوصيل إحدى ساقي زر الضغط بالمنفذ GPIO21 في ESP32.
قم بتوصيل ساق أخرى من زر الضغط بمنفذ GND الخاص بلوحة ESP32.
5- قم بتوصيل تتابع JQC-3FF-S-Z بلوحة ESP32:
قم بتوصيل الطرف (-) الخاص بتتابع JQC-3FF-S-Z بمنفذ GND الخاص بلوحة ESP32
قم بتوصيل الطرف (+) الخاص بتتابع JQC-3FF-S-Z بالطرف 3.3 فولت الخاص بلوحة ESP32
قم بتوصيل المنفذ (S) للتتابع JQC-3FF-S-Z المنفذ رقم 23 للوحة ESP32
6- قم بتوصيل مصدر طاقة المصباح (220 فولت) بالمرحل
- قم بتوصيل طرف المصباح بمنفذ (COM) للتتابع JQC-3FF-S-Z
- قم بتوصيل طرف الطاقة بمنفذ (NO) للتتابع JQC-3FF-S-Z
7- بالنسبة لزر الضغط الثاني رقم
-قم بتوصيل إحدى ساقي زر الضغط بالمنفذ GPIO19 في ESP32.
قم بتوصيل ساق أخرى من زر الضغط بمنفذ GND الخاص بلوحة ESP32.
لبرمجة لوحة ESP32 في MicroPython لتشغيل المصباحين باستخدام أزرار الضغط، اتبع الخطوات أدناه. تأكد من أنك قمت بالفعل بتثبيت MicroPython على لوحة ESP32 وأن لديك مصباحين و أزرار الضغط متصلة بشكل صحيح باللوحة الخاصة بك.
1- استيراد المكتبات اللازمة للبرنامج:
1 2 3 |
import machine from machine import Pin import time |
2- اضبط الدبابيس (GPIO) لأزرار الضغط و وحدتي التتابع:
1 2 3 4 |
lamp1_relay=Pin(23, Pin.OUT) lamp1_button= machine.Pin(21, machine.Pin.IN, machine.Pin.PULL_UP) lamp2_relay=Pin(22, Pin.OUT) lamp2_button = machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_UP) |
3- قم بإنشاء متغير للحفاظ على حالة المصباح (0 إذا كان المصباح متوقفًا و 1 إذا كان المصباح هو
1 2 |
lamp1_state=0; lamp2_state=0; |
قم بإنشاء حلقة لمراقبة حالة لأزرار الضغط وتشغيل/إيقاف تشغيل المصباحين بواسطة ESP32
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 |
while True: lamp1_first = lamp1_button.value() time.sleep(0.01) lamp1_second = lamp1_button.value() if lamp1_first and not lamp1_second: print('Button pressed!') if (lamp1_state==0): lamp1_relay.value(1) # إضاءة المصباح الأول lamp1_state=1 else: lamp1_relay.value(0) # إطفاء المصباح الأول lamp1_state=0; time.sleep(0.5) elif not lamp1_first and lamp1_second: print('Button released!') lamp2_first = lamp2_button.value() time.sleep(0.01) lamp2_second = lamp2_button.value() if lamp2_first and not lamp2_second: print('Button pressed!') if (lamp2_state==0): lamp2_relay.value(1) # إطفاء المصباح الثاني lamp2_state=1 else: lamp2_relay.value(0) # إطفاء المصباح الثاني lamp2_state=0; time.sleep(0.5) elif not lamp2_first and lamp2_second: print('Button released!') |
إليك البرنامج الكامل في Micropython:
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 |
import machine from machine import Pin import time lamp1_relay=Pin(23, Pin.OUT) lamp1_button= machine.Pin(21, machine.Pin.IN, machine.Pin.PULL_UP) lamp1_state=0; lamp2_relay=Pin(22, Pin.OUT) lamp2_button = machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_UP) lamp2_state=0; while True: lamp1_first = lamp1_button.value() time.sleep(0.01) lamp1_second = lamp1_button.value() if lamp1_first and not lamp1_second: print('Button pressed!') if (lamp1_state==0): lamp1_relay.value(1) lamp1_state=1 else: lamp1_relay.value(0) lamp1_state=0; time.sleep(0.5) elif not lamp1_first and lamp1_second: print('Button released!') #led_rouge.value(0) lamp2_first = lamp2_button.value() time.sleep(0.01) lamp2_second = lamp2_button.value() if lamp2_first and not lamp2_second: print('Button pressed!') if (lamp2_state==0): lamp2_relay.value(1) lamp2_state=1 else: lamp2_relay.value(0) lamp2_state=0; time.sleep(0.5) elif not lamp2_first and lamp2_second: print('Button released!') |
عند الضغط على الزر (الحالة منخفضة)، يضيء المصباح. إذا تم الضغط على الزر
يسمح لك هذا البرنامج البسيط بالتحكم في المصباحين باستخدام أزرار الضغط
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية