Jump to content

Disparador sensor sonido Arduino


fotoflipao
 Compartir

Publicaciones recomendadas

Hola a todos,

Sé que hay algún experto en estas lides, a ver si me podéis ayudar.

Estoy probando a fabricarme un disparador de la cámara mediante un sensor de sonido y un arduino. En principio he conseguido que funcione disparando un flash, por lo que ya puedo ir empezando a hacer alguna foto de globos o explosiones controladas. La cámara la disparo un poco antes en modo bulb y tras el flashazo apago la cámara, todo en total oscuridad.

Estoy intentando mejorar el invento, tratando de disparar la cámara a la vez que el flash. He montado en una proto el disparador con el sensor de sonido (ya incorporaré el disparo del flash), pero no consigo que funcione bien. El sensor detecta el sonido y dispara la cámara, pero tras el disparo la cámara se queda bloqueada y tengo que apagar y encender. No he encontrado nada en internet, a todo el mundo le funciona, por lo que algo estoy haciendo mal o algún componente no hace su función. Por supuesto, el enfoque está en manual. La cámara he probado a disparar a 1/100 (y otras velocidades) y también en modo bulb. En este caso, cuando disparo en modo bulb, el obturador abre pero no cierra hasta que apago la cámara o el arduino.

Los componentes usados son muy pocos:

Arduino Nano // Sensor sonido // 2 optoacopladores MOC3023 // 2 resistencias 220 ohm 

Adjunto una foto de cómo está montado, y el código es el siguiente:

int enfoque = 5; //función enfoque en pin 5
int soundSensor = 2; //sensor de sonido en pin 2
int disparo = 7; //función disparo en pin 7

void setup() {
    pinMode(enfoque, OUTPUT); //pin enfoque como salida
    pinMode(soundSensor, INPUT); //sensor de sonido como entrada
    pinMode(disparo, OUTPUT); //pin disparo como salida
}

void loop() {
    int sensorInfo = digitalRead(soundSensor); //variable para leer del sensor de sonido

    digitalWrite(enfoque, LOW); //comienza con enfoque off
    digitalWrite(soundSensor, HIGH); //sensor de sonido preparado para leer
    digitalWrite(disparo, LOW); //comienza con disparo off

    if (sensorInfo == LOW) {
        delay(1); //modificable para retrasar disparo
        digitalWrite(enfoque, HIGH); //enfoque on
        digitalWrite(disparo, HIGH); //disparo on
        delay(25); //dispara durante 25 ms
        digitalWrite(enfoque, LOW); //enfoque off
        digitalWrite(disparo, LOW); //diparo off
        delay(3000); //espera 3 seg para evitar rebotes
    }
}

 

¿Algún experto sabe qué diablos puede pasar?

¡¡Gracias por anticipado!!

thumbnail_IMG_1376.jpg

Enlace al comentario
Compartir en otros sitios web

  • 3 semanas más tarde...
  • Moderadores

Por lo que comentas que en modo bulb no cierra el obturador da la impresión que la cámara sigue teniendo el 'contacto de disparo' cerrado tras la orden.

Lo suyo que lo compruebes con un polímetro en el la salida del arduino a la cámar, poniéndolo en función continuidad o baja resistencia, cuando no hay orden de disparo te debe dar circuito abierto y con orden de disparo te debe dar circuito cerrado

Si es así, habría que investigar que es lo que falla.

En principio parece que el programa está bien, aunque yo probaría en deshabilitar primero el disparo y luego en enfoque por si acaso.

if (sensorInfo == LOW) {
        delay(1); //modificable para retrasar disparo
        digitalWrite(enfoque, HIGH); //enfoque on
        digitalWrite(disparo, HIGH); //disparo on
        delay(25); //dispara durante 25 ms
        digitalWrite(disparo, LOW); //diparo off

        digitalWrite(enfoque, LOW); //enfoque off
        delay(3000); //espera 3 seg para evitar rebotes
    }

luego empezaría a mirar desde la cámara hacia atrás.

- Continuidad en circuito de disparo
- Tensión en el pin 7 (disparo)

Ya nos vas contando, que me ha entrado curiosidad

 

Saludos

 

