كود البحث

كود أردوينو وفيديو لمستشعر تجنّب العوائق بالأشعة تحت الحمراء E18-D80NK

كود أردوينو وفيديو لمستشعر تجنّب العوائق بالأشعة تحت الحمراء E18-D80NK

في هذا الدرس سنتعلّم كيفية استخدام مستشعر تجنّب العقبات بالأشعة تحت الحمراء E18-D80NK مع أردوينو لاكتشاف العقبات وتشغيل إجراءات، مثل إضاءة مصباح LED أو تفعيل ريليه. سيعرض المشروع كيفية قراءة خرج المستشعر والاستجابة وفقًا لذلك. بحلول نهاية هذا الدرس سيكون لديك إعداد عملي يعمل يمكنه اكتشاف العقبات وتفعيل المخرجات بناءً على ذلك.

تأكد من مشاهدة الفيديو المصاحب لفهم أوضح للتوصيلات وتنفيذ الكود (في الفيديو عند 00:00).

شرح الأجهزة

تم تصميم مستشعر تجنّب العقبات بالأشعة تحت الحمراء E18-D80NK للكشف عن الأجسام القريبة باستخدام الأشعة تحت الحمراء. يصدر أشعة تحت الحمراء ويكتشف انعكاسها عن العقبات. عندما يُكتشف جسم ضمن مدى معين، يُخرج المستشعر إشارة منخفضة يمكن قراءتها بواسطة أردوينو.

يحتوي هذا المستشعر على ثلاث دبابيس رئيسية: دبوس طاقة (عادة بني)، ودبوس أرضي (أزرق)، ودبوس إشارة (أسود). يُوصَل دبوس الإشارة بمدخل رقمي في لوحة الأردوينو لقراءة حالة اكتشاف العوائق. يمكن للخارج بعد ذلك التحكم في أجهزة مختلفة مثل المحركات أو المرحلات اعتمادًا على قراءات المستشعر.

تفاصيل ورقة البيانات

المصنّعشنتشن ثمانية عشر للإلكترونيات
رقم القطعةE18-D80NK
جهد المنطق/الإدخال والإخراج3.3 فولت إلى 5 فولت
جهد التغذية5 فولت
تيار الإخراج (لكل قناة)20 mA
التيار الذروي (لكل قناة)200 مللي أمبير
نطاق الكشفمن 2 سم إلى 30 سم
نوع الإخراجرقمي
حزمةوحدة

  • تأكد من توصيل الأسلاك بشكل صحيح لمنع تلف الوحدة.
  • استخدم مقاومة سحب لأعلى على خط الإشارة لقراءات مستقرة.
  • احرص على بقاء المستشعر نظيفًا وخالٍ من العوائق لضمان الكشف بدقة.
  • اختبر مدى المستشعر في بيئتك المحددة.
  • كن حذراً من تصنيفات القدرة عند توصيل المرحلات أو المحركات.

تعليمات التوصيل الكهربائي

E18-D80NK Infrared Sensor: Wiring with a resistor
مستشعر الأشعة تحت الحمراء E18-D80NK: التوصيل مع مقاومة — E18-D80NK Infrared Sensor: Wiring with a resistor

لتوصيل حساس E18-D80NK بالأردوينو، ابدأ بتوصيل السلك البني بدبوس 5V على الأردوينو لتغذيته بالطاقة. بعد ذلك، وصل السلك الأزرق بدبوس GND لإكمال دائرة الطاقة. ثم خذ السلك الأسود ووصّله بالدبوس الرقمي 2 على الأردوينو لإدخال الإشارة.

E18-D80NK infrared sensor: sensitivity screw

إذا كنت تستخدم مرحلاً، فقم بتوصيل دبوس التحكم الخاص بالمرحّل (عادة إلى الدبوس 9) بالأردوينو للتحكم بالمخرج بناءً على قراءات المستشعر. تأكد من أن المرحّل مزود بالطاقة ومتصّل بشكل صحيح بالجهاز الذي يعمل بالتيار المتردد الذي تريد التحكم به. من الضروري اتباع احتياطات السلامة عند التعامل مع التيار المتردد.

أمثلة على الكود وشرح خطوة بخطوة

يوضح الكود التالي كيفية قراءة خرج المستشعر والتحكم في إجراء بناءً على اكتشاف عائق. يُقرأ خرج المستشعر باستخدام الـSENSORتم تعريف المعرف على أنه الدبوس 2، وتم تعريف دبوس الإجراء على أنه الدبوس 9.

#define SENSOR 2 // define pin 2 for sensor
#define ACTION 9 // define pin 9 as for ACTION

void setup() {
  Serial.begin(9600); // setup Serial Monitor to display information
  pinMode(SENSOR, INPUT_PULLUP); // define pin as Input sensor
  pinMode(ACTION, OUTPUT); // define pin as OUTPUT for ACTION
}

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

