بسم الله الرحمن الرحيم
سنبدأ اليوم سلسلة جديده علي موقعنا وهي سلسلة تصميم smart home
وسنبدا اليوم باول مشاريع هذه السلسلة مشروعنا اليوم عبارة عن باب اوتامتيكي يفتح عندما يقترب جسم منه يمكن تنفيذ هذا المشروع في سلة نفايات تفتح عندما يقترب احد منها
أولا الأدوات :
Arduino uno
ultrasonic sensor
servo motor
Arduino uno
المتحكم الذي استخدمته في معالجة البيانات استخدمت في هذا المشروع اردوينو اونو
ultrasonic sensor
حساس التراسونيك او حساس الموجات الفوق صوتيه وهذا الحساس له القدرة علي معرفة اذا كان هناك جسم علي مدي 50 سم منه
ثانيا التوصيلات
يتم توصيل الموجب الي 5 فولت والسالب الي السالب
ومنفذ trig الي 8 و منفذ echo الي 7
ويحتوي الموتور السيرفو علي3 منافذ
منفذ الموجب الي 5 فولت ومنفذ السالب الي السالب
ومنفذ الإشارة الي 6
ثالثا الكود :
#include <Servo.h>
int trig = 8;
int echo = 7;
long duration =0;
int distance=0;
Servo servo;
void setup(){
servo.attach(6);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
}
void loop(){
int dis = 0;
dis = calculateDistance();
if(dis<30){
servo.write(180);
}
else{
servo.write(0);}}
int calculateDistance(){
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance= duration*0.034/2;
return distance;
}
في البداية يجب اضافة مكتبة servo لكي يتم التعامل مع موتور السيرفو
#include <Servo.h>
ومن ثم تعريف بعض المتغيرات متغير بمنفذ trig و منفذ echo الخاصين بحساس الموجات الفوق الصوتية و من ثم تعريف متغيرات لكي يتم حساب المسافة داخل هذين المتغيرات
int trig = 8;
int echo = 7;
long duration =0;
int distance=0;
من ثم انشاء كائن باسم servo داخل مكتبة motor servo
Servo servo;
من ثم تعريف منفذ 6 علي انه منفذ الإشارة الخاص بالموتور
servo.attach(6);
ومن ثم تعريف منفذ echo علي انه دخل ومنفذ output علي انه خرج
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
من ثم القيام باستدعاء دالة تقوم بحساب المسافة باعتماد علي قانون السرعة وهو السرعة = المسافة علي الزمن
وفي نهاية نقوم بعمل بعض المقارنات لو ان المسافة اقل من 30 قم باخراج اشارة للموتور واذا كان اكبر من 30 قم بإيقاف هذه الإِشارة
لتحميل الكود اضغط هنا
تصميم وبرمجة : بلال حسان سعدي
المشروع لا يعمل بصراحة، جربته بالكود و يفترض انك حينما تبتعد عن حساس الحركة يعود servo motor لمكانه الاول لكن الامر لا يحصل، الرجاء التصويب
ردحذفجميع مشارعنا مجربة قبل ان ننشرها تاكد من التوصيلات
حذف