Hľadať kód

Kód Arduina a video pre infračervený senzor detekcie prekážok E18-D80NK

Kód Arduina a video pre infračervený senzor detekcie prekážok E18-D80NK

V tomto návode sa naučíme, ako používať E18-D80NK infračervený senzor na detekciu prekážok s Arduinom na detekciu prekážok a spustenie akcií, ako je zapnutie LED alebo aktivácia relé. Projekt bude demonštrovať, ako čítať výstup senzora a primerane reagovať. Na konci tohto návodu budete mať funkčné zapojenie, ktoré dokáže detekovať prekážky a aktivovať výstupy na základe tejto detekcie.

Nezabudnite si pozrieť priložené video pre lepšie pochopenie zapojenia a implementácie kódu (vo videu o 00:00).

Vysvetlenie hardvéru

E18-D80NK infračervený senzor na detekciu prekážok je navrhnutý na detekciu blízkych objektov pomocou infračerveného svetla. Vysiela infračervené lúče a detekuje odraz od prekážok. Keď sa objekt zistí v určitom rozsahu, senzor vydáva nízky signál, ktorý môže Arduino prečítať.

Tento senzor má tri hlavné piny: napájací pin (zvyčajne hnedý), uzemnenie (modrý) a signálny pin (čierny). Signálny pin je pripojený k digitálnemu vstupu na Arduine na čítanie stavu detekcie prekážok. Výstup potom môže ovládať rôzne zariadenia, ako sú motory alebo relé, na základe hodnôt senzora.

Podrobnosti z datasheetu

VýrobcaShenzhen Eighteen Electronics
Označenie dieluE18-D80NK
Logické/IO napätie3,3 V až 5 V
Napájacie napätie5 V
Výstupný prúd (na kanál)20 mA
Špičkový prúd (na kanál)200 mA
Rozsah detekcie2 cm až 30 cm
Typ výstupuDigitálny
PuzdroModul

  • Zabezpečte správne zapojenie, aby nedošlo k poškodeniu modulu.
  • Použite pull-up rezistor na signálnej linke pre stabilné čítanie.
  • Udržiavajte senzor čistý a bez prekážok pre presnú detekciu.
  • Otestujte rozsah senzora vo vašom konkrétnom prostredí.
  • Buďte opatrní s výkonovými hodnotami pri pripájaní relé alebo motorov.

Pokyny na zapojenie

E18-D80NK Infrared Sensor: Wiring with a resistor
E18-D80NK Infrared Sensor: Wiring with resistor — E18-D80NK Infrared Sensor: Wiring with a resistor

Na zapojenie senzora E18-D80NK k Arduinu začnite pripojením hnedého vodiča na 5V pin Arduina pre napájanie. Potom pripojte modrý vodič na GND pin na dokončenie napájacieho obvodu. Potom vezmite čierny vodič a pripojte ho na digitálny pin 2 na Arduine pre vstup signálu.

E18-D80NK infrared sensor: sensitivity screw

Ak používate relé, pripojte riadiaci pin relé (zvyčajne na pin 9) k Arduinu na ovládanie výstupu na základe hodnôt senzora. Uistite sa, že relé je správne napájané a pripojené k AC zariadeniu, ktoré chcete ovládať. Pri práci s AC napätím je nevyhnutné dodržiavať bezpečnostné opatrenia.

Príklady kódu a vysvetlenie

Nasledujúci kód demonštruje, ako čítať výstup senzora a ovládať akciu na základe detekcie prekážky. Výstup senzora sa číta pomocou identifikátora SENSOR definovaného ako pin 2 a akčný pin je definovaný ako pin 9.

#define SENSOR 2 // definuj pin 2 pre senzor 
#define ACTION 9 // definuj pin 9 pre AKCIU 
  
void setup() { 
  Serial.begin(9600); // nastav Serial Monitor na zobrazenie informácií 
  pinMode(SENSOR, INPUT_PULLUP); // definuj pin ako vstupný senzor 
  pinMode(ACTION, OUTPUT); // definuj pin ako VÝSTUP pre AKCIU 
} 

V tomto úryvku nastavíme sériovú komunikáciu a nakonfigurujeme pin senzora ako vstup s pull-up rezistorom, zatiaľ čo akčný pin je nastavený ako výstup. Táto konfigurácia je nevyhnutná na čítanie senzora a ovládanie relé alebo iných zariadení.

void loop() { 
  int L = digitalRead(SENSOR); // prečítaj senzor 
  if (L == 0) { 
    Serial.println("Prekážka zistená"); 
    digitalWrite(ACTION, HIGH); // pošli signál 
  } else { 
    Serial.println("=== Všetko jasné"); 
    digitalWrite(ACTION, LOW); // vypni relé 
  } 
  delay(500); 
} 

Táto časť kódu nepretržite kontroluje výstup senzora. Ak sa zistí prekážka (keď je L 0), pošle HIGH signál na akčný pin, ktorý môže aktivovať relé alebo iné komponenty. Ak sa nezistí žiadna prekážka, pošle LOW signál, čím vypne zariadenie.

Demonštrácia / Čo očakávať

Keď zapojíte obvod a nahrajete kód, senzor bude nepretržite monitorovať prekážky. Ak sa objekt dostane do rozsahu detekcie, na sériovom monitore by ste mali vidieť správu, že bola zistená prekážka, a pripojené zariadenie sa aktivuje. Ak je cesta voľná, vytlačí správu "Všetko jasné". Nezabudnite upraviť oneskorenie v slučke, ak si všimnete zmeškané detekcie alebo nechcené spustenia (vo videu o 00:00).

Časové značky videa

  • 00:00 - Úvod do projektu
  • 01:30 - Prehľad hardvéru
  • 03:15 - Pokyny na zapojenie
  • 05:00 - Vysvetlenie kódu
  • 06:45 - Demonštrácia zapojenia

Obrázky

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
Jazyk: 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
}

Veci, ktoré by ste mohli potrebovať

Zdroje a referencie

Súbory📁

Žiadne súbory nie sú k dispozícii.