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ýrobca | Shenzhen Eighteen Electronics |
|---|---|
| Označenie dielu | E18-D80NK |
| Logické/IO napätie | 3,3 V až 5 V |
| Napájacie napätie | 5 V |
| Výstupný prúd (na kanál) | 20 mA |
| Špičkový prúd (na kanál) | 200 mA |
| Rozsah detekcie | 2 cm až 30 cm |
| Typ výstupu | Digitálny |
| Puzdro | Modul |
- 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

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.

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
/*
* 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ť
-
AmazonPurchase E18-D80NK from Amazonamzn.to
-
AliExpressPurchase E18-D80NK infrared photoelectric from AliExpresss.click.aliexpress.com
Zdroje a referencie
-
Externé
-
Externé
Súbory📁
Žiadne súbory nie sú k dispozícii.