Tabla de contenido:

Reloj de alta velocidad para videos en cámara lenta: 4 pasos
Reloj de alta velocidad para videos en cámara lenta: 4 pasos

Video: Reloj de alta velocidad para videos en cámara lenta: 4 pasos

Video: Reloj de alta velocidad para videos en cámara lenta: 4 pasos
Video: 15 Cosas vistas en cámara lenta! 🐌 📷 2024, Noviembre
Anonim
Image
Image
Materiales
Materiales

Casi todas las personas con un teléfono inteligente moderno tienen una cámara de alta velocidad que se puede usar para hacer videos espectaculares en cámara lenta. Pero si desea medir cuánto tiempo realmente tarda en estallar la pompa de jabón o la sandía, es posible que le resulte difícil mostrar la hora en sus videos: un cronómetro tiene una pantalla muy pequeña y tiene una precisión de solo 1/100 de segundo. Si desea realizar mediciones cuantitativas, descubrí que la velocidad de fotogramas publicada de una cámara no es algo en lo que pueda confiar.

Afortunadamente, es realmente fácil construir un reloj con una precisión de ms y dígitos grandes y brillantes usando un Arduino y una pantalla de 7 segmentos de 4 dígitos. Además, los 12 pines de una pantalla estándar de 0,56”coinciden exactamente con la disposición de los pines del Arduino Nano y pueden soldarse directamente sobre él.

No hay inicio / parada / reinicio en este temporizador. Simplemente comienza a funcionar cuando lo enciende y se desborda después de 10 segundos. La idea es que para medir la duración de un determinado proceso, de todos modos medimos la diferencia de tiempo entre el final y el comienzo.

Paso 1: Materiales

  • Un Arduino Nano, sin los encabezados soldados.
  • Una pantalla de 0,56”, 4 dígitos y 7 segmentos. Tanto el ánodo común como el cátodo común están bien

En caso de que desee guardarlo en una caja resistente y que funcione con 2 pilas AA, agregue:

  • Caja de proyectos electrónicos 60x100x25
  • Un soporte de batería 2xAA
  • Un módulo elevador
  • Un interruptor basculante de encendido / apagado de 10x15 mm

Herramientas necesarias

Soldador

Para montarlo en una caja:

  • Una herramienta giratoria para cortar en bruto los agujeros para la pantalla y el interruptor.
  • Limas manuales para cortar con precisión los agujeros
  • Una pistola de pegamento caliente para fijar los componentes en su lugar.

Paso 2: Conexión del Arduino a la pantalla

Conexión del Arduino a la pantalla
Conexión del Arduino a la pantalla

Sorprendentemente, los pines de una pantalla estándar de 7 segmentos de 4 dígitos coinciden con el diseño de un Arduino Nano de tal manera que los 12 pines de la pantalla se conectan a los pines IO del Arduino. Esto permite soldar la pantalla directamente en el Arduino sin necesidad de PCB, conectores o cables.

Suelde los pines inferiores de la pantalla (reconocibles por los puntos decimales y la impresión) a los pines analógicos A0-A5. Suelde las clavijas superiores de la pantalla a las clavijas digitales D4-D9.

Los LED rojos tienen una caída de voltaje de solo 2 V, por lo que conectarlos a 5 V generalmente no es una buena idea, y generalmente se aplica una resistencia en serie para limitar la corriente. Sin embargo, tal vez debido al entrelazado, descubrí que funciona bien sin resistencias en serie. Si no, aquí hay un instructivo detallado sobre cómo agregar resistencias en serie directamente en el Arduino Nano

Paso 3: el código

El código
El código

Sube el boceto adjunto al Arduino Nano. El presente código es para una pantalla de ánodo común, pero las líneas para cátodo común pueden estar descomentadas.

Una vez que se carga el código, el temporizador debería comenzar a funcionar cada vez que se inicia Arduino. Puede detenerse aquí o ver en la siguiente sección un ejemplo de cómo montarlo en una caja resistente y hacer que funcione con baterías.

Algunos comentarios sobre el código:

El tiempo se toma de las funciones micro (), en lugar de la función millis (), por dos buenas razones: La implementación de Arduino de millis () es terrible: se incrementan cada 1.024 ms, y luego de vez en cuando se salta un milisegundo ¡para compensar! No todos los Arduinos tienen cristales de alta precisión. Si encuentra que está desviado por más de una permilla, puede ajustar el divisor en la línea "unsigned long t = micros () / 1000;" para hacer que el reloj vaya más rápido o más lento.

Los dígitos están intercalados, lo que significa que solo se enciende un dígito en un momento determinado. Al cambiar los segmentos de un dígito, todos los dígitos están desactivados, por lo que no se muestra ningún dígito basura en ningún momento. Medí la frecuencia de actualización de los dígitos en 750 microsegundos, ¡así que cada dígito se actualiza al menos una vez cada milisegundo!

No he optimizado seriamente el reloj para la velocidad, ya que la velocidad actual es lo suficientemente buena para mostrar milisegundos. Creo que se podría hacer que el Arduino muestre dos dígitos más (correspondientes a los 100 y 10 microsegundos), pero requeriría

  • Deshabilitar interrupciones y usar directamente los temporizadores
  • Manipulación directa de puertos
  • Conectando todos los segmentos a un solo puerto y los dígitos a otro puerto
  • Evite el cálculo explícito de valores de dígitos, pero use incrementos en su lugar (las operaciones de división y módulo son lentas)

Si pudiera ponerme una mano en una cámara de cámara lenta con> 1000 fps, podría intentarlo, por ahora estoy contento con la precisión de ms.

Paso 4: montarlo en una caja

Montaje en una caja
Montaje en una caja
Montaje en una caja
Montaje en una caja
Montaje en una caja
Montaje en una caja

Una caja de proyectos electrónica barata de 100x60x25 mm, no resistente al agua, se adapta fácilmente a este temporizador, junto con las baterías, un módulo elevador y un interruptor de encendido / apagado. Para el funcionamiento de la batería, una combinación de 2 baterías AA con un módulo elevador proporcionará un voltaje de 5 V seguro y estable al Arduino. Al colocar un interruptor de encendido / apagado directamente en la batería (en lugar de en la salida del step-up), las baterías no se ven afectadas por fugas del módulo de stup-up y pueden durar años, si se usan esporádicamente.

El módulo step-up que usé tenía un conector USB hembra, que quité con unos alicates, para poder soldar cables a la salida. Alternativamente, puede usar un step-up regulable y configurarlo en una salida de 5V.

Comience cortando los dos orificios que corresponden a la pantalla y al interruptor de encendido / apagado. Dibujé con un lápiz los orificios aproximados, luego corté los orificios un poco demasiado pequeños con una herramienta giratoria y luego los limité con limas manuales al tamaño exacto.

Corte un poco del cable rojo y negro flexible de múltiples hilos de la caja de la batería y conéctelos al módulo elevador, ya sea con el positivo o el negativo interrumpido por un interruptor de encendido / apagado. Luego, desde el módulo elevador directamente al GND y al + 5V o al Arduino.

Usé pegamento caliente para mantener todos los elementos en su lugar: la caja de la batería, el módulo elevador y alrededor de los lados de la pantalla.

El resultado final es un temporizador en una caja resistente con una operación muy simple.

Recomendado: