شِفر (کود) آردوینو و ویدئو برای حساس(حس کننده) اجتناب از مانع مادونقرمز E18-D80NK
در این آموزش میآموزیم چگونه از حساس(حس کننده) جلوگیری از برخورد مادونقرمز E18-D80NK به همراه آردوینو برای تشخیص موانع و راهاندازی اقدامات، مانند روشن کردن یک LED یا فعالسازی یک ریلی، استفاده کنیم. این پروژه نشان میدهد چگونه خروجی حساس(حس کننده) را بخوانیم و متناسب با آن واکنش نشان دهیم. تا پایان این آموزش، یک سیستم عملی خواهید داشت که میتواند موانع را تشخیص دهد و خروجیها را بر اساس آن فعال کند.

حتماً ویدیوی مرتبط را تماشا کنید تا درک واضحتری از سیمکشی و پیادهسازی شِفر (کود) بهدست آورید (در ویدئو در 00:00).
توضیح سختافزار
حساس(حس کننده) اجتناب از مانع مادونقرمز E18-D80NK برای تشخیص اجسام نزدیک با استفاده از نور مادونقرمز طراحی شده است. این حساس(حس کننده) اشعههای مادونقرمز را منتشر کرده و بازتاب آنها از موانع را تشخیص میدهد. زمانی که جسمی در یک محدودهٔ مشخص تشخیص داده شود، حساس(حس کننده) یک سیگنال سطح پایین صادر میکند که میتوان آن را توسط آردوینو خواند.
این حساس(حس کننده) سه پایه اصلی دارد: یک پایه تغذیه (معمولاً قهوهای)، پایه زمین (آبی) و پایه سیگنال (سیاه). پایه سیگنال به یک ورودی دیجیتال روی آردوینو متصل میشود تا وضعیت تشخیص مانع را بخواند. خروجی سپس میتواند بر اساس خوانشهای حساس(حس کننده) دستگاههای مختلفی مانند موتورها یا ریلیها را کنترل کند.
جزئیات دیتاشیت
| تولیدکننده | شنژن الکترونیک هجده |
|---|---|
| شماره قطعه | E18-D80NK |
| ولتاژ منطق/ورودی-خروجی | 3.3 V تا 5 V |
| ولتاژ تغذیه | ۵ ولت |
| جریان خروجی (برای هر کانال) | 20 mA |
| جریان پیک (برای هر کانال) | 200 میلیآمپر |
| محدوده تشخیص | 2 cm تا 30 cm |
| نوع خروجی | دیجیتال |
| بسته | ماجیول |
- برای جلوگیری از آسیب دیدن ماجیول، از صحیح بودن سیمکشی اطمینان حاصل کنید.
- برای خوانشهای پایدار از یک مقاومت پولآپ در خط سیگنال استفاده کنید.
- برای تشخیص دقیق، حساس(حس کننده) را تمیز و عاری از موانع نگه دارید.
- محدوده حساس(حس کننده) را در محیط خاص خود آزمایش کنید.
- هنگام اتصال به ریلیها یا موتورها مراقب توان نامی باشید.
دستورالعملهای سیمکشی

برای سیمکشی حساس(حس کننده) E18-D80NK به آردوینو، ابتدا سیم قهوهای را به پایه 5V آردوینو متصل کنید تا تغذیه برقرار شود. سپس سیم آبی را به پایه GND وصل کنید تا مدار تغذیه کامل شود. در نهایت سیم مشکی را به پایه دیجیتال 2 آردوینو برای ورودی سیگنال وصل کنید.

اگر از ریلی استفاده میکنید، پایه کنترل ریلی (معمولاً به پایه 9) را به آردوینو متصل کنید تا خروجی بر اساس خوانشهای حساس(حس کننده) کنترل شود. مطمئن شوید ریلی بهدرستی تغذیه میشود و به دستگاه جریان متناوب (AC) که میخواهید کنترل کنید متصل است. رعایت نکات ایمنی هنگام کار با برق AC ضروری است.
نمونههای شِفر (کود) و راهنمای گامبهگام
شِفر (کود) زیر نشان میدهد چگونه خروجی حساس(حس کننده) را بخوانیم و بر اساس تشخیص یک مانع عملی را کنترل کنیم. خروجی حساس(حس کننده) با استفاده از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
}
در این قطعه، ارتباط سریال را راهاندازی میکنیم و پایه حساس(حس کننده) را بهعنوان ورودی با مقاومت pull-up پیکربندی میکنیم، در حالی که پایه عمل بهعنوان خروجی تنظیم شده است. این پیکربندی برای خواندن حساس(حس کننده) و کنترل ریلی یا سایر دستگاهها ضروری است.
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 ارسال میکند و دستگاه را خاموش میکند.
نمایش / آنچه باید انتظار داشته باشید
وقتی مدار را راهاندازی کرده و شِفر (کود) را آپلود میکنید، حساس(حس کننده) بهطور پیوسته برای موانع نظارت میکند. اگر جسمی وارد محدودهٔ تشخیص شود، باید پیامی در نمایشگر مسلسل ببینید که نشان میدهد مانعی شناسایی شده و دستگاه متصل فعال میشود. اگر مسیر باز باشد، پیامی با متن "All clear" چاپ میکند. اگر متوجه تشخیصهای از دست رفته یا فعالسازیهای ناخواسته شدید، حتماً تأخیر حلقه را تنظیم کنید (در ویدئو در 00:00)
نشانگرهای زمانی ویدیو
- 00:00- معرفی پروژه
- 01:30- نمای کلی سختافزار
- 03:15- دستورالعمل سیمکشی
- 05:00- مرور شِفر (کود)
- 06:45- نمایش راهاندازی
تصاویر
/*
* 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
}
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
-
علیاکسپرسخرید e18-d80nk فتوالکتریک مادون قرمز از علیاکسپرسs.click.aliexpress.com
منابع و مراجع
-
خارجی
-
خارجی
فایلها📁
هیچ فایلی موجود نیست.