Tabla de contenido:

Controlador Arduino para fotografía de productos automatizada de 360 °: 5 pasos (con imágenes)
Controlador Arduino para fotografía de productos automatizada de 360 °: 5 pasos (con imágenes)

Video: Controlador Arduino para fotografía de productos automatizada de 360 °: 5 pasos (con imágenes)

Video: Controlador Arduino para fotografía de productos automatizada de 360 °: 5 pasos (con imágenes)
Video: Arduino Controller for DIY Automated Turntable with Camera Shutter for 360° Product Photography 2024, Mes de julio
Anonim
Image
Image
Reúna piezas y archivos
Reúna piezas y archivos

Construyamos un controlador basado en arduino que controle un motor paso a paso y un obturador de cámara. Junto con un plato giratorio accionado por un motor paso a paso, este es un sistema potente y de bajo costo para la fotografía o fotogrametría automatizada de productos en 360 °. El obturador automático de la cámara se basa en una gran biblioteca de „Sebastian Setz“y funciona para cámaras con disparo por infrarrojos de Nikon, Canon, Minolta, Olympus, Pentax, Sony.

He preparado dos versiones del controlador:

  • Una versión básica que se maneja con un simple pulsador y un led de estado.
  • Una versión avanzada que usa una pantalla LCD 16x2 + teclado y por lo tanto tiene un menú para cambiar las variables "sobre la marcha" y no solo en el código fuente.

¿Qué hace el controlador?

Si activa una "sesión de fotos" presionando el botón, el tocadiscos realiza una revolución completa, dividida en una cantidad predefinida de pasos. Después de cada paso de rotación, el controlador hace un breve descanso y luego activa la cámara. Podrá cambiar las variables de la velocidad de rotación, el tiempo de retardo y el número de pasos en el código fuente (para la versión del controlador simple) o en el menú de visualización (versión del controlador avanzado).

Paso 1: Reúna las partes y los archivos

Reúna piezas y archivos
Reúna piezas y archivos
Reúna piezas y archivos
Reúna piezas y archivos

Partes:

  • Arduino Uno (o similar)
  • Placa de pruebas (cabe en la placa de pruebas de tamaño medio)
  • Controlador de motor paso a paso Easydriver
  • Disipador de calor 2X para Easydriver (opcional pero MUY recomendado) https://www.sparkfun.com/products/11510 Necesitará cinta térmica para fijar el disipador de calor en el chip. Si solicita su disipador de calor, asegúrese de que la cinta térmica esté incluida o se puede pedir por separado.
  • LED infrarrojo de 950 nm (para disparador de cámara IR)
  • Resistencia 220 ohmios (pre-resistencias para LED infrarrojos)
  • Elemento de sonido piezoeléctrico (opcional, si desea tener sonidos de retroalimentación)
  • Algunos cables de puente
  • Fuente de alimentación externa para motor paso a paso Tuve buenas experiencias con un adaptador de corriente 12V 1A para conducir un motor paso a paso NEMA 17 1A de Trinamic. También tenía un adaptador de corriente de 24 V 3 A en uso. La placa Easydriver admite hasta 30 V y 750 mA por fase. Más sobre las especificaciones de easydriver aquí:
  • Toma para alimentación externa del motor paso a paso
  • Motor paso a paso y plataforma giratoria bipolar NEMA 17, p. Ej. el enlace FluxGarage „Plataforma giratoria automatizada con motor paso a paso“:

Agregar para controlador de botón pulsador básico …

  • Presionar el botón
  • Resistencia 10k ohmios (para el pulsador)
  • LED (LED de estado)
  • Resistencia 220 ohmios (pre-resistencias para LED de estado)

… O agregue para controlador avanzado con pantalla + menú de teclado:

Kit de pantalla LCD Adafruit con pantalla de 16x2 caracteres, p. Ej

Descargue los códigos de Arduino y los diagramas de Fritzing para el controlador básico y avanzado:

Si desea abrir el documento Fritzing para el controlador avanzado, asegúrese de descargar e instalar los elementos de adafruit:

Tenga en cuenta: En las imágenes estoy usando FluxGarage "Placa base de Tinkerer" y FluxGarage "Placa frontal para pantalla LCD 16x2 + teclado". El uso de esos elementos es opcional, si también desea usarlos, haga clic en los enlaces de las instrucciones correspondientes.

Paso 2: ensamblar el circuito

Ensamblar circuito
Ensamblar circuito
Ensamblar circuito
Ensamblar circuito
Ensamblar circuito
Ensamblar circuito

Suelde la placa Easydriver para uso en la placa de pruebas: para utilizar el controlador easydriver en una placa de pruebas, debe soldar algunos conectores macho de clavija en la placa. La mejor manera es colocar los encabezados de los pines macho en la placa de pruebas, colocar el controlador fácil en la parte superior y luego soldar los pines.

Cableado: Conecte las piezas como se muestra en el gráfico de Fritzing correspondiente al controlador básico o avanzado. Descargue los diagramas de Firtzing en github, busque los enlaces en el paso 1.

Verifique si todo está conectado de la siguiente manera:

  • Pin digital Arduino 02 = pin dir de Easydriver
  • Pin digital Arduino 03 = pin de paso de Easydriver
  • Pin digital Arduino 09 = salida para piezo
  • Pin digital Arduino 12 = salida para LED infrarrojo (coloque la resistencia previa de 220 ohmios antes del LED)

+ para controlador básico:

  • Pin digital Arduino 04 = entrada para pulsador (coloque una resistencia de 10k ohmios antes de la tierra del botón)
  • Pin digital Arduino 13 = salida para LED de estado (coloque la resistencia previa de 220 ohmios antes del LED)

+ para controlador avanzado:

Apile el protector de pantalla + teclado en el arduino, en realidad se utilizan esos pines: pin analógico Arduino A4 + A5 y 5V + GND

Conecte el motor paso a paso: El cableado de motores paso a paso bipolares (4 cables) consiste en conectar las dos bobinas (A y B) del motor a los pines derechos de la placa easydriver. Mire el gráfico en el centro de esta página y en el especificaciones de su motor paso a paso específico:

También puede encontrar más información sobre el cableado de su motor paso a paso y el Easydriver aquí:

Conecte la fuente de alimentación externa La placa Easydriver tiene dos pines de alimentación separados en el lado superior derecho (M + y tierra). Mientras que la placa en sí obtiene energía del Arduino, la entrada separada proporciona energía para el motor paso a paso. Si utiliza un adaptador de corriente típico "listo para usar" y un enchufe, debe conectar el cable "+" al pin "M +" del easydriver y el cable "-" al pin "GND" del easydriver. Por lo general, el "+" está en el lado interior, mientras que el "-" está en el lado exterior del enchufe. Pero tenga cuidado, ¡algunos adaptadores de corriente permiten cambiar la polaridad! Si conecta su controlador easydriver incorrectamente, puede y probablemente se dañará, téngalo en cuenta.

Paso 3: sube el código fuente a Arduino

Subir el código fuente a Arduino
Subir el código fuente a Arduino

Descargue el código fuente de Arduino en Github:

Descarga Arduino IDE:

www.arduino.cc/en/Main/Software

Descargue las bibliotecas de terceros y cópielas en la carpeta de la biblioteca de su IDE:… para el obturador de la cámara: https://github.com/dharmapurikar/Arduino/tree/mast…… para Adafruit 16x2 Display + Keypad Shield: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

El código está probado y funciona bien con el último Arduino IDE (1.8.7 en Windows) y Arduino Uno + Controlador de motor paso a paso Easydriver + Pantalla Adafruit 16x2 + Protector de teclado, + un motor paso a paso Trinamic y una cámara Nikon D60.

Ajuste el código para que funcione con su cámara específica: Como se mencionó, utilicé la biblioteca „multiCameraIrControl.h“de Sebastian Setz. Para que funcione para su cámara, debe eliminar las barras de comentarios antes del nombre del fabricante de su cámara y, por supuesto, agregar barras antes de todos los demás nombres de fabricantes:

// Establecer el tipo de cámara Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Realice el ajuste similar en la función "snap":

// Toma una instantánea vacía () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}

Tenga en cuenta: Desafortunadamente, todavía no pude probar otras cámaras activadas por infrarrojos que mi propia Nikon D60. La biblioteca de obturadores de cámara debería funcionar con varias cámaras de diferentes fabricantes, no solo con los modelos de cámara específicos que se mencionan en el código. Sería genial si publicaras un comentario sobre tus experiencias con tu cámara Canon, Minolta, Olympus, Pentax o Sony.

