مشروع 9: 🤖 روبوت ذكي يتجنّب الحواجز (نسخة ٣)
المصدر: شرح عربي
📘 الشرح
🎯 الفكرة والهدف:
نسخة متقدّمة: عند وجود حاجز يقيس المسافة يميناً ويساراً ويختار الاتجاه الأوسع.
📘 الشرح:
• نستخدم سيرفو لتوجيه الحسّاس ومقارنة المسافتين.
• نفس مبدأ L298N للمحرّكات.
🔌 طريقة التوصيل
- L298N: IN1←5, IN2←6, IN3←9, IN4←10
- HC-SR04: Trig←A0, Echo←A1
- السيرفو ← الطرف 3
🧩 المكوّنات المطلوبة
- أردوينو أونو
- هيكل سيارة ومحرّكَي DC
- درايفر L298N
- حسّاس HC-SR04 + سيرفو
- بطارية وأسلاك
💻 الكود
#include <Servo.h>
Servo look; int IN1=5,IN2=6,IN3=9,IN4=10,trig=A0,echo=A1;
long dist(){ digitalWrite(trig,LOW);delayMicroseconds(2);digitalWrite(trig,HIGH);delayMicroseconds(10);digitalWrite(trig,LOW); return pulseIn(echo,HIGH)*0.034/2; }
void fwd(){ digitalWrite(IN1,HIGH);digitalWrite(IN2,LOW);digitalWrite(IN3,HIGH);digitalWrite(IN4,LOW); }
void stopM(){ digitalWrite(IN1,LOW);digitalWrite(IN2,LOW);digitalWrite(IN3,LOW);digitalWrite(IN4,LOW); }
void turnR(){ digitalWrite(IN1,HIGH);digitalWrite(IN2,LOW);digitalWrite(IN3,LOW);digitalWrite(IN4,HIGH); }
void turnL(){ digitalWrite(IN1,LOW);digitalWrite(IN2,HIGH);digitalWrite(IN3,HIGH);digitalWrite(IN4,LOW); }
void setup(){ pinMode(IN1,OUTPUT);pinMode(IN2,OUTPUT);pinMode(IN3,OUTPUT);pinMode(IN4,OUTPUT); pinMode(trig,OUTPUT);pinMode(echo,INPUT); look.attach(3); look.write(90); }
void loop(){
if(dist()>20){ fwd(); return; }
stopM(); look.write(150); delay(300); long l=dist();
look.write(30); delay(300); long r=dist(); look.write(90);
if(l>r) turnL(); else turnR(); delay(400);
}
فيديوهات أخرى

مشروع 1: محرك السيرفو (نسخة ٢)

مشروع 2: المداخل والمخارج مع السيرفو

مشروع 3: الليد ثلاثي الألوان RGB (نسخة ٢)

مشروع 4: شريط ليد WS2812 (نسخة ٢)

مشروع 5: مقدمة NodeMCU ESP8266 (أول برنامج)

مشروع 6: التحكّم عن بعد Blynk + ESP8266 (نسخة ٢)
🛠️ لطلب عمل مشروع مشابه، أو مساعدة في تنفيذه، يمكنكم التواصل معنا.
تواصل عبر واتساب