Sensor IR vs. Sensor ultrasónico: ¿Cuál es la diferencia?

Diferencias entre un sensor IR y un sensor ultrasónico

Si estás buscando un nuevo sensor y no estás seguro de cuál comprar, podrías considerar el sensor infrarrojo (sensor IR) o un sensor ultrasónico. En este artículo, veremos las diferencias entre estos dos tipos de sensores.

¿Cuál es la diferencia y cómo se elige cuál usar? En este artículo, nos adentraremos en el mundo de los sensores de distancia y compartiremos algunos ejemplos reales de proyectos de Arduino que puedes seguir para integrar un sensor IR o un sensor ultrasónico en tus proyectos.

¿Cuál es la diferencia entre los sensores IR y los sensores ultrasónicos?

La mayor diferencia entre los sensores IR y los ultrasónicos es la forma en que funciona el sensor. Los sensores ultrasónicos utilizan ondas de sonido (ecolocalización) para medir la distancia a la que se encuentra de un objeto. Por otro lado, los sensores IR utilizan luz infrarroja para determinar si un objeto está presente o no.

La precisión y la fiabilidad son también grandes diferenciadores en estos sensores. En la mayoría de los casos, los sensores ultrasónicos te proporcionarán datos más fiables y precisos que los sensores de IR. Si quieres una representación numérica y precisa de la distancia para su proyecto, casi siempre deberías elegir un sensor ultrasónico.

Sin embargo, si sólo necesitas saber si un objeto está presente o no, entonces un sensor IR es más fácil de implementar. Ahora, hablemos un poco más sobre estos dos sensores y sus especificaciones técnicas.

¿Qué son los sensores IR?

Los sensores IR utilizan un transmisor y receptor de infrarrojos para emitir y detectar objetos. La mayoría de los sensores IR para evitar obstáculos cuestan menos de 1€ cada uno, lo que los convierte en una opción asequible para proyectos sencillos. Aquí tienes un primer plano de un módulo de sensor de infrarrojos.

diagrama sensor IR

Puedes ajustar la distancia en el sensor IR girando el potenciómetro. Esto hará que el sensor IR sea más o menos sensible a los objetos.

Sensor IR con Arduino

Aquí está cómo conectar un sensor de infrarrojos a un Arduino Uno. El sensor IR tiene 3 pines: GND, Vcc y Señal. La clavija de señal puede ser conectada a una clavija digital o analógica en el Arduino.
Partes requeridas

diagrama sensor digital IR

Si sólo quieres saber si el sensor está activo o no, entonces te recomiendo usar una lectura digital. El sensor leerá un 1 o un 0 si está activado o no.
Diagrama de fricción del sensor IR Arduino Uno

diagrama sensor analogico IR

Además, si quieres un rango completo de 10 bits de lecturas, entonces necesitarás cablear la clavija de la señal del sensor de infrarrojos a una clavija analógica en el Arduino. El sensor proporcionará una lectura en el rango de 0-1023 que puede usar para tomar decisiones o mapear las lecturas a una curva de distancia.

Código para el Sensor IR con Arduino

Primero, conecta el sensor IR al Arduino. Luego sube el ejemplo de código del sensor IR, abajo.

/*
 * Example code to read an IR sensor with Arduino
 */

int IR = 9;

void setup() {
  // put your setup code here, to run once:
  pinMode(IR, INPUT);
  Serial.begin(9600); //initialize the serial monitor
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalRead(IR);
  Serial.print("IR reading = ");
  Serial.println(IR);
  delay(2000);
}

Ahora, revisemos el código. Empezarás definiendo la clavija de señal a la que está conectado el sensor IR. A continuación, declara su pin como una INPUT al Arduino. Recogeremos datos del entorno al controlador, lo que se conoce como una INPUT.

Finalmente, en el método loop(), lee la clavija de señal cada tres segundos usando el comando analogRead() o digitalRead(). Abre el monitor serial para ver las lecturas de tu sensor. Por último, puede ajustar este código para alinearlo mejor con su aplicación.

Aplicaciones de los sensores IR

Las aplicaciones más populares de los sensores IR incluyen el seguimiento de líneas (y la evasión) para robots móviles, Tripwires, Detección de Llamas, e incluso detección de movimiento (PIR). Para la detección de llamas y la detección de movimiento, tendrás que comprar un sensor de llamas específico y un sensor PIR, respectivamente.

detector de llamas con arduino

¿Qué son los sensores ultrasónicos?

