مشروع حاجز توقف المركبات التلقائي باستخدام أردوينو Automatic parking barrier with Arduino اكتب تعليقُا

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

شرح فكرة المشروع

  • في هذا المشروع، سنقوم بتصميم نموذج مصغر لحاجز التوقف الموجود في بعض المحطات.
  • في الحقيقة، يتم إيقاف المركبات باستخدام حاجز توقف آلي يتم تشغيله عند مرور مركبة أمام جهاز استشعار، أو من خلال زر.
  • سنستخدم حساس HC-SR04، المعروف أيضًا بحساس استشعار المسافة بالموجات فوق الصوتية، لاكتشاف العوائق (في هذه الحالة لتحديد وجود المركبة). أما بالنسبة لرفع الحاجز، سنستخدم مايكرو سيرفو.

أدوات المشروع

  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • حساس الترا سونيك HC-SR04 Ultrasonic sensor: عدد 1
  • لوح تجارب 400 نقطة لون ابيض Solderless Breadboard: عدد 1
  • محرك سيرفو 180 درجة SG90 Rotation Servo Motor: عدد 1
  • أسلاك توصيل ذكر لذكر 40 قطعة 20 سم Male to Male jumper wires
  • أسلاك توصيل ذكر انثى 40 قطعة 20 سم Male to Male jumper wires
  • 9V Maxell Alkaline Battery بطارية قلوية: عدد 1
  • موصل بطارية 9 فولت + مقبس تيار مستمر (غطاء موصل البطارية) Battery snap connector: عدد 1

مخطط المشروع

الكود البرمجي

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

#include<Servo.h>
Servo myservo;
const int trigPin=3;
const int echoPin=5;
long tmeduration;
int distance;

void setup() {
myservo.attach(9);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600);

}

void loop() {
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);

tmeduration=pulseIn(echoPin,HIGH);
distance=(0.034*tmeduration)/2;

if(distance<=10){

myservo.write(90);

delay(5000);}
else{
myservo.write(0);}

Serial.print(“distance:”);
Serial.println(distance);

delay(1);

}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *