Arduino Nano - Sensor de Obstáculos

Este tutorial te enseña cómo usar Arduino Nano con el sensor de evitación de obstáculos por infrarrojos. En detalle, aprenderemos:

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Evasión de Obstáculos IR
1×(Alternativo) TCRT5000 Obstacle Avoidance Sensor
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de evitación de obstáculos por infrarrojos

El sensor infrarrojo de obstáculos se utiliza para identificar la presencia de cualquier obstáculo frente al módulo mediante la señal infrarroja. Su rango de detección se encuentra entre 2 cm y 30 cm, y puede ajustarse con un potenciómetro integrado.

Disposición de pines del sensor de evitación de obstáculos por infrarrojos

El sensor de evitación de obstáculos IR tiene tres pines:

  • Pin GND: debe conectarse a GND (0V)
  • Pin VCC: debe conectarse a VCC (5V o 3.3V)
  • Pin OUT: es un pin de salida; estará en bajo cuando se detecte un obstáculo y alto cuando no haya obstáculo. Este pin debe conectarse a un pin de entrada del Arduino Nano.
Pinout del sensor de evitación de obstáculos por infrarrojos

Cómo funciona

El módulo de sensor de obstáculos por infrarrojos contiene un transmisor IR y un receptor IR. El transmisor emite la señal IR. El receptor busca la señal IR reflejada para detectar si hay un objeto presente o no. El pin de salida del sensor indicará la presencia de un obstáculo:

  • Si hay un obstáculo frente al sensor, el pin OUT estará en nivel bajo
  • Si no hay obstáculo frente al sensor, el pin OUT estará en nivel alto

※ Nota:

El sensor puede deformarse durante el envío, lo que puede provocar un mal funcionamiento. Si el sensor no funciona correctamente, ajuste el transmisor IR y el receptor IR para asegurarse de que estén paralelos entre sí.

Diagrama de Cableado

Diagrama de cableado del sensor de evitación de obstáculos IR para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Cómo programar para el sensor de evitación de obstáculos por infrarrojos

  • Inicializa el pin del Arduino Nano en el modo de entrada digital utilizando la función pinMode(). Por ejemplo, D2:
pinMode(2, INPUT_PULLUP);
  • Utiliza la función digitalRead() para leer el estado del pin del Arduino Nano.
int state = digitalRead(2);

Código de Arduino Nano

Existen dos métodos para programar una aplicación de evasión de obstáculos:

  • Tomar medidas o no cuando un obstáculo está presente o ausente
  • Tomar medidas o no cuando un obstáculo es detectado o eliminado

Código de Arduino Nano para comprobar si el obstáculo está presente

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); if (state == LOW) Serial.println("The obstacle is present"); else Serial.println("The obstacle is NOT present"); delay(100); }

Pasos R\u00e1pidos

  • Copie el código y ábralo con el IDE de Arduino.
  • Haga clic en el botón Subir en el IDE de Arduino para enviar el código al Arduino Nano.
  • Coloque un obstáculo delante del sensor durante un período de tiempo, luego retírelo.
  • Revise el resultado en el Monitor Serial.
COM6
Send
The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Código de Arduino Nano para detectar un obstáculo

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor int prev_state = HIGH; // The previous state from the input pin int obstacle_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_state = obstacle_state; }

Pasos R\u00e1pidos

  • Copie el código y ábralo con el Arduino IDE.
  • Haga clic en el botón Subir del Arduino IDE para compilar y cargar el código en el Arduino Nano.
  • Coloque un obstáculo frente al sensor durante un tiempo, luego retírelo.
  • Consulte el resultado en el Monitor Serial.
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!