Paso 4: operar el controlador

Operar el controlador
Operar el controlador
Operar el controlador
Operar el controlador

¿Qué hace el código y el controlador? Si presiona el botón, se activa una "sesión de fotos". Cada sesión de fotos es un ciclo finito de la siguiente secuencia:

  1. La cámara está activada
  2. Retraso corto
  3. El motor paso a paso girará una cantidad predefinida de grados
  4. Retraso corto

Una sesión de fotos se basa en un conjunto de variables que determinan su comportamiento exacto. Puede cambiar estas variables en el código fuente (para la versión del controlador simple) o en el menú de pantalla (versión del controlador avanzado).

Operación del controlador básico:

En el controlador básico, el LED de estado muestra cuando el sistema está listo para funcionar. El LED se apaga cuando inicia una sesión de fotos. Puede interrumpir una sesión de fotos manteniendo pulsado el botón hasta que aparezca el "sonido de interrupción" y el tocadiscos se detenga. Eche un vistazo al video en la sección superior de este instructivo para ver esto en la "vida real".

Las variables de la sesión de fotos se pueden encontrar en la sección superior del código y se pueden cambiar para modificar la sesión de fotos. A continuación puede ver los valores iniciales:

int shootingsteps = 20; // número de pasos para una revolución completa, debe ser 10, 20 o 40 flotador velocidad de disparo = 0.01; // velocidad de rotación: cualquier número desde.01 -> 1 siendo 1 el más rápido - Más lento es más fuerte (más lento = mejor para objetos “pesados”) int shootingdelay = 1000; // romper en milisegundos antes y después de cada rotación

Operación del controlador avanzado:

Al encender el controlador avanzado, se muestra un logotipo de FluxGarage durante 4 segundos. Después de eso, el controlador está listo para funcionar y muestra una lista del conjunto ajustable de variables:

  • ST = Número de pasos, puede ser 10, 20 o 40
  • SP = Velocidad de rotación, puede ser de 1 a 5 mientras que 1 es el más lento
  • DE = Retraso antes y después de cada paso en décimas de segundo, puede ser 5, 10, 25, 50
  • LI = Determina si la luz de fondo de la pantalla está encendida o apagada mientras se dispara. Puede ser 1 = encendido o 0 = apagado

Puede navegar a través de los tipos de variables con los botones izquierdo y derecho y cambiar los valores con los botones arriba y abajo. Inicie una sesión de fotos presionando el botón de selección e interrumpa una sesión de fotos manteniendo presionado el botón de selección hasta que aparezca el "sonido de interrupción". Eche un vistazo al video en la sección superior de este instructivo para ver esto en la "vida real".

Paso 5: comience a disparar

Empezar a disparar
Empezar a disparar

Si ha construido su propio controlador + plato giratorio y su cámara está en su lugar, está listo para comenzar a disparar … casi. Permítanme compartir algunos aprendizajes de mis propios experimentos:

  • Use una carpa ligera para iluminar sus objetos de manera uniforme. Puede encontrar muchos buenos tutoriales aquí en instructables.com que muestran cómo crear una caja de luz de bricolaje. Además, hay carpas ligeras textiles económicas que se pueden comprar en muchas tiendas en línea.
  • Utilice bombillas con la misma temperatura de color (Kelvin)
  • Enfoque el objeto en el tocadiscos manualmente, desactive el enfoque automático de su cámara
  • Apague el estabilizador de imagen de su cámara, si trabaja con un trípode
  • Seleccione un rango de medición en el fondo, donde el objeto de la toma no aparecerá. Al hacerlo, evitará el parpadeo en la secuencia de imágenes. Otra forma es configurar manualmente los tiempos de exposición de la cámara, etc.
  • Si desea incluir sus imágenes en 360 ° en su sitio web, utilice complementos de JavaScript como "Jquery Reel Plugin" de Petr Vostřel alias "PISI" → https://jquery.vostrel.cz/reel360 Degrees Product Viewer "de" Codyhouse “→

Este es el resultado de uno de mis disparos (creado con la configuración anterior):

Recomendado: