recent
أخبار ساخنة

ماهو مستشعر الحركة وكيفية توصيلة بـ Arduino

حسّاس الحركة PIR motion sensor

كتب المقال  مهندس محمد رفعت محمود

تعريف حساس الحركة

ماهو مستشعر الحركة وكيفية توصيلة درس اليوم هنتعرف على حساس الحركة والذي يتم استخدامه في العديد من التطبيقات والمشاريع المختلفة وقد ظهر في الاونه الاخيره فترة انتشار 
فيروس كورونا covid -19 ظهر في بوابات التعقيم التي يتم وضعها في مداخل المنشآت العامة

نظرية عملة

فكرة عمل حساس لكَشْف الحركة باستخدام حسّاس الحركة PIR motion sensor:

يعتمد حسّاس الحركة Passive infrared sensor PIR على الأشعة تحت الحمراء في عملية الكَشْف عن الحركة، حيث يعمل على قياس الأشعة تحت الحمراء المُنبعثة من الأجسام الواقعة ضمن مجال رُؤيتهِ، بالتالي يَكشِف الحركة اعتماداً على تغيّرات الأشعة تحت الحمراء في الوسط المحيط به، كما تُعتبر عملية كشْف الحركة البشريّة في منطقة واقعة ضمن مجال الحسّاس .

اولا في حالة استخدام بوردة آردوينو 

طريقة توصيل بوردة اردوينو مع الحساس طبقا للكود المرفق 


مثال عملي لاستخدام حسّاس الحركة وربطه مع بوردة أردوينو

سنستخدم في هذا المثال LED يضيء ايضا تم وضع بذر (buzzer) يصدر صوت في نفس وقت اضاءة ليد البيان عندما يتم يكتشف حسّاس الحركة أيّ حركةٍ في المكان في نطاق الرؤية.

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

يتم رفع هذا الكود علي بوردة اردوينو 


/*
Arduino with PIR motion sensor Sinocourse Information Blog
For complete project details, visit: https://electricmr.blogspot.com/
Modified by Code design by Engineer Mohamed Refaat Mahmoud
*/
int led = 13;
int sensor = 2; // the pin that the sensor is attached to
int state = LOW; // by default, no motion detected
int val = 0; // variable to store the sensor status (value)
void setup() {
pinMode(led, OUTPUT); // initialize LED as an output
pinMode(sensor, INPUT); // initialize sensor as an input
Serial.begin(9600); // initialize serial
}
void loop(){
val = digitalRead(sensor); // read sensor value
if (val == HIGH) { // check if the sensor is HIGH
digitalWrite(led, HIGH); // turn LED ON
delay(100); // delay 100 milliseconds
if (state == LOW) {
Serial.println("Motion detected!");
state = HIGH; // update variable state to HIGH
}
}
else {
digitalWrite(led, LOW); // turn LED OFF
delay(200); // delay 200 milliseconds
if (state == HIGH){
Serial.println("Motion stopped!");
state = LOW; // update variable state to LOW
}
}
}


رابط تحميل الكود

لتحميل الملف من موقع MediaFire

التحكم وحدة الاستشعار 

يمكن التحكم في الحساس من خلال التحكم في زمن القراءة والتحكم في نطاق او مسافة الاستشعار من خلال تغيير المقاومات المتغيرة الموضحه بالصورة التالية

ثانيا حساسات التوصيل المياشر

الطريقة الثانية طبقا للتوصيل المباشر  لبعض الحساسات 

في حالة تركيب حساس الحركة بالأشعة تحت الحمراء

الشكل التالي يبين احد اشكال مستشعر الحركة

توصيل الحساس بمضخة المياه 

كما هو واضح بالصورة التاليه


شروحات الفديو 

مستشعر الحركة وكيفية توصيله من خلال الشرح الموجود في الفيديو التالي


الفديو الاول



الفديو الثاني






author-img
مهندس محمد رفعت محمود

تعليقات

ليست هناك تعليقات
إرسال تعليق
    google-playkhamsatmostaqltradent