jueves, 2 de abril de 2020

Alarma con Arduino y sensor HC-SR04

Buenas compañeros, he decidido comenzar mis andaduras por este mundo, y la forma más fácil que he encontrado de empezar con el material que disponía, me ha parecido buena idea y curioso crear una alarma de distancia con el sensor ultrasónico HC-SR04 (Sensores para medir distancias) y una placa arduino UNO.

Normalmente el sensor ultrasónico lo veréis montado sobre coches robot para que no choquen contra objetos pero disponen de más utilidades, como por ejemplo una alarma de proximidad.

Esta primero versión resulta un poco cutre, pero podéis dar rienda suelta a vuestra imaginación y utilizarla en algo más complejo. Por ahora lo vamos a hacer de una forma sencilla y con componentes básicos.


¿Qué material necesitamos para este Proyecto?


Esquema de conexiones 

 Este es el esquema que yo he utilizado para montar la alarma.


  • El Pin Echo (Cable amarillo) del sensor HC-SR04 lo conectaremos al ping 9 de Arduino
  • El pin Tigger (Cable Verde) del sensor lo conectaremos al pin 10 de Arduino
  • El pin VCC (Cable Negro) del sensor lo conectaremos al pin de 5V de Arduino
  • El pin GND (Cable Rojo) del sensor lo conectaremos al mismo pin en Arduino
  • En la pata negativa del LED colocaremos la resistencia de 220Ω y esta ira conectada al pin GND de Arduino
  • La pata positiva del LED lo conectaremos al pin 11 del Arduino

Codigo de nuestra alarma


El código que muestro a continuación lo he recopilado de la web github.com y me parece uno de los códigos mas simples y que mejor funciona con el sensor HC-SR04 además es muy fácil de entender.

long dis;
long tiem;
int led1 = 11;
void setup( ){
Serial.begin(9600);
pinMode(10, OUTPUT); //salida del pulso generado por el sensor ultrasónico
pinMode(9, INPUT);//entrada del pulso generado por el sensor ultrasónico
pinMode(11, INPUT);//alarma de la distancia(encenderá el led)
}
void loop(){
digitalWrite(10,LOW);//recibimiento del pulso.
delayMicroseconds(5);
digitalWrite(10, HIGH);//envió del pulso.
delayMicroseconds(10);
tiem=pulseIn(9, HIGH);//fórmula para medir el pulso entrante.
dis= long(0.017*tiem);//fórmula para calcular la distancia del sensor ultrasónico.
if(dis<10){ //La distancia en centimetros a la que queremos que el led se encienda o se apague
digitalWrite(11, HIGH);
}
else
{
digitalWrite(11,LOW);
}
Serial.println("LA DISTANCIA MEDIDA ES:");
Serial.println(dis);
Serial.println("cm");
delay(500);
}

Este es el código que deberemos cargar en nuestro arduino UNO, medirá la distancia de los objetos y cuando un objeto se acerque por debajo de la distancia estipulada encenderá nuestro LED. El modulo HC-SR04 estará constantemente leyendo distancias, así que cuando un objeto entre en su radio de acción inferior a los centímetros marcados en este caso es de 10 cm, encenderá el LED, cuando este fuera de los 10 centímetros se apagara el LED.

El pin 9 está declarado como entrada de pulso y el pin 10 está declarado como salida de pulso, lo cual nos dará las mediciones expresadas en centímetros. El pin 11 está declarado como salida que será el encargado de encender el LED cuando la distancia sea menor en este caso de 10 cm

Resultado real del experimento 

Pues he tenido algún inconveniente como por ejemplo no disponer de una resistencia de 220Ω así que he utilizado una un poco más grande (270Ω ) con lo que el resultado ha sido que mi LED no se encendía con la intensidad que hubiera dado si la resistencia hubiera sido la adecuada. Por lo general me parece un proyecto interesante para comenzar con algo básico y ir poco entrando en el mundo de Arduino.




 

No hay comentarios:

Publicar un comentario