PRÁCTICA 8: Radar de tramo utilizando 2 sensores infrarrojos.
En esta práctica mediante Arduino realizaremos el funcionamiento de un radar, utilizando 2 sensores infrarrojos, en el cual si pasa un objeto que supera una velocidad x, sonará un zumbador y se encenderá un led verde.
float tiempo1;//Se introducen como entradas y salidas el zumbador, el led verde, los sensores infrarrojos, y como variables la velocidad y los tiempos.
float tiempo2;
float tiempo;
float velocidad;
int zumbador=5;
int ledG=7;
int sensorPin1=11;
int sensorPin2=9;
void setup() {
Serial.begin(9600);//Declaro los pines como salidas y entradas.
pinMode(sensorPin1,INPUT);
pinMode(sensorPin2,INPUT);
pinMode(zumbador,OUTPUT);
pinMode(ledG,OUTPUT);
}
void loop() {
int IR1=0;//Introduzco 2 nuevas variables y las declaro.
IR1 =digitalRead(sensorPin1);
int IR2=0;
IR2=digitalRead(sensorPin2);
if (IR1==LOW)//Declaro una condicionante, mediante la cual indico que si detecta un objeto el cual se esté moviendo, que empiece a contar un tiempo a partir de su aparición.
{
tiempo1=millis();
}
if (IR2==LOW)//Declaro esta condicionante para explicar que en el momento en el que pase el objeto por el segundo sensor, termine de contar el tiempo y calcule la velocidad utilizando el tiempo y la distancia que ha recorrido.
{
tiempo2=millis();
tiempo=tiempo2-tiempo1;
velocidad=4/tiempo;
Serial.println(velocidad,4);
if (velocidad>=0.004)//En esta condicionante declaro qué sucederá si un objeto supera la velocidad determinada. Si la supera, el zumbador sonará y el led verde se encenderá, si no se cumple, no funcionará nada.
{
tone(zumbador,6000);
digitalWrite(ledG,HIGH);
}
else{
noTone(zumbador);
digitalWrite(ledG,LOW);
}
}
}