Paso 2: Cómo modificar tu propio auto sistema de fotografiar.
El mando a distancia IR es muy sensible. Pueden ser perturbado por las luces del sol.
Si usted tiene alguna pregunta en subir código al Me-zócalo, ir a visitar este enlace.
http://wiki.makeblock.CC/index.php?title=Makeblock_Robot_Starter_Kit#Programming
En mi código, definir los botones como abajo.
Hay más detalles en el código.
Ensayo: enfoque de la cámara
Plus: aumentar el tiempo de retardo
Volver: retardo variable de nuevo a 1
Anterior: disminución de la shot_time variable (50 veces en tomar foto)
Juega: tomar una foto
Siguiente: aumento de la shot_time variable (50 veces en tomar foto)
tecla del número 0: largo exponer de modo
1 cuadro,
exposición de 10 segundos (depende de retardo variable del tiempo; unidad: 10 seg)
clave número 1: 50 fotos (depende de la shot_time variable; unidad: 50 fotos)
1 segundo entre tomar la siguiente fotografía
exponer 0.5 sec (depende de retardo variable del tiempo; unidad: 0,5 seg.)
clave número 2: 50 fotos (depende de la variable shot_time)
2 segundo entre tomar la siguiente fotografía
exponer 0.5 sec (depende de retardo variable del tiempo; unidad: 50 fotos)
clave número 3: 50 fotos (depende de la variable shot_time)
3 segundo entre tomar la siguiente fotografía
exponer 0.5 sec (depende de retardo variable del tiempo; unidad 0.5 seg)
......
tecla numérica 9: 50 fotos (depende de la shot_time variable; unidad: 50 fotos)
9 segundo entre tomar la siguiente fotografía
exponer 0,5 segundos (depende de la variable del tiempo de retardo, unidad: 0,5 seg)
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
Myshutter(PORT3) de MeShutter;
InfraredReceiverDecode(PORT_6) de MeInfraredReceiver;
tiempo retardado de int = 1; Variable de retardo de tiempo
int shot_time = 1; La variable utilizada en cambio cuantas veces quieres a tiro
int i;
void setup()
{
infraredReceiverDecode.begin();
inicializar la comunicación serial a 9600 bps
Serial.Begin(9600);
}
void loop()
{
if(infraredReceiverDecode.Available())
{
Switch(infraredReceiverDecode.Read())
{
caso IR_BUTTON_POWER: //Not en uso
Serial.println ("pulse energía."); rotura;
//////
caso IR_BUTTON_MENU: //Not en uso
Serial.println ("Presione Menu."); rotura;
//////
caso IR_BUTTON_TEST: enfoque de //Camera
myshutter.focusOn();
Delay(2000);
myshutter.focusOff();
Serial.println ("prensa prueba."); rotura;
//////
caso IR_BUTTON_PLUS: //increase el tiempo de retardo
tiempo retardado ++;
Serial.println(TimeDelay);
Serial.println ("Presione más.");
rotura;
//////
caso IR_BUTTON_RETURN: //change la variable de retardo de tiempo 1
tiempo retardado = 1;
Serial.println(TimeDelay);
Serial.println ("pulse retorno."); rotura;
//////
caso IR_BUTTON_PREVIOUS: //decrease la variable y tome 50 menos fotos
if(shot_time>1)
{
shot_time--;
}
otra cosa
{
shot_time = 1;
}
Serial.println(shot_time);
Serial.println ("pulse anterior."); rotura;
//////
caso IR_BUTTON_PLAY: //take una imagen una vez
myshutter.focusOn();
Delay(2000);
myshutter.focusOff();
myshutter.shotOn();
Delay(1500);
myshutter.shotOff();
Serial.println ("Press Play."); rotura;
//////
caso IR_BUTTON_NEXT: //increase el tiro tiempo variable y tomar 50 fotos más
shot_time ++;
Serial.println(shot_time);
Serial.println ("Oprima próximo."); rotura;
//////
caso IR_BUTTON_MINUS: //decrease la variable de tiempo
if(TimeDelay>1)
{
tiempo retardado--;
}
otra cosa
{
tiempo retardado = 1;
}
Serial.println(TimeDelay);
Serial.println ("presionar menos."); rotura;
//////
caso IR_BUTTON_CLR:
shot_time = 1;
Serial.println(shot_time);
Serial.println ("Presione Clr."); rotura;
//////
caso IR_BUTTON_0: //Used en largo-exponer (exponer 10 seg cuando la variable es 1 y aumento por 10 seg.)
myshutter.shotOn();
para (i = 0; i < tiempo retardado; i ++)
{
Delay(10000);
}
myshutter.shotOff();
Serial.println ("presionar 0."); rotura;
//////
caso IR_BUTTON_1: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(1000); Tiempo entre cada disparo es de 1 seg
}
Serial.println ("Presione 1."); rotura;
//////
caso IR_BUTTON_2: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(2*1000); Tiempo entre cada toma es de 2 seg
}
Serial.println ("Presione 2."); rotura;
//////
caso IR_BUTTON_3: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(3*1000); Tiempo entre cada toma es de 3 seg
}
Serial.println ("Presione 3."); rotura;
//////
caso IR_BUTTON_4: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(4*1000); Tiempo entre cada disparo es de 4 seg
}
Serial.println ("pulse 4."); rotura;
//////
caso IR_BUTTON_5: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(5*1000); Tiempo entre cada disparo es de 5 seg
}
Serial.println ("Presione 5."); rotura;
//////
caso IR_BUTTON_6: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(6*1000); Tiempo entre cada disparo es de 6 seg
}
Serial.println ("presionar 6."); rotura;
//////
caso IR_BUTTON_7: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(7*1000); Tiempo entre cada disparo es de 7 seg
}
Serial.println ("presionar 7."); rotura;
//////
caso IR_BUTTON_8: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(8*1000); Tiempo entre cada disparo es de 8 seg
}
Serial.println ("presionar 8."); rotura;
//////
caso IR_BUTTON_9: //Take 50 fotos cuando shot_time = 1 y cambios por 50. Tiempo de exposición es 0,5 seg y cambios por cada 0,5 seg.
para (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn();
Delay(TimeDelay*500);
myshutter.shotOff();
Delay(9*1000); Tiempo entre cada disparo es de 9 seg
}
Serial.println ("presionar 9."); rotura;
default: break;
}
}
}