Пребарување код

Ардуино код и видео за E18-D80NK инфрацрвен сензор за избегнување пречки

Ардуино код и видео за 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 Infrared Sensor: Wiring with a resistor
E18-D80NK Infrared Sensor: Wiring with resistor — E18-D80NK Infrared Sensor: Wiring with a resistor

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

E18-D80NK infrared sensor: sensitivity screw

Ако користите реле, поврзете го контролниот пин на релето (обично на пин 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 - Демонстрација на поставката

Слики

E18-D80NK infrared sensor: connected to Arduino and buzzer
E18-D80NK Infrared Sensor: Connected to Arduino and buzzer
E18-D80NK Infrared Sensor
E18-D80NK Infrared Sensor: Sensor
E18-D80NK Infrared Sensor: TX RX lenses
E18-D80NK Infrared Sensor: TX RX leses
E18-D80NK infrared sensor: sensitivity screw
E18-D80NK Infrared Sensor: Sensitivity screw
E18-D80NK Infrared Sensor: Wiring colors
E18-D80NK Infrared Sensor: Wiring color
E18-D80NK Infrared Sensor: Wiring with a resistor
E18-D80NK Infrared Sensor: Wiring with resistor
E18-D80NK Infrared Sensor: Setting Sensitivity
E18-D80NK Infrared Sensor: Setting Sensitivity
E18-D80NK Infrared Sensor: Demonstration using Arduino
E18-D80NK Infrared Sensor:Demonstration using 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
}

Работи што можеби ќе ви требаат

Ресурси и референци

Датотеки📁

Нема достапни датотеки.