martes, 4 de agosto de 2015

Barrera láser con arduino.



Las barreras de infrarrojos están en nuestra vida diaria. La más común es la que utilizan las puertas de garaje, si el rayo de infrarrojos es cortado mientras la puerta se está cerrando, esta vuelve a abrirse. La que haremos es como las de infrarrojos pero con un pequeño láser y un fotorresistor. 
Como ya he dicho, necesitaremos un fotorresistor y un pequeño láser como estos:



El esquema de conexiones es el siguiente:



Con el láser he dividido la tensión con una resistencia en serie de 220 ohmios y dos resistencias iguales en paralelo con la anterior, es decir, en vez de hacerlo trabajar a 5V, ahora trabaja a 3.3V. El fotorresistor tiene una resistencia de 10K ohmios.

En cuanto al código es de lo más sencillo:

// Pin del fotorresistor
int fr1 = 0; //entrada 0 analógica
// Pin del laser por si queremos pararlo en algún momento
int laser1 = 7;

// variable para almacenar los valores del fotorresistor
int ultimoValor = 0;
void setup()
{
  Serial.begin(9600);
  digitalWrite(laser1, HIGH);
}

void loop()
{
  ultimoValor= analogRead(fr1);
  //Serial.println(ultimoValor);
  if(ultimoValor<700){ //Por encima de 700 es el valor normal devuelto al incidir el laser.
    Serial.println("Han traspasado la barrera!");
    delay(1000);
  }
}

Definimos la entrada analógica en la entrada 0, el láser en la salida digital 7 para poder desactivarlo si lo necesitamos. El programa registra los valores del fotorresistor. Cuando el valor devuelto baja de 700 (el valor que registraba el fotorresistor cuando incidía el láser en él era 746), sacamos por el monitor serial el mensaje.

El ejemplo es muy básico pero podemos utilizarlo en muchos proyectos, como por ejemplo, en un disparador automático de cámaras fotográficas. 

Espero que os haya gustado y como siempre os dejo el código y la pequeña demostración del funcionamiento.

No hay comentarios:

Publicar un comentario