Étape 2: Comment modifier votre propre auto système de photographier.
La télécommande est assez sensible. Il peut être perturbé par des lumières de soleil.
Si vous avez des questions dans le téléchargement de code pour moi-plinthe, allez visiter ce lien.
http://wiki.makeblock.cc/index.php?title=Makeblock_Robot_Starter_Kit#Programming
Dans mon code, je définis les boutons ci-dessous.
Il y a plus de détails dans le code.
Test: objectif de la caméra
Plus: augmenter le temps de retard
Return: retard variable dos à 1
Précédent: diminution shot_time variable (50 fois en prenant l’image)
Jouer: prendre une photo
Suivant: augmentation shot_time variable (50 fois en prenant l’image)
touche numéro 0: exposer longtemps mode
1 photo,
10sec exposer (dépend du délai variable temporelle ; unité: 10sec)
touche numéro 1: 50 photos (dépend de la shot_time variable ; unité : 50 photos)
1 seconde entre la prise de la photo suivante,
0,5 s exposer (dépend du délai variable temporelle ; unité : 0,5 sec)
touche numéro 2: 50 photos (dépend de la variable shot_time)
2 seconde entre la prise de la photo suivante,
0,5 s exposer (dépend du délai variable temporelle ; unité : 50 photos)
touche numéro 3: 50 photos (dépend de la variable shot_time)
3 seconde entre la prise de la photo suivante,
0,5 s exposer (dépend du délai variable temporelle ; unité 0,5 sec)
......
touche numéro 9: 50 photos (dépend de la shot_time variable ; unité : 50 photos)
9 deuxième entre la prise de la photo suivante,
0,5 s exposer (dépend de la variable de temps de retard, unité : 0,5 sec)
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
MeShutter myshutter(PORT3) ;
MeInfraredReceiver infraredReceiverDecode(PORT_6) ;
int timedelay = 1 ; Variable de temps retard
int shot_time = 1 ; La variable utilisée pour changer combien de fois vous voulez abattu
int i ;
void setup()
{
infraredReceiverDecode.begin() ;
initialiser une communication série à 9600 bps
Serial.Begin(9600) ;
}
void loop()
{
if(infraredReceiverDecode.available())
{
Switch(infraredReceiverDecode.Read())
{
affaire IR_BUTTON_POWER : //Not en cours d’utilisation
Serial.println ("Appuyez sur Power.") ; rupture ;
//////
affaire IR_BUTTON_MENU : //Not en cours d’utilisation
Serial.println ("Appuyez sur Menu.") ; rupture ;
//////
IR_BUTTON_TEST de cas : mise au point de //Camera
myshutter.focusOn() ;
Delay(2000) ;
myshutter.focusOff() ;
Serial.println ("Appuyez sur Test.") ; rupture ;
//////
affaire IR_BUTTON_PLUS : //increase le temps de retard
timeDelay ++ ;
Serial.println(timeDelay) ;
Serial.println (« presse Plus. ") ;
rupture ;
//////
affaire IR_BUTTON_RETURN : //change la variable temps de retard à 1
timeDelay = 1 ;
Serial.println(timeDelay) ;
Serial.println ("Appuyez sur retour.") ; rupture ;
//////
affaire IR_BUTTON_PREVIOUS : //decrease la variable et prendre 50 moins de photos
if(shot_time>1)
{
shot_time--;
}
d’autre
{
shot_time = 1 ;
}
Serial.println(shot_time) ;
Serial.println ("Press précédent.") ; rupture ;
//////
affaire IR_BUTTON_PLAY : //take une photo une fois
myshutter.focusOn() ;
Delay(2000) ;
myshutter.focusOff() ;
myshutter.shotOn() ;
Delay(1500) ;
myshutter.shotOff() ;
Serial.println ("Appuyez sur Play.") ; rupture ;
//////
affaire IR_BUTTON_NEXT : //increase le coup le temps variable et prendre plus de 50 photos
shot_time ++ ;
Serial.println(shot_time) ;
Serial.println ("Appuyez sur Next.") ; rupture ;
//////
affaire IR_BUTTON_MINUS : //decrease la variable temps
if(timeDelay>1)
{
timeDelay--;
}
d’autre
{
timeDelay = 1 ;
}
Serial.println(timeDelay) ;
Serial.println ("Press moins.") ; rupture ;
//////
affaire IR_BUTTON_CLR :
shot_time = 1 ;
Serial.println(shot_time) ;
Serial.println ("Appuyez sur Clr.") ; rupture ;
//////
affaire IR_BUTTON_0 : //Used en long-exposer (exposer 10 secondes lorsque la variable est 1 et augmentation de 10sec)
myshutter.shotOn() ;
pour (i = 0; i < temporisé; i ++)
{
Delay(10000) ;
}
myshutter.shotOff() ;
Serial.println ("Appuyez sur 0.") ; rupture ;
//////
affaire IR_BUTTON_1 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(1000) ; Temps entre chaque tir est 1sec
}
Serial.println ("Appuyez sur 1.") ; rupture ;
//////
affaire IR_BUTTON_2 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(2*1000) ; Temps entre chaque tir est 2sec
}
Serial.println ("Appuyez sur 2.") ; rupture ;
//////
affaire IR_BUTTON_3 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(3*1000) ; Temps entre chaque tir est 3sec
}
Serial.println ("Appuyez sur 3.") ; rupture ;
//////
affaire IR_BUTTON_4 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(4*1000) ; Temps entre chaque tir est 4sec
}
Serial.println ("Appuyez sur 4.") ; rupture ;
//////
affaire IR_BUTTON_5 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(5*1000) ; Temps entre chaque tir est 5sec
}
Serial.println ("Appuyez sur 5.") ; rupture ;
//////
affaire IR_BUTTON_6 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(6*1000) ; Temps entre chaque tir est 6sec
}
Serial.println ("Appuyez sur 6.") ; rupture ;
//////
affaire IR_BUTTON_7 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(7*1000) ; Temps entre chaque tir est 7sec
}
Serial.println ("Press 7.") ; rupture ;
//////
affaire IR_BUTTON_8 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(8*1000) ; Temps entre chaque tir est 8sec
}
Serial.println ("Appuyez sur 8.") ; rupture ;
//////
affaire IR_BUTTON_9 : //Take 50 photos si shot_time = 1 et modifications par 50. Temps d’exposition est 0,5 sec et change par chaque 0,5 sec
pour (i = 0; i < 50 * shot_time; i ++)
{
myshutter.shotOn() ;
Delay(timeDelay*500) ;
myshutter.shotOff() ;
Delay(9*1000) ; Temps entre chaque tir est 9sec
}
Serial.println ("Appuyez sur 9.") ; rupture ;
par défaut : rupture ;
}
}
}