Naps Tecnología y educación

Programación del sensor sr04 en Arduino

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.

¿Qué te pareció este artículo?
  • Poco informativo ()
  • No era lo que buscaba ()
  • Regular ()
  • Interesante ()
  • Excelente ()
(Visto 1.130 veces)

Tu comentario

opiniones