image1.jpg

Cómo medir la distancia con el Arduino

Dos sensores para medir la distancia con el Arduino son extremadamente populares: el sensor de proximidad infrarrojo y el telémetro ultrasónico. Funcionan de manera similar y logran prácticamente lo mismo, pero es importante elegir el sensor adecuado para el entorno en el que se encuentra.

Un sensor de proximidad infrarrojo tiene una fuente de luz y un sensor. La fuente de luz hace rebotar la luz infrarroja de los objetos y la devuelve al sensor, y se mide el tiempo que tarda la luz en regresar para indicar qué tan lejos está un objeto.

Un telémetro ultrasónico dispara ondas sonoras de alta frecuencia y escucha un eco cuando golpean una superficie sólida. Al medir el tiempo que tarda una señal en recuperarse, el telémetro ultrasónico puede determinar la distancia recorrida.

Los sensores de proximidad infrarrojos no son tan precisos y tienen un alcance mucho más corto que los telémetros ultrasónicos.

Tenga en cuenta lo siguiente durante la planificación:

  • Complejidad: Ambos sensores están diseñados para ser extremadamente fáciles de integrar con proyectos de Arduino. En el mundo real, se utilizan para aplicaciones electrónicas similares, como medidores de proximidad en la parte trasera de los automóviles que emiten un pitido cuando se acerca a la acera. Una vez más, la principal complejidad es alojarlos de forma eficaz.

    Los sensores de proximidad infrarrojos, como los fabricados por Shape, tienen útiles orificios para tornillos en la parte exterior del cuerpo del sensor. Maxbotix fabrica telémetros ultrasónicos que no tienen estos soportes, pero su forma cilíndrica los hace fáciles de montar en una superficie perforando un agujero.

  • Costo: los sensores de proximidad infrarrojos cuestan alrededor de $ 15 (£ 10) y tienen un alcance de hasta 59 pulgadas o menos. Los telémetros ultrasónicos tienen un alcance y una precisión mucho mayores, pero un precio igualmente excelente, que cuesta entre $ 27 (£ 18) para un sensor que puede leer hasta 254 pulgadas (645 cm) y $ 100 (£ 65) para un sensor más resistente a la intemperie. modelo que puede leer hasta 301 pulgadas (765 cm).

  • Dónde: Una aplicación común para estos sensores es monitorear la presencia de una persona o un objeto en un espacio de piso en particular, especialmente cuando una almohadilla de presión sería demasiado obvia o fácil de evitar, o cuando un sensor PIR mediría demasiado. El uso de un sensor de proximidad le permite saber dónde está alguien en línea recta desde ese sensor, lo que lo convierte en una herramienta muy útil.

LEER  Lo que necesita para un proyecto de reloj Arduino

Los sensores de proximidad por infrarrojos están bien en entornos oscuros pero funcionan terriblemente bajo la luz solar directa. El buscador de rango ultrasónico MaxBotix es uno de los sensores más confiables. Al utilizar telémetros ultrasónicos, también puede elegir qué tan ancho o estrecho desea un haz. Un sensor grande en forma de lágrima es perfecto para detectar objetos grandes que se mueven en una dirección general, mientras que los haces estrechos son ideales para mediciones de precisión.

En este ejemplo, aprenderá a medir distancias precisas con un MaxBotix LV-EZ0. Los modelos EZ0, EZ1, EZ2, EZ3 y EZ4 funcionan de la misma manera, pero cada uno tiene un haz ligeramente más estrecho, así que elija el apropiado para su proyecto.

El telémetro necesita un montaje menor. Para usar el telémetro en su circuito, debe soldar los pines del cabezal para usarlo en una placa de pruebas o soldar en trozos de cable.

Tiene tres formas de conectar su telémetro: mediante comunicación analógica, por ancho de pulso o en serie. En este ejemplo, aprenderá a medir el ancho del pulso y convertirlo en distancia. La salida analógica se puede leer directamente en los pines de entrada analógica, pero proporciona resultados menos precisos que el ancho de pulso. Este ejemplo no cubre la comunicación en serie.

Necesitas:

  • Un Arduino Uno

  • Un telémetro ultrasónico LV-EZ0

  • Saltar cables

Complete el circuito a partir del diseño y los diagramas de circuitos. Las conexiones para el telémetro están claramente marcadas en la parte inferior de la PCB. Las conexiones de 5V y GND proporcionan energía para el sensor y deben conectarse a las fuentes de 5V y GND de su Arduino.

LEER  Cómo controlar la velocidad de un motor de CC con Arduino

image0.jpg

La conexión PW es la señal de ancho de pulso que será leída por el pin 7 en su Arduino. Asegúrese de que su sensor de distancia esté colocado en algún tipo de base que apunte en la dirección que desea medir.

image1.jpg

Puede encontrar el código MaxSonar de Bruce Allen en el patio de juegos de Arduino, junto con algunas notas y funciones adicionales. Cree un nuevo boceto, copie o escriba el código en él y guárdelo con un nombre memorable, como myMaxSonar .

// No dudes en utilizar este código.

// Sea respetuoso reconociendo al autor en el código si lo usa o modifica.

// Autor: Bruce Allen

// Fecha: 23/07/09


// Pin digital 7 para lectura del ancho de pulso del dispositivo MaxSonar.

// Esta variable es una constante porque el pin no cambiará durante la ejecución de este código.
const int pwPin = 7; 

// variables necesarias para almacenar valores
pulso largo , pulgadas, cm;
configuración vacía () {
 // Esto abre una conexión en serie para enviar los resultados a la consola de la PC
 Serial.begin (9600);
}
bucle vacío () {
 pinMode (pwPin, ENTRADA);
 // Se usa para leer el pulso que envía el dispositivo MaxSonar.
 // Representación del ancho de pulso con un factor de escala de 147 us por pulgada.
 pulso = pulsoIn (pwPin, ALTO );
 // 147uS por pulgada
 pulgadas = pulso / 147;
 // cambia pulgadas a centímetros
 cm = pulgadas * 2,54;
 Serial.print (pulgadas);
 Serial.print ("en");
 Impresión serial (cm);
 Serial.print ("cm");
 Serial.println ();
 retraso (500);
}

Presione el botón Compilar para verificar su código. El compilador resalta cualquier error gramatical, volviéndolo rojo cuando se descubre. Si el boceto se compila correctamente, haga clic en Cargar para enviar el boceto a su tablero. Cuando termine de cargar, abra el monitor de serie y debería ver la distancia medida en pulgadas y centímetros. Si el valor fluctúa, intente utilizar un objeto con una superficie más grande.

LEER  Diez enlaces a recursos de aprendizaje de Arduino en línea

Este boceto le permite medir con precisión la distancia en línea recta. Pruebe esto con una cinta métrica y realice ajustes en el código si encuentra discrepancias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *