
جدول المحتويات:
- الخطوة 1: الصندوق الأسود
- الخطوة الثانية: اردوينو
- الخطوة 3: إرفاق Arduino بـ Blackbox
- الخطوة 4: جهاز الاستشعار بالموجات فوق الصوتية
- الخطوة 5: توصيل المستشعر بلوحة التوصيل بأردوينو
- الخطوة السادسة: درع المحرك
- الخطوة 7: توصيل Motor Shield بـ Arduino
- الخطوة 8: توصيل 4 محركات وبطاريات بالدرع
- الخطوة 9: برمجة الروبوت
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53


كيفية بناء عقبة تتجنب الروبوت
الخطوة 1: الصندوق الأسود

في الخطوة الأولى ، استخدمت صندوقًا أسود كقاعدة لروبوتي.
الخطوة الثانية: اردوينو

Arduino هو عقل النظام بأكمله وينظم محركاتنا
الخطوة 3: إرفاق Arduino بـ Blackbox

أرفقت اردوينو بالصندوق الأسود باستخدام الغراء الساخن
الخطوة 4: جهاز الاستشعار بالموجات فوق الصوتية

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


لقد استخدمت الأسلاك لذكر الاتصال بين اللوح واردوينو.
انتبه إلى أن مستشعر ping قد يكون له تخطيط دبوس مختلف ولكن يجب أن يحتوي على دبوس جهد ودبوس أرضي ودبوس مثلث ودبوس صدى.
الخطوة السادسة: درع المحرك

لا تستطيع لوحات Arduino التحكم في محركات التيار المستمر من تلقاء نفسها ، لأن التيارات التي تولدها منخفضة جدًا ، ولحل هذه المشكلة ، نستخدم دروع المحرك. يحتوي درع المحرك على قناتين ، مما يسمح بالتحكم في محركي DC ، أو السائر المحركات. … من خلال معالجة هذه المسامير ، يمكنك تحديد قناة المحرك لبدء التشغيل ، وتحديد اتجاه المحرك (القطبية) ، وضبط سرعة المحرك (PWM) ، وإيقاف المحرك وتشغيله ، ومراقبة الامتصاص الحالي لكل قناة
الخطوة 7: توصيل Motor Shield بـ Arduino

ما عليك سوى إرفاق واقي المحرك بأردوينو باستخدام أسلاك المستشعر المكسورة
الخطوة 8: توصيل 4 محركات وبطاريات بالدرع