Enlace al comentario
Compartir en otros sitios web

hace 7 horas, fotoflipao dijo:

Gracias por vuestras respuestas. A ver si tengo un hueco el fin de semana y sigo haciendo pruebas, que llevo un poco de lío...

Un saludo.

Hola,

sin ser más que un aprendiz de principiante, se me ocurre que quizá necesites una resistencia pull-down en la salida de disparo (pin 7) para que no se quede en estado "flotante". Pero igual digo una burrada.

Un saludo,

Daniel

Editado por Dandon
Enlace al comentario
Compartir en otros sitios web

En 26/3/2019 a las 15:48, Dandon dijo:

Hola,

sin ser más que un aprendiz de principiante, se me ocurre que quizá necesites una resistencia pull-down en la salida de disparo (pin 7) para que no se quede en estado "flotante". Pero igual digo una burrada.

Un saludo,

Daniel

Pues me pillas más principiante aún, voy a investigar qué es eso y pruebo... Gracias por el interés!

Editado por fotoflipao
Enlace al comentario
Compartir en otros sitios web

Hola, analiza y prueba esta modificacion de tu codigo.

#define DISPARO     7
#define SOUNDSENSOR 2

boolean	sensorInfo=0;

void setup() {
    pinMode(SOUNDSENSOR, INPUT);  //sensor de sonido como entrada
    pinMode(DISPARO, OUTPUT);     //pin disparo como salida
    
    digitalWrite(DISPARO, LOW);   //comienza con disparo off
}

void loop() {

    sensorInfo = digitalRead(SOUNDSENSOR); //variable para leer del sensor de sonido

    if (sensorInfo == LOW) {
        digitalWrite(DISPARO, HIGH); //disparo on
        delay(300); //dispara durante 300 ms
        digitalWrite(DISPARO, LOW); //diparo off
        delay(3000); //espera 3 seg para evitar rebotes
    }
} 

Las patillas de enfoque y disparo debes unirlas para disparar la camara y no te dará problemas.

Saludos,
Daniel

  • Like 1
Enlace al comentario
Compartir en otros sitios web

  • 3 semanas más tarde...

Muchas gracias a todos.

Solucionado, era cuestión del protocolo de disparo. En concreto este es el orden correcto:

        digitalWrite(enfoque, HIGH); //enfoque on
        digitalWrite(disparo, HIGH); //disparo on
        delay(25); //dispara durante 25 ms
        digitalWrite(disparo, LOW); //disparo off

        digitalWrite(enfoque, LOW); //enfoque off

 

Gracias a Rabla y a Fernando (FLA) por dar en la clave.
 

Editado por fotoflipao
Enlace al comentario
Compartir en otros sitios web

  • Moderadores
hace 9 horas, fotoflipao dijo:

Solucionado, era cuestión del protocolo de disparo. En concreto este es el orden correcto:

        digitalWrite(enfoque, HIGH); //enfoque on
        digitalWrite(disparo, HIGH); //disparo on
        delay(25); //dispara durante 25 ms
        digitalWrite(disparo, LOW); //disparo off

        digitalWrite(enfoque, LOW); //enfoque off

Pues misterio resuelto :1ok:

 

Saludos

Enlace al comentario
Compartir en otros sitios web

  • 7 meses más tarde...
  • 1 mes más tarde...

Siento el retraso, hacía tiempo que no me pasaba por aquí.

En 29/11/2019 a las 21:06, marboselli dijo:

Buenas tardes estoy intentando hacer esto, con que cable conectas el arduino a la cámara y como lo haces, tengo una D5600 

Puedes aprovechar el cable de cualquier disparador sencillo (sin intervalómetro) dedicado para tu cámara, que en ebay están por un par de euros.

En 30/11/2019 a las 6:27, Hasharii dijo:

Sigo el tema... podrías compartir el esquema eléctrico? Gracias!

Lo siento, finalmente no llegué a desarrollar el proyecto, me he ido apañando con el que solo disparaba el flash. Cuando tenga algo de tiempo lo recuperaré y actualizaré la información.

Enlace al comentario
Compartir en otros sitios web

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder a este tema...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

 Compartir

  • Explorando recientemente

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...