Jump to content
fotoflipao

Disparador sensor sonido Arduino

Recommended Posts

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

Share this post


Link to post
Share on other sites

Sigo investigando. ¿El origen del "fallo" podría venir del optoacoplador, que es de tipo TRIAC? Estoy pez en estas cosas, voy aprendiendo sobre la marcha...

Gracias.

Share this post


Link to post
Share on other sites

Hola fotoflipao, yo tampoco tengo mucha idea, pero a ver si funciona; prueba a añadir al final

break;   
}
}

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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

Edited by Dandon

Share this post


Link to post
Share on other sites
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!

Edited by fotoflipao

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.
 

Edited by fotoflipao

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing

    No registered users viewing this page.

×