Déclencher un appareil photo numérique via microcontrôleur : guide complet
Déclencher un appareil à distance via microcontrôleur (Arduino, ESP32, PIC, STM32, etc.) permet timelapse, activation par mouvement, ou configurations multi-caméras. Voici comment le faire fiablement.
Options d'interface matérielle
1. Déclencheur filaire (le plus courant)
La plupart reflex/hybrides ont une prise TRS 2,5mm ou 3,5mm pour déclencheur distant.
- Pointe (Tip) = Obturateur (appui complet)
- Anneau (Ring) = Mise au point (demi-appui) — optionnel
- Masse (Sleeve) = Ground
Court-circuiter Pointe→Masse déclenche l'obturateur. Court-circuiter Anneau→Masse active autofocus/mesure.
2. Optocoupleur / Opto-isolateur (le plus sûr)
Utiliser un 4N35, PC817 ou similaire pour isoler le microcontrôleur du circuit de l'appareil.
Pin MCU → [220Ω] → Anode LED optocoupleur
Cathode LED optocoupleur → GND
Collecteur optocoupleur → Pointe obturateur caméra
Émetteur optocoupleur → Masse caméra (Manche)
Ceci évite boucles de masse, pics de tension, ou dommages accidentels au port sensible de l'appareil.
3. Transistor / MOSFET (simple, moins d'isolation)
2N2222 ou 2N7000 peut commuter la ligne obturateur directement si masses partagées. Plus risqué pour appareils coûteux.
4. Sans fil / IR / Bluetooth
Certains appareils supportent télécommandes IR (émuler avec LED IR) ou Bluetooth/BLE (ESP32 peut s'apparier). Protocoles constructeurs souvent non documentés.
Exemple code microcontrôleur (Arduino)
const int SHUTTER_PIN = 12; // Pin contrôle optocoupleur
const int FOCUS_PIN = 11; // Pin focus optionnel
const int TRIGGER_DELAY = 100; // ms largeur impulsion
void setup() {
pinMode(SHUTTER_PIN, OUTPUT);
pinMode(FOCUS_PIN, OUTPUT);
digitalWrite(SHUTTER_PIN, LOW);
digitalWrite(FOCUS_PIN, LOW);
}
void triggerCamera(bool doFocus = true) {
if (doFocus) {
digitalWrite(FOCUS_PIN, HIGH); // Demi-appui : focus/mesure
delay(500); // Attente verrouillage AF
}
digitalWrite(SHUTTER_PIN, HIGH); // Appui complet : obturateur
delay(TRIGGER_DELAY);
digitalWrite(SHUTTER_PIN, LOW);
digitalWrite(FOCUS_PIN, LOW);
}
void loop() {
// Exemple : déclencher toutes les 30 secondes pour timelapse
triggerCamera(true);
delay(30000);
}
Considérations critiques
- L'appareil doit être en mode « Remote » ou « Release » — vérifier menu.
- Largeur impulsion : 50–200ms typique. Trop court = déclenchement raté. Trop long = appareil bloqué.
- Délai focus : Laisser 300–1000ms pour verrouillage AF avant impulsion obturateur si pin focus utilisé.
- Alimentation : Appareil doit être allumé. Certains coupent port USB/remote en veille – désactiver extinction auto.
- Antirebond : Si déclenchement via interrupteur mécanique, antirebond logiciel/matériel.
Applications avancées
- Intervalomètre : Timelapse précis avec rampe d'exposition (bulb ramping)
- Déclencheur mouvement : Capteur PIR, lidar, ou vision par ordinateur (OpenMV, ESP32-CAM)
- Sync multi-caméras : Un MCU déclenche N caméras via réseau optocoupleurs pour bullet-time/scan 3D
- Sync haute vitesse : Déclencher flash + appareil avec précision µs pour éclatement ballon, éclaboussures
Commencez avec un circuit optocoupleur simple et le code ci-dessus. Testez soigneusement avant déploiement sur prises de vue irremplaçables.