يحتوي كل درع محرك (على الأقل) على قناتين ، واحدة للمحركات وواحدة لمصدر طاقة ، قم بتوصيلهما فيما يتعلق ببعضهما البعض
الخطوة 9: برمجة الروبوت
قم بتشغيل هذا الرمز
# تضمين # تضمين
NewPing سونار (TRIG_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛
AF_DCMotor motor1 (1 ، MOTOR12_1 كيلو هرتز) ؛ AF_DCMotor motor2 (2 ، MOTOR12_1 كيلو هرتز) ؛ AF_DCMotor motor3 (3 ، MOTOR34_1 كيلو هرتز) ؛ AF_DCMotor motor4 (4 ، MOTOR34_1 كيلو هرتز) ؛ مؤازرة myservo.
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
قيمة منطقية goForward = false ؛ المسافة int = 80 ؛ int speedSet = 0 ؛
الإعداد باطل() {
myservo.attach (10) ، myservo.write (115) ؛ تأخير (2000) ؛ المسافة = readPing () ؛ تأخير (100) ؛ المسافة = readPing () ؛ تأخير (100) ؛ المسافة = readPing () ؛ تأخير (100) ؛ المسافة = readPing () ؛ تأخير (100) ؛ }
حلقة باطلة () {مسافة intR = 0 ؛ المسافة intL = 0 ؛ تأخير (40) ؛ إذا كانت (مسافة <= 15) {moveStop () ؛ تأخير (50) ؛ moveBackward () ، تأخير (150) ؛ moveStop () ، تأخير (100) ؛ DistanceR = lookRight () ؛ تأخير (100) ؛ DistanceL = lookLeft () ؛ تأخير (100) ؛
إذا كانت (مسافة R> = مسافة L) {turnRight () ؛ moveStop () ، } else {turnLeft ()؛ moveStop () ، }} else {moveForward ()؛ } مسافة = readPing () ؛ }
int lookRight () {myservo.write (50) ؛ تأخير (250) ؛ مسافة int = readPing () ؛ تأخير (50) ؛ myservo.write (100) ؛ مسافة العودة }
int lookLeft () {myservo.write (120) ؛ تأخير (300) ؛ مسافة int = readPing () ؛ تأخير (100) ؛ myservo.write (115) ؛ مسافة العودة تأخير (100) ؛ }
int readPing () {delay (70) ؛ int cm = sonar.ping_cm () ؛ إذا (سم == 0) {سم = 200 ؛ } عودة سم؛ }
void moveStop () {motor1.run (RELEASE) ؛ motor2.run (إطلاق) ؛ motor3.run (إطلاق) ؛ motor4.run (إطلاق) ؛ } void moveForward () {
إذا (! يذهب إلى الأمام) {يذهب إلى الأمام = صحيح ؛ motor1.run (إلى الأمام) ؛ motor2.run (إلى الأمام) ؛ motor3.run (إلى الأمام) ؛ motor4.run (إلى الأمام) ؛ لـ (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet + = 2) {motor1.setSpeed (speedSet) ؛ motor2.setSpeed (مجموعة السرعة) ؛ motor3.setSpeed (مجموعة السرعة) ؛ Motor4.setSpeed (مجموعة السرعة) ؛ تأخير (5) ؛ }}}
void moveBackward () {goForward = false ؛ motor1.run (خلفي) ؛ motor2.run (خلفي) ؛ motor3.run (خلفي) ؛ motor4.run (خلفي) ؛ لـ (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet + = 2) {motor1.setSpeed (speedSet) ؛ motor2.setSpeed (مجموعة السرعة) ؛ motor3.setSpeed (مجموعة السرعة) ؛ Motor4.setSpeed (مجموعة السرعة) ؛ تأخير (5) ؛ } void turnLeft () {motor1.run (BACKWARD) ؛ motor2.run (خلفي) ؛ motor3.run (إلى الأمام) ؛ motor4.run (إلى الأمام) ؛ تأخير (500) ؛ motor1.run (إلى الأمام) ؛ motor2.run (إلى الأمام) ؛ motor3.run (إلى الأمام) ؛ motor4.run (إلى الأمام) ؛ }
باطل انعطف لليسار () {motor1.run (BACKWARD) ؛ motor2.run (خلفي) ؛ motor3.run (إلى الأمام) ؛ motor4.run (إلى الأمام) ؛ تأخير (500) ؛ motor1.run (إلى الأمام) ؛ motor2.run (إلى الأمام) ؛ motor3.run (إلى الأمام) ؛ motor4.run (إلى الأمام) ؛ }
موصى به:
عقبة تجنب روبوت LEGO: 8 خطوات (بالصور)

Obstacle Avoiding LEGO Robot: نحن نحب LEGO ونحب أيضًا Crazy Circuits لذلك أردنا دمج الاثنين في روبوت بسيط وممتع يمكنه تجنب الاصطدام بالجدران والأشياء الأخرى. سنوضح لك كيف قمنا ببناء أساسياتنا ، ونلخص الأساسيات اللازمة حتى تتمكن من بناء الخاصة بك
عقبة في تجنب استخدام الروبوت باستخدام Arduino Nano: 5 خطوات

عقبة تجنب الروبوت باستخدام Arduino Nano: في هذه التعليمات ، سأصف كيف يمكنك جعل عقبة تتجنب الروبوت باستخدام Arduino
عقبة تجنب الروبوت مع مستشعرات الأشعة تحت الحمراء بدون متحكم: 6 خطوات

Obstacle Avoiding Robot with IR Sensors Without Microcontroller: حسنًا ، هذا المشروع هو مشروع قديم ، قمت بإنشائه في 2014 في شهر يوليو أو أغسطس ، وفكرت في مشاركته معكم يا رفاق. إنها عقبة بسيطة تمنع الروبوت الذي يستخدم مستشعرات الأشعة تحت الحمراء ويعمل بدون متحكم. تستخدم مستشعرات الأشعة تحت الحمراء opamp IC i
روبوت تجنب عقبة (اردوينو): 8 خطوات (بالصور)

روبوت تجنب عقبة (Arduino): سأقوم هنا بإرشادك حول صنع روبوت تجنب عقبة يعتمد على Arduino. آمل أن أقدم دليلًا تفصيليًا حول كيفية جعل هذا الروبوت بطريقة سهلة للغاية. عقبة تجنب الروبوت هي روبوت مستقل تمامًا يمكنه تجنب أي عوائق
DIY الذكية روبوت تتبع مجموعات السيارات تتبع السيارات حساسة للضوء: 7 خطوات

DIY الذكية روبوت تتبع مجموعات السيارات تتبع السيارات حساس للضوء: التصميم بواسطة SINONING ROBOT يمكنك الشراء من تتبع سيارة الروبوت ، تقارن رقاقة TheoryLM393 بين المقاومين ، عندما يكون هناك جانب واحد من المقاوم الضوئي LED على الأبيض سيتوقف جانب المحرك على الفور ، والجانب الآخر من المحرك تدور ، بحيث