كيفية صنع روبوت يتبع الإنسان باستخدام Arduino: 3 خطوات
كيفية صنع روبوت يتبع الإنسان باستخدام Arduino: 3 خطوات
Anonim
كيفية صنع روبوت يتبع الإنسان باستخدام Arduino
كيفية صنع روبوت يتبع الإنسان باستخدام Arduino

الإنسان يتبع إحساس الإنسان ويتبع الإنسان

الخطوة 1: احصل على الأدوات

احصل على الأدوات
احصل على الأدوات
احصل على الأدوات
احصل على الأدوات
احصل على الأدوات
احصل على الأدوات

احصل على أدوات مثل: مستشعر بالموجات فوق الصوتية ، مستشعر أردوينو أونو 4 محركات تروس مع عجلة سيرفو بطارية وحالة بطارية محرك محرك أسلاك توصيل هيكل

الخطوة 2: التوصيل

توصيل
توصيل
توصيل
توصيل
توصيل
توصيل
توصيل
توصيل

قم بتوصيل كل المعدات بسائق المحرك. قم بتوصيل سائق المحرك بـ arduino.

الخطوة 3: الكود

الشفرة
الشفرة

# include # include # حدد LEFT A3 # حدد TRIGGER_PIN A1 # حدد ECHO_PIN A0 # حدد MAX_DISTANCE 100NewPing سونار (TRIGGER_PIN، ECHO_PIN، MAX_DISTANCE)؛ AF_DCMotor Motor1 (1، MOTOR12_1KHZOR_1)؛ ؛ AF_DCMotor Motor3 (3 ، MOTOR34_1KHZ) ؛ AF_DCMotor Motor4 (4 ، MOTOR34_1KHZ) ؛ Servo myservo ؛ int pos = 0 ؛ إعداد باطل () {// ضع رمز الإعداد هنا ، للتشغيل مرة واحدة: Serial.begin (9600) ؛ myservo.attach (10)؛ {for (pos = 90؛ pos <= 180؛ pos + = 1) {myservo.write (pos)؛ تأخير (15) ؛} لـ (pos = 180 ؛ pos> = 0 ؛ pos- = 1) {myservo.write (pos) ؛ تأخير (15) ؛} لـ (pos = 0 ؛ pos <= 90 ؛ pos + = 1) {myservo.write (pos) ؛ delay (15) ؛}} pinMode (RIGHT ، INPUT) ؛ pinMode (LEFT ، INPUT) ؛} الحلقة الفارغة () {// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر: delay (50) ؛ مسافة int غير موقعة = sonar.ping_cm () ؛ Serial.print ("مسافة") ؛ Serial.println (مسافة) ؛ int Right_Value = digitalRead (RIGHT) ؛ int Left_Value = digitalRead (LEFT) ؛ Serial.print ("RIGHT") ؛ Serial.println (Right_Value)؛ Serial.print ("LEFT")؛ Serial.println (Left_Value)؛ if ((Right_Value == 1) && (مسافة> = 10 && مسافة <= 30) && (Left_Value == 1)) {Motor1.setSpeed (120) ؛ Motor1.run (إلى الأمام) ؛ Motor2.setSpeed (120) ؛ Motor2.run (إلى الأمام) ؛ Motor3.setSpeed (120) ؛ Motor3.run (إلى الأمام) ؛ Motor4.setSpeed (120) ؛ Motor4.run (FORWARD)؛} else if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200)؛ Motor1.run (إلى الأمام) ؛ Motor2.setSpeed (200) ؛ Motor2.run (إلى الأمام) ؛ Motor3.setSpeed (100) ؛ Motor3.run (خلفي) ؛ Motor4.setSpeed (100) ؛ Motor4.run (BACKWARD)؛} else if ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100)؛ Motor1.run (خلفي) ؛ Motor2.setSpeed (100) ؛ Motor2.run (خلفي) ؛ Motor3.setSpeed (200) ؛ Motor3.run (إلى الأمام) ؛ Motor4.setSpeed (200) ؛ Motor4.run (FORWARD)؛} else if ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0)؛ Motor1.run (إطلاق) ؛ Motor2.setSpeed (0) ، Motor2.run (إطلاق) ؛ Motor3.setSpeed (0) ؛ Motor3.run (إطلاق) ؛ Motor4.setSpeed (0) ؛ Motor4.run (RELEASE)؛} وإلا إذا (المسافة> 1 && مسافة <10) {Motor1.setSpeed (0)؛ Motor1.run (إطلاق) ؛ Motor2.setSpeed (0) ، Motor2.run (إطلاق) ؛ Motor3.setSpeed (0) ؛ Motor3.run (إطلاق) ؛ Motor4.setSpeed (0) ؛ Motor4.run (إطلاق) ؛ }}

موصى به: