El sensor sr04 en Arduino es un sensor ultrasónico utilizado para medir distancias. En éste artículo veremos cómo realizar la programación básica de éste sensor.
El sensor sr04 en Arduino nos ofrece un rango de medición de 2 a 400 centímetros. Su funcionamiento se basa en la emisión de ultrasonidos. El sonido se emite a través de uno de los dos cilindros y el rebote se recibe por el otro.
El sensor entrega el tiempo que transcurre entre la emisión y la recepción del ultrasonido (Millahual, 2017).
Programación del sensor sr04 en Arduino
Parte 1. Montaje del prototipo
Conecte GND (en el sensor) con GND (en la placa Arduino)
Conecte VCC (en el sensor) con 5V (en la placa Arduino)
Conecte trig(en el sensor) con el pin digital 3 (en la placa Arduino)
Conecte echo (en el sensor) con el pin digital 2 (en la placa Arduino)
Código Arduino para la programación del sensor sr04
const byte trig = 3; // Pin digital 3 conectado a trig const byte echo = 2; // Pin digital 2 contectado a echo void setup() { Serial.begin(9600); pinMode(trig, OUTPUT); // Pin trig es de salida pinMode(echo, INPUT); // Pin echo es de entrada digitalWrite(trig, LOW); } void loop() { Serial.println(mide_distancia()); // Se muestra en el monitor serial la distancia en centímetros } int mide_distancia(){ emite_pulso(); long tiempo = pulseIn(echo, HIGH); // Obtiene el tiempo desde que se emite hasta que regresa el sonido int distancia = tiempo / 58; // Se calcula la distancia en centímetros. Se considera 29 microsegundos por 1 centímetro. return distancia; } void emite_pulso(){ digitalWrite(trig,HIGH); // Emite un pulso delayMicroseconds(10); // Durante 10 microsegundos digitalWrite(trig,LOW); // Detiene la emisión. }
Explicación de las funciones Arduino utilizadas
Serial.begin
Establece la comunicación serial. Se utiliza 9600 expresado en bits por segundo como velocidad. El monitor serial o programa que lea los datos, debe recibir los datos a la misma velocidad.
Pinmode
Configura un pin digital como de entrada o de salida.
DigitalWrite
Escribe un valor bajo o alto en un pin digital. El valor alto puede ser 5V o 3.3V y el valor bajo es 0.
Serial.println.
Imprime datos por el puerto serial seguido de un retorno de carro o caracter de salto de línea.
PulseIn
Lee un pulso en un pin. Devuelve la longitud del pulso en microsegundos.
DelayMicroseconds
Pausa el programa una cantidad de tiempo t expresada en microsegundos.
Salida
La salida nos muestra la distancia en centímetros entre el sensor y un obstáculo.
Aplicaciones
El sensor sr04 es muy útil para diversos campos, entre los que se pueden mencionar: medir el nivel de líquido contenido en un recipiente, controlar la altura de un brazo mecánico, evitar colisiones en vehículos, detectar espacios vacíos, contar objetos, etcétera.
Tu comentario
opiniones