Or-bit fase 3
Or-bit fase 3
HC-SR04
Se eligió este modulo gracias a la facilidad que nos permite para configurar la transmisión y la recepción ya que esto se encuentra contenido en el PCB. Ya que el usuario solamente debe enviar un pulso de disparo y medir el tiempo en el que regresa el impulso como respuesta. ya que solamente se requieren 4 hilos para completar la interfaz con el módulo de sensor HC-SR04.
Características del sensor ultrasónico HC-SR04
Alimentación de 5 volts.
Interfaz de cuatro hilos (vcc, trigger, echo, GND).
Rango de medición: 2 cm a 400cm.
Corriente de alimentación: 1.5mA.
Frecuencia de pulso: 40Khz.
Apertura del pulso ultrasónico: 15°.
Señal de disparo: 10us.
Dimensiones del módulo: 45x20x15mm.
En este caso estaremos usando el sensor HC-SCR04, para calcular la distancia a un obstaculo, usando su trigger para generar un pulso de 10us que va a ir hasta el obstaculo, rebotar y ser leido por el pin Echo, almacenara este valor en una variable llamada duración en unidad de tiempo, que posteriormente sera convertida a unidades de distancia, especificamente cm, mediante la fórmula: (duracion/2) / 29, que se establece teniendo en cuenta el recorrido del pulso que se realiza 2 veces (ida y vuelta) y la velocidad del sonido. Una vez calculada la distancia en cm, la evaluaremos en ciertas condiciones, ejemplo: cuando distancia es menor o igual a 15cm, encender un led, o un motor, etc.
codigo de programacion
void setup() {
pinMode(pecho, INPUT); // define el pin 2 como entrada (pecho)
pinMode(ptrig,OUTPUT); // define el pin 3 como salida (ptrig)
pinMode(ledVerde,OUTPUT);
pinMode(ledRojo,OUTPUT);
}
void loop() {
digitalWrite(ptrig, HIGH); // genera el pulso de trigger por 10us
delay(0.01);
digitalWrite(ptrig, LOW);
duracion = pulseIn(pecho, HIGH); // Lee el tiempo del Echo
distancia = (duracion/2) / 29; // calcula la distancia en centimetros
delay(10);
if (distancia <= 15){
if (distancia <= 5){ // si la distancia es menor de 15cm
digitalWrite(ledRojo,HIGH); // Enciende LED
}
digitalWrite(ledVerde,HIGH); // Enciende LED
}
else{
digitalWrite(ledVerde,LOW);
digitalWrite(ledRojo,LOW);
}
diagrama de flujo
el diagrma de flujo funciona como un ciclo que se repite contantemente, dependiendo del valor de duracion que se le asigne a la variable de duracion, el sistema eligira entre valores mayores a 880 como (no) y valores menores a 870 como (si), en caso de que el valor este por ecncima de la distancia de 5cm y menor de 15cm se encendera solo el ledverde, en caso de ser menor a 5cm se enciende los ledVerde y ledRojo al mismo tiempo.
Comentarios
Publicar un comentario