void loop() {
  int L = digitalRead(SENSOR); // read the sensor
  if (L == 0) {
    Serial.println("Obstacle detected");
    digitalWrite(ACTION, HIGH); // send signal
  } else {
    Serial.println("=== All clear");
    digitalWrite(ACTION, LOW); // turn the relay OFF
  }
  delay(500);
}

يقوم هذا الجزء من الكود بالتحقق من خرج المستشعر باستمرار. إذا تم اكتشاف عقبة (عندماLيُرسل إشارة HIGH إلى دبوس العمل، والتي يمكن أن تُفعّل ريلاي أو مكونات أخرى. إذا لم يتم اكتشاف عائق، فإنه يُرسل إشارة LOW، مطفئًا الجهاز.

عرض توضيحي / ما يمكن توقعه

عند إعداد الدائرة وتحميل الكود، سيقوم المستشعر بمراقبة العوائق باستمرار. إذا دخل جسم ضمن نطاق الكشف، سترى رسالة في المراقب التسلسلي تشير إلى أنه تم رصد عائق، وسيتم تفعيل الجهاز المتصل. إذا كان المسار خالياً، سيطبع رسالة تقول "المسار خالٍ". تأكد من ضبط زمن التأخير في الحلقة إذا لاحظت أي اكتشافات فائتة أو تنشيطات غير مرغوب فيها (في الفيديو عند 00:00).

الطوابع الزمنية للفيديو

  • 00:00- مقدمة عن المشروع
  • 01:30- نظرة عامة على الأجهزة
  • 03:15- تعليمات التوصيل الكهربائي
  • 05:00- استعراض الكود
  • 06:45- عرض توضيحي للإعداد

الصور

E18-D80NK حسّاس الأشعة تحت الحمراء: متصل بأردوينو وزر التنبيه
E18-D80NK حسّاس الأشعة تحت الحمراء: متصل بأردوينو وزر التنبيه
E18-D80NK جهاز استشعار الأشعة تحت الحمراء: جهاز استشعار
E18-D80NK جهاز استشعار الأشعة تحت الحمراء: جهاز استشعار
مجس الأشعة تحت الحمراء E18-D80NK: TX RX leses
مجس الأشعة تحت الحمراء E18-D80NK: TX RX leses
E18-D80NK مستشعر الأشعة تحت الحمراء: برغي الحساسية
E18-D80NK مستشعر الأشعة تحت الحمراء: برغي الحساسية
E18-D80NK مستشعر الأشعة تحت الحمراء: لون الأسلاك
E18-D80NK مستشعر الأشعة تحت الحمراء: لون الأسلاك
مستشعر الأشعة تحت الحمراء E18-D80NK: التوصيل مع مقاومة
مستشعر الأشعة تحت الحمراء E18-D80NK: التوصيل مع مقاومة
مستشعر الأشعة تحت الحمراء E18-D80NK: ضبط الحساسية
مستشعر الأشعة تحت الحمراء E18-D80NK: ضبط الحساسية
مستشعر الأشعة تحت الحمراء E18-D80NK: عرض باستخدام Arduino
مستشعر الأشعة تحت الحمراء E18-D80NK: عرض باستخدام Arduino
e18-d80nk-infrared-sensor-without-connector-3-80cm
e18-d80nk-infrared-sensor-without-connector-3-80cm
78-Arduino code for the LE18-D80NK infrared obstacle avoidance sensor
اللغة: C++
/*

 * This is the Arduino code for the E18-D80NK Infrared Obstacle Avoidance Sensor.
This code uses the E18-D80NK Infrared Sensor to detect obstacles and trigger an
event, such as starting or stopping a motor, servo, or relay, or anything else.


 *  * 
 // Written by Ahmad S. for Robojax.com on 
// February 22, 2018 at 8:50 PM in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 * Watch the E18-D80NK video for details: https://youtu.be/MrYsmAwzfrM
 * Code is available at http://robojax.com/learn/arduino
The wiring:
Brown: 5V DC
Blue: GND
Black: Signal, to PIN 2




 * 

*/
#define SENSOR 2 // define pin 2 for sensor
#define ACTION 9 // define pin 9 as for ACTION

/*
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

void setup() {
  // E18-D80NK Obstacle Sensor Code by Robojax.com 20180222
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(SENSOR, INPUT_PULLUP);// define pin as Input  sensor
  pinMode(ACTION, OUTPUT);// define pin as OUTPUT for ACTION
}

void loop() {
  // E18-D80NK Obstacle Sensor Code by Robojax.com 20180222
  int L =digitalRead(SENSOR);// read the sensor 
  
      if(L == 0){
    Serial.println(" Obstacle detected");
    digitalWrite(ACTION,HIGH);// send signal
    
     }else{

     Serial.println("  === All clear");
     digitalWrite(ACTION,LOW);// turn the relay OFF
     }
  delay(500);
 // E18-D80NK Obstacle Sensor Code by Robojax.com 20180222
}

الأشياء التي قد تحتاجها

ملفات📁

لا توجد ملفات متاحة.