Arduino


Para proyecto final de la materia de Multimedia decidí experimentar y aprender a utilizar diversos sensores y su utilidad en la fotografía programandolos mediante Arduino. 

Existen diversos tipos de sensores:
-Presencia/proximidad/movimiento/distancia
-Temperatura
-Posición y orientación
-Luz
-Sonido

El primer tipo de laser con el que trabajé fue uno láser. Se necesitaba hacer un circuito que llevara la información del laser al Arduino, pero ya que este es pura luz no iba a recibir la señal de que fue interrumpido. Es por eso que también se utilizó la fotoresistencia, este hace contacto con la luz proveniente del laser y le manda la información que al ser interrumpido es cuando debería de tomar la fotografía. 




Después utilicé un sensor PIR, este mide la luz infrarroja radiada de los objetos situados en su campo de visión. Es decir que es un sensor de movimiento parecido a los que se utilizan en algunas luces en las casas. De igual forma se hizo el circuito siguiendo los planos,se configuraba la sensibilidad y el retardo delmovimiento que percibía, siendo el mínimo de 20 segundos en el sensor que conseguí.

Luego se configuró el modo de disparo de la cámara con un led infrarrojo para que imitara la función del control a distancia de la cámara. 



Finalmente se programó mediante la aplicación de Arduino con los codigos (tanto del sensor PIR como del infrarrojo) que se encontrarñon en internet para que el circuito que se creo funcionara:


#include <Arduino.h>

//sensor PIR
//tiempo que el sensor nos da a calibrar
int tcalibracion=10;

//el tiempo cuando el sensro nos da un impulso de baja
long unsigned int lowIn;

//cantidad de respuesta en milisegundos debe de ser baja
//ademas, antes de asumir los movimientos debe detenerse (posicion inicial)
long unsigned int pause = 5000;

boolean lockLow = true;
boolean takeLowTime;

int pirPin = 7; //pin digital conectado a la salida del sensor
int RelePin= 8; //pin conectado a la instrucción del relé

///Vamos con el SETUP

void setup(){
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
  pinMode(RelePin, OUTPUT);
  digitalWrite(pirPin, LOW);
  pinMode(3, OUTPUT);
  TCCR2A = _BV(COM2B1) | _BV(WGM21) | _BV(WGM20);
  TCCR2B = _BV(WGM22) | _BV(CS21); 
  OCR2A = 52;
  OCR2B = 20;
  //daremos un tiempo de calibración al sensor
  Serial.print(" Calibrando sensor ");
  for(int i=0; i< tcalibracion; i++){
    Serial.print(".");
    delay(1000);


    
  }
Serial.println("hecho");
Serial.println("SENSOR ACTIVO");
delay(50);
}
//vamos a la función bucle
void loop(){
  if(digitalRead(pirPin) == HIGH){
    digitalWrite(RelePin, HIGH); //el relé recibe el estado de salida del sensor en mi caso mi relé funcionaba al revés, si es vuestro caso cambiar HIGH por LOW y en la otra instrucción al revés.
    if(lockLow){
       //pulse();
      lockLow = false;
      Serial.println("---");
      Serial.print("movimiento encontrado a los ");
      
      Serial.print(millis()/1000);
      Serial.println(" segundos ");
       
      delay(50);
}
    takeLowTime = true;
    delay(20000);
  }
  if(digitalRead(pirPin) == LOW){
    digitalWrite(RelePin, LOW);
  
    if(takeLowTime){
      lowIn = millis();
      takeLowTime = false;
      delay(50);
    }
  
    if(!lockLow && millis() - lowIn > pause){
      lockLow= true;
      Serial.print("Movimiento detenido a los ");
      Serial.print((millis() - pause)/1000);
      Serial.println( " segundos ");
      delay(50);
    }
  }
}


void pulse() {
  TCCR2A |= _BV(COM2B1);
  delayMicroseconds(2000);
  TCCR2A &= ~_BV(COM2B1); 
  delay(28);
  TCCR2A |= _BV(COM2B1);
  delayMicroseconds(390);
  TCCR2A &= ~_BV(COM2B1);  
  delayMicroseconds(1580);
  TCCR2A |= _BV(COM2B1);
  delayMicroseconds(410);
  TCCR2A &= ~_BV(COM2B1);  
  delayMicroseconds(3580);
  TCCR2A |= _BV(COM2B1);
  delayMicroseconds(400);
  TCCR2A &= ~_BV(COM2B1);  
  delay(63);
}


Paginas consultadas:
http://www.andreadicastro.com/academia/ComputoFisico/CF.html
https://www.youtube.com/watch?v=yzhehyZ3oi0
http://www.rei-labs.net/another-arduino-nikon-ir-remote/
https://github.com/adafruit/Nikon-Intervalometer/blob/master/intervalometer.pde
https://www.arduino.cc

Comentarios

Entradas populares de este blog

"Sobre la Fotografía: En la caverna de Platón" - Susan Sontag

"Sobre la Fotografía: Objetos melancólicos"- Susan Sontag