Nous allons créer une télécommande pour appareil photo contrôlée par un Arduino. Cette télécommande permettra de faire la mise au point et de prendre une photo. Le tutoriel est aussi disponible ici : graissmoto.legtux.org
Matériel
Ce tutoriel a été rédigé pour un Panasonic Lumix FZ200, il devrait marcher exactement pareil pour tout appareil photo dont la prise remote shutter est un jack à 4 contacts.- Un ordinateur- Un Panasonic Lumix FZ200- Une télécommande compatible FZ200 : Exemple sur Amazon- Un Arduino (peu importe lequel)- 2 optocoupleurs 4N35- Un fer à souder- Breadboard, fils, 2 résistances et 2 LEDs
Précautions
- Attention avec votre appareil photo... Je ne suis évidement pas responsable de dégâts sur votre matériel.- Le fer à souder, ça brûle !
Description générale
Lorsque l'on appui sur le bouton de la télécommande un contact (interrupteur) se ferme et un jeu de résistance permet de déterminer si on est en focus ou shoot. On va donc détourner une télécommande (en la gardant utilisable manuellement) pour la commander avec un Arduino. Pour remplacer l'interrupteur manuel nous allons utiliser des optocoupleurs.
Optocoupleur
Un optocoupleur est composé d'une diode et d'un photo-transistor.C'est un interrupteur électronique qui laisse passer le courant quand il reçoit de la lumière, l'interrupteur est alors "fermé".Lorsqu'il ne reçoit pas de lumière l’interrupteur est "ouvert" et le courant ne passe pas.Nous utiliserons un 4N35, on trouve très facilement la datasheet sur le net
Modification de la télécommande
J'ai ouvert la télécommande :
J'ai enlevé le petit jack pour faire de la place pour les fils :
On soude 3 fils sur l’interrupteur : c'est un interrupteur deux positions, à mis-course c'est le focus, en fin de course c'est le shoot.
On referme la boite (les couleurs des fils ne correspondent pas avec la photo précédente car j'ai changé entre temps). J'ai utilisé un connecteur arraché d'un vieux PC : c'est pour ça que c'est marqué POWER LED dessus.
C'est fini pour la télécommande; il suffit de la brancher à l'appareil photo et de le démarrer. Faire toucher deux fils (essayer toutes les combinaisons) pour prendre une photo ou faire la mise au point.
Chez moi :
Vert et bleu : Mise au point
Vert et noir : Photo
Réalisation du montage Arduino
Réaliser le montage suivant :
Ce qui donne :
On utilise les pins 2 et 3 pour commander les optocoupleurs.
Programmation de l'Arduino
Nous allons maintenant programmer l'Arduino pour qu'il reçoive des commandes par USB, nous avons deux commandes à gérer : focus et shoot. On ajoutera une autre commande en plus shooter en rafale (on choisit alors le temps de la rafale)
int time = 100;
int incomingByte = 0;
const int opto_focus = 2;
const int opto_shoot = 3;
void setup()
{
Serial.begin(115200); // Baud-rate
pinMode(opto_focus, OUTPUT);
pinMode(opto_shoot, OUTPUT);
}
void loop()
{
// Send data only when you receive data
if (Serial.available() > 0) {
// Reading incoming bytes :
incomingByte = Serial.read();
switch (incomingByte) {
case 'f':
digitalWrite(opto_focus, HIGH); // Focus..
delay(300);
digitalWrite(opto_focus, LOW);
break;
case 's':
digitalWrite(opto_shoot, HIGH); // Shoot !!
delay(100*20);// Number of shoots
digitalWrite(opto_shoot, LOW);
delay(1);
for (int i = 0; i < 36; i++) { // Little trick to empty the buffer, not nice :/
Serial.read();
}
break;
default: // Usefull for burst mode, this variables sets the time the shoot will last
time = incomingByte*100;
}
}
}
Compiler le programme et transférez le sur l'Arduino. Allumer et brancher l'appareil photo à la télécommande.Envoyez le message 's' grâce au terminal Arduino, l'appareil prend une photo !