أزرار الضغط تلعب دورًا مهمًا في تصميم الروبوتات والأنظمة الروبوتية، حيث تُستخدم لأغراض مختلفة وتتيح التفاعل والتحكم في الروبوت. إليك بعض الأدوار الشائعة التي تقوم بها أزرار الضغط في الروبوتيك:
تشغيل وإيقاف: يمكن استخدام زر الضغط لتشغيل وإيقاف الروبوت. هذا يمكن أن يكون مفتاح تشغيل رئيسي لتشغيل النظام أو لتنشيط وإيقاف وظائف محددة.
تحكم في الحركة: يمكن استخدام أزرار الضغط للتحكم في حركة الروبوت، مثل تحريكه إلى الأمام أو الخلف أو تدويره يسارًا أو يمينًا.
تحكم في السرعة: تُستخدم أزرار الضغط لضبط سرعة الروبوت، وهذا مهم في تنفيذ مهام دقيقة.
إيقاف الطوارئ: يتم استخدام زر الضغط كوسيلة لإيقاف الروبوت في حالات الطوارئ أو لتجنب الأضرار.
تفعيل وظائف معينة: يمكن استخدام الأزرار لتنشيط وظائف محددة في الروبوت، مثل تشغيل الأضواء أو أنظمة الاستشعار أو التواصل مع المشغل.
تبديل وضعيات مختلفة: يمكن استخدام الأزرار لتبديل بين وضعيات مختلفة للروبوت، مثل وضع التحكم الذاتي ووضع التحكم البعيد.
تفعيل وإلغاء تفعيل المهام الخاصة: يمكن استخدام الأزرار لتنشيط أو إلغاء تفعيل مهام معينة، مثل جمع العينات أو القيام بعمليات قصيرة محددة.
هذه أمثلة على كيفية استخدام أزرار الضغط في الروبوتيك، وتختلف الأزرار والوظائف المرتبطة بها باختلاف تصميم الروبوت وغرض استخدامه.
1- بطاقة الأردوينو:
بطاقة الأردوينو (Arduino board) هي لوحة إلكترونية صغيرة مفتوحة المصدر تُستخدم لبناء وتطوير الأجهزة الإلكترونية التفاعلية. تم تصميم الأردوينو لتكون سهلة الاستخدام ومنخفضة التكلفة، مما يجعلها مثالية للمبتدئين والمهندسين على حد سواء. تتيح بطاقة الأردوينو إمكانية برمجتها بواسطة الكمبيوتر وتوصيلها بمجموعة متنوعة من المكونات الإلكترونية لبناء مشاريع مختلفة.
2- صمام ثلاثي الألوان (RGB LED):
ستحتاج إلى وحدة صمام ثلاثي الألوان. تتضمن هذه الوحدة ثلاثة أقطاب للألوان الأساسية (أحمر، أخضر، أزرق).
2- أزرار الضغط
أزرار الضغط هي مكونات إلكترونية بسيطة تُستخدم لإنشاء اتصال كهربائي مؤقت عند الضغط عليها
3- أسلاك الاتصال :
ستحتاج إلى أسلاك الاتصال (جمبر واير) لربط بين بطاقة الميكروبيت ووحدة الصمام ثلاثي الألوان.
4- لوحة التجارب (اختياري):
لوحة التجارب تسهل عملية الاتصال بين المكونات دون الحاجة لللحام.
لتركيب بطاقة الأردوينو مع صمام ثلاثي الألوان (RGB LED)، تحتاج إلى متابعة الخطوات التالية:
قم بتوصيل الطرف R (الأحمر) لوحدة صمام ثلاثي الألوان بالدبوس 2 من لوحة الأردوينو.
قم بتوصيل الطرف G (الأخضر) لوحدة صمام ثلاثي الألوان بالدبوس 3 من لوحة الأردوينو.
قم بتوصيل الطرف B (أزرق) لوحدة صمام ثلاثي الألوان بالدبوس 4 من لوحة الأردوينو.
قم بتوصيل الطرف GND لوحدة صمام ثلاثي الألوان بالدبوس GND من لوحة الأردوينو.
بالنسبة لأزرار الضغط
زر الضغط رقم 1
-قم بتوصيل إحدى ساقي زر الضغط بالدبوس رقم 5 في الأردوينو.
-قم بتوصيل ساق أخرى من زر الضغط بمنفذ 5V في الأردوينو.
-ضع مقاومة 10 كيلو أوم بين الطرف الثالث من زر الضغط ودبوس GND الخاص بالاردوينو.
زر الضغط رقم 2
-قم بتوصيل إحدى ساقي زر الضغط بالدبوس رقم 6 في الأردوينو.
-قم بتوصيل ساق أخرى من زر الضغط بمنفذ 5V في الأردوينو.
-ضع مقاومة 10 كيلو أوم بين الطرف الثالث من زر الضغط ودبوس GND الخاص بالاردوينو.
زر الضغط رقم 3
-قم بتوصيل إحدى ساقي زر الضغط بالدبوس رقم 7 في الأردوينو.
-قم بتوصيل ساق أخرى من زر الضغط بمنفذ 5V في الأردوينو.
-ضع مقاومة 10 كيلو أوم بين الطرف الثالث من زر الضغط ودبوس GND الخاص بالاردوينو.
لبرمجة لوحة الأردوينو لتشغيل وحدة صمام ثلاثي الألوان باستخدام أزرار الضغط، يمكنك استخدام برنامج التالي.
يستخدم هذا البرنامج ثلاثة أزرار ضغط للتحكم في ألوان صمام ثلاثي الألوان:
- زر ضغط لتشغيل اللون الأحمر أو إيقافه
- زر ضغط لتشغيل اللون الأخضر أو إيقافه
- زر ضغط لتشغيل اللون الأزرق أو إيقافه
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 75 76 77 78 |
#define Red_PIN 2 // عدد الدبوس الأحمر من صمام ثلاثي الألوان #define Red_BUTTON_PIN 5 // عدد دبوس الضغط على اللون الأحمر الفاتح لـ صمام ثلاثي الألوان #define Green_PIN 3 // عدد الدبوس الأخضر من صمام ثلاثي الألوان #define Green_BUTTON_PIN 6 // عدد دبوس الضغط على اللون الأخضر الفاتح لـصمام ثلاثي الألوان #define Blue_PIN 4 // عدد الدبوس االأزرق من صمام ثلاثي الألوان #define Blue_BUTTON_PIN 7 // عدد دبوس الضغط على اللون الأزرق الفاتح لـصمام ثلاثي الألوان byte RedlastButtonState = LOW; // للحفاظ على حالة الزر الأول واللون الأحمر لـصمام ثلاثي الألوان byte RedledState = LOW; // to keep the state of the first button and the red color of LED RGB byte GreenlastButtonState = LOW; // للحفاظ على حالة الزر الأول واللون الأخضر لـصمام ثلاثي الألوان byte GreenledState = LOW; // to keep the state of the second button and the green color of LED RGB byte BluelastButtonState = LOW; // للحفاظ على حالة الزر الأول واللون الأزرق لـصمام ثلاثي الألوان byte BlueledState = LOW; // to keep the state of the third button and the blue color of LED RGB unsigned long debounceDuration = 50; // millis unsigned long lastTimeRedButtonStateChanged = 0; unsigned long lastTimeGreenButtonStateChanged = 0; unsigned long lastTimeBlueButtonStateChanged = 0; void setup() { // تهيئة الدبوس الأحمر كمخرج: pinMode(Red_PIN, OUTPUT); // تهيئة دبوس الضغط كمدخل: pinMode(Red_BUTTON_PIN, INPUT); // تهيئة الدبوس الأخضر كمخرج: pinMode(Green_PIN, OUTPUT); // تهيئة دبوس الضغط كمدخل: pinMode(Green_BUTTON_PIN, INPUT); // تهيئة الدبوس الأزرق كمخرج: pinMode(Blue_PIN, OUTPUT); // تهيئة دبوس الضغط كمدخل: pinMode(Blue_BUTTON_PIN, INPUT); } void loop() { // لتشغيل اللون الأحمر لوحدة ـصمام ثلاثي الألوان أو إيقاف تشغيله باستخدام الزر الأول if (millis() - lastTimeRedButtonStateChanged > debounceDuration) //start the button/LED functionality if enough time has passed since the last time the button’s state was changed { byte RedbuttonState = digitalRead(Red_BUTTON_PIN); // يتم الضغط على زر الضغط if (RedbuttonState != RedlastButtonState) { lastTimeRedButtonStateChanged = millis(); RedlastButtonState = RedbuttonState; if (RedbuttonState == LOW) { RedledState = (RedledState == HIGH) ? LOW: HIGH; // قم بتبديل حالة صمام ثلاثي الألوان عند تحرير الزر digitalWrite(Red_PIN, RedledState); // قم بتشغيل أو إيقاف اللون الأحمر حسب حالة مؤشر صمام ثلاثي الألوان } } } // لتشغيل اللون الأخضر لوحدة ـصمام ثلاثي الألوان أو إيقاف تشغيله باستخدام الزر الأول if (millis() - lastTimeGreenButtonStateChanged > debounceDuration) { byte GreenbuttonState = digitalRead(Green_BUTTON_PIN); if (GreenbuttonState != GreenlastButtonState) { lastTimeGreenButtonStateChanged = millis(); GreenlastButtonState = GreenbuttonState; if (GreenbuttonState == LOW) { GreenledState = (GreenledState == HIGH) ? LOW: HIGH; digitalWrite(Green_PIN, GreenledState); } } } // لتشغيل اللون الأزرق لوحدة ـصمام ثلاثي الألوان أو إيقاف تشغيله باستخدام الزر الأول if (millis() - lastTimeBlueButtonStateChanged > debounceDuration) { byte BluebuttonState = digitalRead(Blue_BUTTON_PIN); if (BluebuttonState != BluelastButtonState) { lastTimeBlueButtonStateChanged = millis(); BluelastButtonState = BluebuttonState; if (BluebuttonState == LOW) { BlueledState = (BlueledState == HIGH) ? LOW: HIGH; digitalWrite(Blue_PIN, BlueledState); } } } } |
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية