Voy a controlar mi Canon DSLR con una placa Arduino.
¿Cómo puedo obtener el estado actual de "ocupado" de la cámara antes de disparar a la próxima toma, así que seguiré esperando hasta que termine todos sus trabajos?
Voy a controlar mi Canon DSLR con una placa Arduino.
¿Cómo puedo obtener el estado actual de "ocupado" de la cámara antes de disparar a la próxima toma, así que seguiré esperando hasta que termine todos sus trabajos?
Canon proporciona un amplio control y estado de sus cámaras a través de la interfaz USB, y proporciona una biblioteca de software con una API bien documentada para admitirlo. Sin embargo, esto significa que cualquier control remoto importante debe realizarse desde una CPU / plataforma que puede ser un host USB (y puede ejecutar la biblioteca). No va a ser fácil desde un Arduino.
Dicho esto, es posible que no necesites ese estado de todos modos. Las cámaras tienen una cantidad significativa de memoria y pueden tomar una "ráfaga" de imágenes bastante grande antes de que todas se escriban en la tarjeta SD. Si establece un intervalo de tiempo mínimo entre imágenes de, por ejemplo, 500 ms, debería estar bien en la mayoría de las circunstancias.
Divulgación: uno de mis proyectos actuales es una serie de "pods" de fotografía aérea que se basan en las cámaras DSLR de Canon.
Finalmente encontré mi propia solución a este problema (no ideal, pero mucho más fácil que tratar con la API de Canon y el host USB).
La idea es conectarse a la zapata de la cámara y leer un comando de "flash-fire" desde allí.
Por lo tanto, una vez que la cámara tenga algún problema con la toma de la siguiente foto, no recibirá una bandera de "encendido por flash" después de la acción "tomar foto". Después de eso, puede hacer un bucle con algún tiempo de espera en caso de que la cámara esté Temporalmente ocupado con la escritura o detenga cualquier acción en caso de que si un largo tiempo de espera aún no te permite recibir un indicador de flash.
Espero que esta explicación ayude a alguien.
Lea otras preguntas en las etiquetas arduino