Codice Arduino e video per il sensore a infrarossi per l'evitamento degli ostacoli E18-D80NK
In questo tutorial impareremo come usare il sensore a infrarossi per evitamento ostacoli E18-D80NK con Arduino per rilevare ostacoli e attivare azioni, come accendere un LED o attivare un relè. Il progetto dimostrerà come leggere l'uscita del sensore e rispondere di conseguenza. Alla fine di questo tutorial avrai una configurazione funzionante in grado di rilevare ostacoli e attivare uscite in base a tale rilevamento.

Assicurati di guardare il video associato per comprendere meglio il cablaggio e l'implementazione del codice (nel video a 00:00).
Hardware spiegato
Il sensore di evitamento ostacoli a infrarossi E18-D80NK è progettato per rilevare oggetti nelle vicinanze utilizzando la luce infrarossa. Emana raggi infrarossi e rileva il riflesso dagli ostacoli. Quando un oggetto viene rilevato entro una certa distanza, il sensore fornisce un segnale basso, che può essere letto da un Arduino.
Questo sensore ha tre pin principali: un pin di alimentazione (di solito marrone), la massa (blu) e un pin di segnale (nero). Il pin di segnale è collegato a un ingresso digitale dell'Arduino per leggere lo stato di rilevamento degli ostacoli. L'uscita può quindi controllare vari dispositivi come motori o relè in base alle letture del sensore.
Dettagli della scheda tecnica
| Produttore | Shenzhen Diciotto Elettronica |
|---|---|
| Numero di parte | E18-D80NK |
| Tensione logica/IO | da 3,3 V a 5 V |
| Tensione di alimentazione | 5 V |
| Corrente d'uscita (per canale) | 20 mA |
| Corrente di picco (per canale) | 200 mA |
| Portata di rilevamento | da 2 cm a 30 cm |
| Tipo di output | Digitale |
| Pacchetto | Modulo |
- Assicurarsi del corretto cablaggio per evitare danni al modulo.
- Usa una resistenza pull-up sulla linea del segnale per ottenere letture stabili.
- Tenere il sensore pulito e libero da ostruzioni per una rilevazione accurata.
- Verifica la portata del sensore nel tuo ambiente specifico.
- Prestare attenzione alle potenze nominali quando si collegano relè o motori.
Istruzioni di cablaggio

Per collegare il sensore E18-D80NK all'Arduino, inizia collegando il filo marrone al pin 5V dell'Arduino per l'alimentazione. Successivamente, collega il filo blu al pin GND per completare il circuito di alimentazione. Quindi prendi il filo nero e collegalo al pin digitale 2 dell'Arduino per l'ingresso del segnale.

Se stai usando un relè, collega il pin di controllo del relè (di solito al pin 9) all'Arduino per controllare l'uscita in base alle letture del sensore. Assicurati che il relè sia alimentato correttamente e collegato al dispositivo in corrente alternata che vuoi controllare. È fondamentale seguire le precauzioni di sicurezza quando si lavora con la corrente alternata.
Esempi di codice e guida passo-passo
Il codice seguente dimostra come leggere l'uscita del sensore e controllare un'azione basata sul rilevamento di un ostacolo. L'uscita del sensore viene letta usando ilSENSORL'identificatore è definito come il pin 2 e il pin di azione è definito come il pin 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
}
In questo estratto configuriamo la comunicazione seriale e impostiamo il pin del sensore come ingresso con una resistenza di pull-up, mentre il pin di azione viene impostato come uscita. Questa configurazione è essenziale per leggere il sensore e controllare il relè o altri dispositivi.
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);
}
Questa parte del codice controlla continuamente l'uscita del sensore. Se viene rilevato un ostacolo (quandoLè 0), invia un segnale HIGH al pin d'azione, che può attivare un relè o altri componenti. Se non viene rilevato alcun ostacolo, invia un segnale LOW, spegnendo il dispositivo.
Dimostrazione / Cosa aspettarsi
Quando configuri il circuito e carichi il codice, il sensore monitorerà continuamente la presenza di ostacoli. Se un oggetto entra nel raggio di rilevamento, dovresti vedere un messaggio sul monitor seriale che indica che è stato rilevato un ostacolo e il dispositivo collegato si attiverà. Se il percorso è libero, stamperà un messaggio che dice "Percorso libero". Assicurati di regolare il ritardo nel ciclo se noti rilevamenti mancati o attivazioni indesiderate (nel video a 00:00).
Marcatori temporali del video
- 00:00- Introduzione al progetto
- 01:30- Panoramica hardware
- 03:15- Istruzioni di cablaggio
- 05:00- Revisione del codice
- 06:45- Dimostrazione della configurazione
Immagini
/*
* 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
}
Cose di cui potresti avere bisogno
-
AmazonAcquista e18-d80nk da Amazonamzn.to
-
AliExpressAcquista e18-d80nk fotoelettrico a infrarossi da AliExpresss.click.aliexpress.com
Risorse e riferimenti
-
Esterno
-
EsternoAcquista E18-D80NK da Amazon USAamzn.to
File📁
Nessun file disponibile.