Ардуино код и видео за E18-D80NK инфрацрвен сензор за избегнување пречки
Во ова упатство, ќе научиме како да го користиме E18-D80NK инфрацрвениот сензор за избегнување пречки со Arduino за да детектираме пречки и да активираме дејства, како што е вклучување на LED или активирање на реле. Проектот ќе демонстрира како да се чита излезот на сензорот и да се реагира соодветно. До крајот на ова упатство, ќе имате функционална поставка што може да детектира пречки и да активира излези врз основа на тоа детектирање.

Бидете сигурни да го погледнете придружното видео за појасно разбирање на жиците и имплементацијата на кодот (во видео на 00:00).
Објаснување на хардверот
E18-D80NK инфрацрвениот сензор за избегнување пречки е дизајниран да детектира блиски објекти користејќи инфрацрвена светлина. Тој емитира инфрацрвени зраци и ја детектира рефлексијата од пречките. Кога објект ќе биде детектиран во одреден опсег, сензорот издава низок сигнал, кој може да биде прочитан од Arduino.
Овој сензор има три главни пина: пин за напојување (обично кафеав), земја (син) и пин за сигнал (црн). Пинот за сигнал е поврзан со дигитален влез на Arduino за да се чита статусот на детекција на пречки. Излезот потоа може да контролира различни уреди како мотори или релеа врз основа на читањата на сензорот.
Детали од податочната табела
| Производител | Shenzhen Eighteen Electronics |
|---|---|
| Број на дел | E18-D80NK |
| Логички/IO напон | 3.3 V до 5 V |
| Напон на напојување | 5 V |
| Излезна струја (по канал) | 20 mA |
| Врвна струја (по канал) | 200 mA |
| Опсег на детекција | 2 cm до 30 cm |
| Тип на излез | Дигитален |
| Пакет | Модул |
- Осигурете правилно поврзување за да спречите оштетување на модулот.
- Користете отпорник за повлекување нагоре на линијата за сигнал за стабилни читања.
- Чувајте го сензорот чист и без пречки за точно детектирање.
- Тестирајте го опсегот на сензорот во вашата специфична средина.
- Бидете внимателни со номиналните вредности на моќноста кога поврзувате релеа или мотори.
Инструкции за поврзување

За да го поврзете E18-D80NK сензорот со Arduino, започнете со поврзување на кафеавата жица на 5V пинот на Arduino за напојување. Потоа, поврзете ја сината жица на GND пинот за да го комплетирате колото за напојување. Потоа, земете ја црната жица и поврзете ја на дигиталниот пин 2 на Arduino за влез на сигнал.

Ако користите реле, поврзете го контролниот пин на релето (обично на пин 9) на Arduino за да го контролирате излезот врз основа на читањата на сензорот. Осигурете се дека релето е правилно напојувано и поврзано со AC уредот што сакате да го контролирате. Клучно е да следите безбедносни мерки кога работите со AC струја.
Примери на код и објаснување
Следниот код демонстрира како да се чита излезот на сензорот и да се контролира дејство врз основа на детекција на пречка. Излезот на сензорот се чита користејќи го идентификаторот SENSOR дефиниран како пин 2, а пинот за дејство е дефиниран како пин 9.
#define SENSOR 2 // дефинирај пин 2 за сензорот
#define ACTION 9 // дефинирај пин 9 за ДЕЈСТВО
void setup() {
Serial.begin(9600); // постави Serial Monitor за прикажување информации
pinMode(SENSOR, INPUT_PULLUP); // дефинирај пин како влезен сензор
pinMode(ACTION, OUTPUT); // дефинирај пин како ИЗЛЕЗ за ДЕЈСТВО
}
Во овој извадок, ја поставуваме сериската комуникација и го конфигурираме пинот на сензорот како влез со отпорник за повлекување нагоре, додека пинот за дејство е поставен како излез. Оваа конфигурација е од суштинско значење за читање на сензорот и контролирање на релето или други уреди.
void loop() {
int L = digitalRead(SENSOR); // читај го сензорот
if (L == 0) {
Serial.println("Детектирана пречка");
digitalWrite(ACTION, HIGH); // испрати сигнал
} else {
Serial.println("=== Сè е јасно");
digitalWrite(ACTION, LOW); // исклучи го релето
}
delay(500);
}
Овој дел од кодот континуирано го проверува излезот на сензорот. Ако е детектирана пречка (кога L е 0), испраќа HIGH сигнал до пинот за дејство, што може да активира реле или други компоненти. Ако нема детектирана пречка, испраќа LOW сигнал, исклучувајќи го уредот.
Демонстрација / Што да очекувате
Кога ќе ја поставите електричната шема и ќе го прикачите кодот, сензорот континуирано ќе следи за пречки. Ако објект дојде во опсегот на детекција, треба да видите порака на серискиот монитор што означува дека е детектирана пречка, и поврзаниот уред ќе се активира. Ако патеката е јасна, ќе испечати порака „Сè е јасно“. Осигурете се да го прилагодите доцнењето во јамката ако забележите пропуштени детекции или несакани активации (во видео на 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
}
Работи што можеби ќе ви требаат
-
AmazonPurchase E18-D80NK from Amazonamzn.to
-
AliExpressPurchase E18-D80NK infrared photoelectric from AliExpresss.click.aliexpress.com
Ресурси и референци
-
Надворешно
-
Надворешно
Датотеки📁
Нема достапни датотеки.