Los sensores ultrasónicos usan ondas de sonido para transmitir y recibir información durante un tiempo. La duración se convierte entonces en una medida de distancia basada en la velocidad del sonido (340 m/s). Hay sensores ultrasónicos en cada punto de precio. Si buscas algo asequible para tu proyecto de hobby, te recomiendo el HC-SR04. Aquí hay un primer plano de un módulo de sensor ultrasónico.

hc sr04 características

Sensor ultrasónico con Arduino

Aunque ya hemos visto en otro artículo más detalladamente cómo funciona el sensor HC-SR04 vamos a hacer un pequeño resumen ahora. Aquí está cómo conectar un sensor ultrasónico a un Arduino Uno. El sensor ultrasónico tiene dos versiones: PING (3-pin) o HC-SR04 (4-pin). Ambas versiones tienen pines GND y Vcc. PING tiene una clavija de señal dual que puede ser usada tanto como una INPUT como una OUTPUT. El HC-SR04 tiene dos pines de señal separados: uno para el transmisor (Trig) y otro para el receptor (Eco). Los pines de señal están conectados a los pines digitales del Arduino.

Partes requeridas

Sensor ultrasónico HC-SR04 (4-pin)

El sensor ultrasónico HC-SR04 funciona con 4 pines: GND, Vcc, Disparo (OUTPUT), y Eco (INPUT). Aquí hay un diagrama de pines para Arduino usando el HC-SR04.

diagrama de conexiones hc-SR04

Sensor ultrasónico PING (3-pin)

El sensor ultrasónico PING funciona con 3 pines: GND, Vcc y Señal. Aquí hay un diagrama de clavijas para Arduino usando el sensor PING.

diagrama de conexión PING

Código para Sensor ultrasónico con Arduino

Una vez que tengas el sensor conectado, escribirás el código para enviar un pulso, calcularás la duración y luego lo convertirás en una medición de distancia. Aquí hay un ejemplo de código para el sensor PING, abajo.

/*
* Example Code for Parallax PING Sensor
*/
const int sig = 9;

void setup() {
  Serial.begin(9600);
}

void loop() {
  long duration, inches, cm;

  // The PING sensor is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(sig, OUTPUT);
  digitalWrite(sig, LOW);
  delayMicroseconds(2);
  digitalWrite(sig, HIGH);
  delayMicroseconds(5);
  digitalWrite(sig, LOW);

  //read duration from the original pulse
  pinMode(sig, INPUT);
  duration = pulseIn(sig, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(100);
}

long microsecondsToInches(long microseconds) {
  // According to Parallax's datasheet for the PING))), there are 73.746
  // microseconds per inch (i.e. sound travels at 1130 feet per second).
  // This gives the distance travelled by the ping, outbound and return,
  // so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the object we
  // take half of the distance traveled.
  return microseconds / 29 / 2;
}

Ahora, revisemos el código. Empezarás definiendo los pines de la señal a la que está conectado el sensor ultrasónico. A continuación, declara su pin de señal (trigonométrico) como un OUTPUT al Arduino. Pon el pin en LOW durante 2 microsegundos, luego en HIGH durante 5 microsegundos, y luego en LOW durante 2 microsegundos. Luego, declare el pin de la señal (eco) como una INPUT y capture la duración del tiempo usando el método pulseIn().

Una vez que tengas la duración, necesitarás convertirla a una distancia. Esto se puede hacer usando la velocidad de los factores de conversión de sonido en pulgadas o centímetros. La hoja de datos de tu sensor debe indicar estos factores de conversión. Puedes ajustar este código para alinearlo mejor con tu aplicación.

Aplicaciones de los sensores ultrasónicos

Evasión de Objetos Robóticos Móviles

Los sensores ultrasónicos se utilizan a menudo en los robots móviles para evitar los objetos. Se puede utilizar un conjunto de sensores HC-SR04 y determinar el camino a seguir dependiendo de qué sensor tiene la mayor distancia de lectura. Esto le dirá que los objetos están más lejos y por lo tanto, es más seguro moverse en esa dirección.

Cálculos de distancia o altura

El HC-SR04 es genial para medir los niveles. Por ejemplo, puede determinar cuánta nieve hay en el suelo o el nivel de un tanque.

Conclusión

En este artículo, exploramos dos sensores populares: Sensor IR vs. sensor ultrasónico. En este punto, deberías tener una mejor comprensión de para qué se usan estos sensores y cómo aplicarlos en tu próximo proyecto.

Pin It on Pinterest

Shares