Tabla de contenido:

Pimp My Cam: 14 pasos (con imágenes)
Pimp My Cam: 14 pasos (con imágenes)

Video: Pimp My Cam: 14 pasos (con imágenes)

Video: Pimp My Cam: 14 pasos (con imágenes)
Video: Con estos zapatos es posible flotar🤯😱🤩 2024, Noviembre
Anonim
Proxeneta mi cam
Proxeneta mi cam

Aquí es de donde viene este proyecto.

Hace un tiempo pensé en filmar algunos timelapses. "¿Cómo?" ¿Me pregunté a mí mismo? La primera respuesta fue "Bueno … simplemente filma algo y lo acelera y listo". Pero, ¿es realmente así de simple? Primero, quiero usar mi DSLR para eso, y mi Nikon D3100 tiene un límite de tiempo de 10 minutos para filmar videos. En segundo lugar, incluso si tuviera una cámara sin límite de tiempo para filmar videos, ¿qué pasa si quiero hacer un lapso de tiempo realmente largo, como 12 horas? Hago un video de 12 horas de 1080p. Dudo que la batería dure tanto tiempo y no es muy práctico, ¿verdad? Muy bien, cruzando "idea de filmar video". Bueno, luego están las fotos. Tomar una foto con la cámara a un cierto intervalo y terminar con cientos de imágenes que luego proceso a través del software para hacer un video …?

Parecía una buena idea, así que decidí intentarlo. Así que terminé queriendo hacer un dispositivo en el que pueda ingresar un período de tiempo y, en función de ese período, dispararía mi cámara constantemente. Y ya que estamos en eso, ¿por qué no agregar algunas otras cosas como disparador de movimiento, etc.?

Paso 1: Pero … ¿Cómo?

¿Pero cómo?
¿Pero cómo?

¿CÓMO? es nuestra siguiente pregunta a la que le falta una respuesta. Debido a la sincronización, el disparo, los sensores y cosas por el estilo, no será de extrañar que lo primero que me vino a la mente fuera, por supuesto, un Arduino. De acuerdo, pero aún así, debemos aprender a activar el obturador de nuestra cámara. Hm.. ¿Servo pegado en caliente a la cámara del cuerpo? Absolutamente no, queremos que esto sea silencioso y energéticamente eficiente. Energía eficiente, ¿por qué? Como quiero hacerlo portátil y colocarle una batería, no estaré siempre cerca de un enchufe. Entonces, ¿cómo lo activamos entonces? En realidad, es bastante simple.

Nikon ya sabía que vas a querer un control remoto y otros accesorios y dijeron "está bien, les daremos todo eso, pero haremos un puerto especial para que podamos ganar más dinero con esos accesorios", la culpa es tuya Nikon. Ese puerto se llama (en mi caso) MC-DC2, y la forma más barata de conseguirlo es comprar un disparador remoto en eBay por 2-3 $ y simplemente usar el cable.

* Algunas otras cámaras, como Canon, tienen un conector para auriculares simple de 3.5 mm hecho para el mismo uso, por lo que puede usar algún cable de parlantes / auriculares antiguos.

Paso 2: aprender a disparar la cámara

Image
Image
Maneras de desencadenar
Maneras de desencadenar

De todos modos, aquí está el trato, el puerto tendrá 3 conexiones que serán de nuestro interés (Tierra, Enfoque y Obturador) y las tendrás en el extremo de tu cable del obturador remoto recién comprado que acabas de destruir. Esas tres conexiones son importantes para nosotros porque si hacemos un cortocircuito en el suelo y el enfoque, la cámara enfocará como si estuvieras presionando el botón de enfoque y luego, mientras permanece esa conexión, puedes acortar el suelo y el obturador y la cámara tomará una foto. como si presionara el botón del obturador de la cámara.

Puede probar esto cortando literalmente los cables vivos en el extremo del cable para identificar qué cable es cuál. Una vez hecho esto, para facilitar la identificación, los colorearemos así:

Tierra = NEGRO; Foco = BLANCO; Obturador = ROJO.

Muy bien, ahora tenemos que enseñarle al Arduino a hacer esto por nosotros.

Paso 3: formas de activar

Image
Image

Lo más simple que podemos decirle a un Arduino que envíe al mundo exterior es su señal de salida digital. Esta señal puede ser ALTA ('1' lógico) o BAJA ('0' lógico), de ahí el nombre "digital", o cuando se convierte en su significado central: 5V para un ALTO lógico y 0V para un BAJO lógico.

¿Qué vamos a hacer con estas señales digitales? No podemos simplemente conectarlos a la cámara y esperar que la cámara sepa lo que queremos. Como hemos visto, necesitamos acortar las conexiones de la cámara para que reaccione, por lo que necesitamos usar las señales digitales del Arduino para impulsar algunos componentes que pueden cortocircuitar sus terminales dependiendo de esta señal eléctrica que le enviemos.. * De la forma en que lo describí, podrías estar pensando "¡Ah, relés!" pero no no El relé haría el trabajo, pero estamos lidiando con corrientes tan pequeñas que podemos usar fácilmente la magia negra de los semiconductores.

El primer componente que probaré es un optoacoplador. Los he visto implementados más para esto y probablemente sea la mejor solución. El optoacoplador es un componente eléctrico con el que controlas el circuito de salida mientras el circuito de entrada está completamente aislado de él. Esto se logra transmitiendo información por luz, el circuito de entrada enciende un LED y el fototransistor en la salida cambia en consecuencia.

Entonces usaremos el optoacoplador de esta manera: le decimos a nuestro Arduino que envíe un ALTO digital en uno si se trata de pines digitales, esa señal es prácticamente de 5V, lo que impulsará el LED dentro del optoacoplador y el fototransistor dentro de él hará un "cortocircuito". sus terminales de salida cuando detecta esa luz, y viceversa, "separará" sus terminales ya que no hay luz del LED cuando enviamos un LOW digital a través del Arduino.

Prácticamente, esto significa: uno de los pines digitales del Arduino está conectado al pin ANODO del optoacoplador, el GND de Arduino está conectado al CATHODE, el GND de la cámara está conectado al EMISOR y el ENFOQUE (o OBTURADOR) al COLECTOR. Consulte la hoja de datos del optoacoplador que está utilizando para encontrar estos pines en el suyo. Estoy usando 4N35 para que pueda seguir mi esquema a ciegas si realmente no le importa lo que sucede dentro del optoacoplador. No hace falta decir que necesitaremos dos de estos, ya que necesitamos controlar tanto el ENFOQUE como el OBTURADOR de la cámara.

Ya que vimos cómo funciona eso, con un fototransistor en la salida, ¿por qué no lo intentamos únicamente con un simple transistor NPN? Esta vez, llevaremos la señal digital directamente (a través de una resistencia) a la base del transistor y conectaremos tanto el GND de la cámara como el de Arduino al emisor y el enfoque / obturador de la cámara al colector del transistor.

Nuevamente, necesitaremos dos de estos ya que estamos controlando dos señales. Estoy usando el BC547B y básicamente puedes usar cualquier NPN para esto, ya que la corriente que estamos controlando es de un miliamperio.

Ambos componentes funcionarán, pero elegir el optoacoplador es probablemente la mejor idea porque es más seguro. Elija los transistores solo si sabe lo que está haciendo.

Paso 4: escribir el código para la activación

Image
Image
Escribir el código para la activación
Escribir el código para la activación

Como dijimos antes, usaremos los pines digitales del Arduino para la señalización. El Arduino puede usar estos para leer datos de él o escribir en él, por lo que lo primero que debemos hacer es especificar en la función setup () que usaremos dos de los pines digitales de Arduino para la salida de la siguiente manera:

pinMode (FOCUS_PIN, SALIDA);

pinMode (SHUTTER_PIN, SALIDA);

donde FOCUS_PIN y SHUTTER_PIN pueden definirse con "#define NAME value" o como un int antes de la función setup () porque puede cambiar el pin para que sea más fácil cambiar el valor en un solo lugar en lugar de todo el código después.

Lo siguiente que haremos es escribir una función trigger () que hará exactamente eso cuando se ejecute. Solo incluiré una imagen con el código. Todo lo que necesita saber es que primero mantenemos FOCUS_PIN en ALTO durante un cierto período de tiempo porque tenemos que esperar a que la cámara se enfoque en el sujeto al que apuntamos y luego por un momento (mientras FOCUS_PIN todavía es ALTO) coloque SHUTTER_PIN en HIGH solo para tomar la foto.

También incluí la capacidad de omitir el enfoque porque no será necesario si estamos filmando un timelapse de algo que no cambia su distancia de la cámara a través del tiempo.

Paso 5: intervalo de clase {};

Image
Image
Manipulando el intervalo a través de Arduino
Manipulando el intervalo a través de Arduino

Ahora que tenemos que activar la cámara, necesitamos convertir esto en un intervalómetro agregando la funcionalidad de manipular el período de tiempo entre dos tomas. Para que se haga una idea de lo que estamos haciendo, aquí hay un código primitivo para demostrar la funcionalidad que queremos:

bucle vacío () {

retraso (intervalo); desencadenar(); }

Quiero poder cambiar este intervalo de, digamos, 5 segundos hasta quizás 20-30 minutos. Y aquí está el problema, si quiero cambiarlo de 5s a 16s o algo intermedio, usaré un incremento de 1s, donde para cada una de mis solicitudes para aumentar el intervalo, el intervalo se incrementaría en 1s. Eso es genial, pero ¿y si quiero pasar de 5 segundos a 5 minutos? Me llevaría 295 solicitudes a eso en incrementos de 1 segundo, por lo que obviamente necesito aumentar el valor de incremento a algo más grande, y necesito definir en qué valor de intervalo exacto (umbral) cambiar el incremento. Implementé esto:

5s-60s: incremento de 1s; 60s-300s: incremento de 10s; 300s-3600s: incremento de 60s;

pero escribí esta clase para que sea ajustable para que pueda definir sus propios umbrales e incrementos (todo está comentado en el archivo.h para que pueda saber dónde cambiar qué valores).

El ejemplo que he dado de manipular el intervalo obviamente se hace en una PC, ahora tenemos que moverlo al Arduino. Toda esta clase, Intervalo, se coloca dentro de un archivo de encabezado que se usa para almacenar declaraciones y definiciones (no realmente, pero se puede hacer en este ejemplo sin causar ningún daño) de nuestra clase / funciones. Para introducir este archivo de encabezado en nuestro código arduino usamos el "#include" Interval.h "" (los archivos deben estar en el mismo directorio), lo que asegura que podamos usar las funciones definidas en el archivo de encabezado en nuestro código principal.

Paso 6: Manipulación del intervalo a través de Arduino

Image
Image
Manipulando el intervalo a través de Arduino
Manipulando el intervalo a través de Arduino
Manipular el intervalo a través de Arduino
Manipular el intervalo a través de Arduino

Ahora queremos poder cambiar el valor del intervalo, ya sea aumentarlo o disminuirlo. Así que son dos cosas, así que usaremos dos señales digitales que serán controladas por dos botones. Leeremos repetidamente los valores en los pines digitales que asignamos a los botones y analizaremos esos valores en la función checkButtons (int, int); lo que aumentará el intervalo si se presiona el botón "arriba" y disminuirá el intervalo si el botón "abajo". Además, si se presionan ambos botones, cambiará el valor del enfoque variable que controla si enfocar o no al disparar.

Parte del código ((millis () - prevBtnPress)> = debounceTime) se usa para eliminar rebotes. De la forma en que lo escribí, significa que registro la primera pulsación del botón con la variable booleana btnPressed y recuerdo la hora en que sucedió. Luego espero una cierta cantidad de tiempo (debounceTime) y si el botón aún está presionado reacciono. También hace una "pausa" entre cada pulsación del botón para evitar pulsaciones múltiples donde no hay ninguna.

Y finalmente, con:

if ((millis () - prevTrigger) / 1000> = intervalo.getVal ()) {

prevTrigger = millis (); desencadenar(); }

Primero verificamos si la cantidad de tiempo entre el último disparo (prevTrigger) y el tiempo actual (milis ()) (todo está dividido por 1000 porque está en milisegundos y el intervalo en segundos) es igual o mayor que el intervalo. queramos, y si es así, recordamos la hora actual como la última vez que activamos la cámara y luego la activamos.

Con esto completo, básicamente hicimos un intervalómetro, pero estamos lejos de terminar. Todavía no vemos el valor del intervalómetro. Solo se muestra en el Monitor de serie y no estaremos siempre cerca de una computadora, así que ahora implementaremos algo que nos mostrará el intervalo a medida que lo cambiemos.

Paso 7: Visualización del intervalo

Image
Image
Visualización del intervalo
Visualización del intervalo
Visualización del intervalo
Visualización del intervalo
Visualización del intervalo
Visualización del intervalo

Aquí es donde presentamos la pantalla. Usé el módulo de 4 dígitos que es impulsado por TM1637 porque necesito usarlo solo para mostrar el tiempo y nada más. La forma más fácil de usar estos módulos hechos para un Arduino es usar bibliotecas ya creadas para ellos. En el sitio de Arduino hay una página que describe el chip TM1673 y un enlace a una biblioteca sugerida. Descargué esta biblioteca y hay dos formas de introducir estas bibliotecas en el IDE de Arduino:

  1. desde el software Arduino, vaya a Sketch> Incluir biblioteca> Agregar biblioteca. ZIP y busque el archivo.zip que acaba de descargar
  2. puede hacer lo que Arduino hace manualmente y simplemente descomprimir la biblioteca en la carpeta en la que Arduino almacena las bibliotecas, en Windows: C: / Users / Username / Documents / Arduino / libraries \.

Una vez que haya incluido la biblioteca, debe leer el archivo "Léame" en el que encontrará el resumen de lo que hacen las diversas funciones. A veces, esto no es suficiente, por lo que querrá profundizar un poco más y explorar los archivos de encabezado en los que puede ver cómo se implementan las funciones y qué requieren como argumentos de entrada. Y, por supuesto, la mejor manera de tener una idea de lo que una biblioteca es capaz de hacer, generalmente ofrece un ejemplo que puede ejecutar desde el software Arduino a través de Archivo> Ejemplos> Nombre de biblioteca> Nombre de ejemplo. Esta biblioteca ofrece un ejemplo que le recomiendo que ejecute en su pantalla solo para ver si su pantalla funciona correctamente y luego lo animo a modificar el código que ve en el ejemplo y ver por sí mismo lo que hace cada función y cómo reacciona la pantalla eso. Lo hice y esto es lo que descubrí:

utiliza 4 enteros sin signo de 8 bits para cada dígito (0bB7, B6, B5, B4, B3, B2, B1, B0). Y cada uno de esos bits B6-B0 se usa para cada segmento de un cierto dígito y si el bit es 1, el segmento controlado por él se ilumina. Estos enteros se almacenan en una matriz llamada datos . La configuración de estos bits en la pantalla se logra mediante display.setSegments (data); o, naturalmente, puede acceder a cualquiera de los dígitos en particular y configurarlos manualmente (datos [0] = 0b01111001) o puede usar la función encodeDigit (int); y convierta el dígito que lo envía en los bits correspondientes (datos [0] = display.encodeDigit (3));. El bit B7 es utilizado solo por el segundo dígito, o dato [1], para activar los dos puntos.

Dado que escribí las funciones en la clase INTERVAL que puedo obtener ciertos dígitos del intervalo en la forma de M1M0: S1S0, donde M representa minutos y S para segundos, es natural que use encodeDigitFunction (int); para mostrar el intervalo así:

displayInterval () {

datos [0] = display.encodeDigit (intervalo.getM1 ()); datos [1] = 0x80 | display.encodeDigit (intervalo.getM0 ()); datos [2] = display.encodeDigit (intervalo.getS1 ()); datos [3] = display.encodeDigit (intervalo.getS0 ()); display.setSegments (datos); }

Ahora, en cualquier momento que necesite mostrar el intervalo en la pantalla, puedo llamar a la función displayInterval ().

* Tenga en cuenta el "0x80 |…" en los datos [1]. Se utiliza para asegurar que el bit B7 de los datos [1] sea siempre 1, por lo que los dos puntos se iluminan.

Lo último sobre la pantalla, el consumo de energía. Puede que no sea de gran importancia ya que no lo mantendremos encendido durante mucho tiempo, pero si está interesado en hacer esto aún más amigable con la batería, considere reducir el brillo de la pantalla, ya que consume 3 veces más corriente con el brillo máximo. que en el más bajo.

Paso 8: Poniéndolo todo junto

Poniendolo todo junto
Poniendolo todo junto

Sabemos cómo disparar la cámara, cómo manipular el intervalo y cómo mostrar ese mismo intervalo en una pantalla. Ahora solo necesitamos fusionar todas estas cosas. Comenzaremos, por supuesto, desde la función loop (). Comprobaremos constantemente si hay pulsaciones de botones y reaccionaremos en consecuencia con los checkButtons (int, int) y cambiaremos el intervalo en consecuencia y mostraremos el intervalo cambiado. También en el loop () estaremos comprobando constantemente si ha pasado suficiente tiempo desde la última activación o pulsación del botón y llamaremos a la función trigger () si es necesario. En aras de un menor consumo de energía, apagaremos la pantalla después de un tiempo.

Agregué un led bicolor, (rojo y verde, cátodo común) que se iluminará en verde mientras el disparador () y se iluminará en rojo junto con la pantalla si el enfoque está encendido y permanecerá apagado si el enfoque es apagado.

Además, migraremos a un Arduino aún más pequeño, Pro Mini.

Paso 9: agregar una última cosa

Añadiendo una última cosa
Añadiendo una última cosa
Añadiendo una última cosa
Añadiendo una última cosa
Añadiendo una última cosa
Añadiendo una última cosa

Hasta ahora … solo hemos creado un intervalo. Útil, pero podemos hacerlo mejor.

Esto es lo que tenía en mente: el Intervalómetro hace su función por defecto, EXCEPTO cuando conectamos algún tipo de interruptor / sensor externo que luego detiene el intervalómetro y responde a la entrada del interruptor / sensor. Llamémoslo sensor, no necesariamente será un sensor que esté conectado, pero me referiré a él como eso.

En primer lugar, ¿cómo detectamos que hemos conectado el sensor?

Los sensores que usaremos / fabricaremos necesitarán tres cables que los conecten al arduino (Vcc, GND, Signal). Eso significa que podemos usar un conector de audio de 3,5 mm como conector de entrada para el sensor. ¿Y cómo soluciona eso nuestro problema? Bueno, hay tipos de clavijas de 3,5 mm "con un interruptor" que tienen clavijas que están en cortocircuito con las clavijas del conector si no hay un conector macho en ellas, y se desconectan cuando hay un conector presente. Eso significa que tenemos la información basada en la presencia del sensor. Usaré la resistencia desplegable como se muestra (el pin digital leerá HIGH sin el sensor y LOW con el sensor conectado) en la imagen o también puede conectar el pin digital al pin del conector que normalmente es conectado a tierra y defina ese pin digital como INPUT_PULLUP, funcionará de cualquier manera. Así que ahora tenemos que modificar nuestro código para que haga todo lo que hemos escrito hasta ahora solo si el sensor no está presente, o cuando el pin digital verifica que sea ALTO. También lo modifiqué para que muestre "SENS" en la pantalla en lugar del intervalo que es inútil en este modo, pero el enfoque sigue siendo relevante para nosotros, mantendremos la funcionalidad de alternar el enfoque con la presión de ambos botones y mostrando el estado de enfoque a través del led rojo.

¿Qué hace realmente el sensor?

Todo lo que necesita hacer es poner 5V en su pin de señal cuando queremos disparar la cámara. Eso significa que necesitaremos otro pin digital del Arduino para verificar el estado de este pin y cuando se registre ALTO, todo lo que necesita hacer es llamar a la función trigger () y la cámara tomará una foto. El ejemplo más sencillo, y el que usaremos para probar si esto funciona, es un botón simple con una resistencia desplegable. Conecte el botón entre el Vcc del sensor y el pin de señal y agregue una resistencia entre el pin de señal y GND, de esta manera el pin de señal estará en GND cuando no se presione el botón ya que no hay corriente fluyendo a través de la resistencia, y cuando Cuando se presiona el botón, colocamos el pin de señal directamente en ALTO y el Arduino lo lee y dispara la cámara.

Con esto concluimos escribiendo el código.

* Me gustaría señalar algunos problemas que tuve con las tomas de audio que utilicé. Al insertar el conector macho en el conector, el GND y cualquiera de los otros dos pines a veces se corto. Esto sucede instantáneamente y solo mientras se coloca el conector, pero aún es lo suficientemente largo para que Arduino registre un corto para que Arduino simplemente se reinicie. Esto no sucede tan a menudo, pero aún puede ser un peligro y existe la posibilidad de destruir el Arduino, así que evite los conectores que usé.

Paso 10: contener el desorden

Conteniendo el lío
Conteniendo el lío
Conteniendo el lío
Conteniendo el lío
Conteniendo el lío
Conteniendo el lío
Conteniendo el lío
Conteniendo el lío

Puede ver en las imágenes que la placa de pruebas se está desordenando y hemos terminado, por lo que debemos transferir todo a una placa de circuito impreso / PCB. Opté por PCB porque creo que haré más de estos para poder reproducirlos fácilmente.

Usé Eagle para diseñar la PCB y encontré diseños para todas las piezas que usé. Hay una pequeña cosa en mi diseño que desearía no haber hecho y es una almohadilla de alambre para el Vcc de la pantalla. Lo vi demasiado tarde y no quería arruinar lo que diseñé anteriormente y tomé la forma perezosa de agregar almohadillas de alambre y luego tener que agregar cables a estas conexiones en lugar de trazas de cobre, así que tenga en cuenta que si está utilizando el diseño de la mina.

La placa Arduino y la pantalla están conectadas a la PCB a través de encabezados de clavija hembra en lugar de soldarse directamente a la PCB, por razones evidentes. De esta manera, hay mucho espacio para otros componentes debajo de la pantalla para otros componentes como resistencias, transistores e incluso el conector de audio.

He puesto los micro pulsadores que, según el diseño, deben soldarse directamente, pero también puede usar los orificios para los encabezados de clavija hembra y conectar los botones con cable si los desea montados en la carcasa y no en la PCB.

También colocaremos otro conector de audio hembra para enchufar el cable que se conecta a la cámara. De esta forma la placa se vuelve más versátil ya que así podremos conectarnos a otras cámaras con otros conectores.

Paso 11: Sens0rs

Image
Image
Sens0rs
Sens0rs

Consideremos formas de implementar el sensor.

Por lo tanto, el sensor tendrá un voltaje de suministro de 5 V, y deberá poder proporcionar un ALTO digital en su pin de señal cuando queramos activar la cámara. Lo primero que me vino a la mente es un sensor de movimiento, PIR para ser específico. Hay módulos vendidos para Arduino que tienen este sensor y hacen exactamente lo que queremos. Están alimentados a 5V y tienen un pin de salida en el que ponen 5V cuando se activan, solo necesitamos conectar sus pines a un conector de audio de 3.5 mm y podemos conectarlos directamente a la placa. Sin embargo, una cosa a tener en cuenta es que este sensor necesita tiempo para calentarse y comenzar a funcionar correctamente, así que no espere que funcione correctamente tan pronto como lo conecte, déle algo de tiempo y luego configúrelo y lo que sea que esté vivo entre en su rango activará la cámara.

Ya que estamos pensando en la dirección de las placas de sensores Arduino ya fabricadas, me viene a la mente otra, el sonido. Estas placas generalmente se fabrican de tal manera que tienen un pin que emite el valor analógico del sonido que capta y otro, digital, que emite un ALTO lógico si el sonido que capta cruza un cierto nivel. Podemos establecer este nivel de modo que el sensor ignore nuestra voz pero registre un aplauso. De esa manera, cada vez que aplaude, dispara la cámara.

Paso 12: PoweeEeEer

PoweeEeEer
PoweeEeEer
PoweeEeEer
PoweeEeEer

Creo que la forma más fácil de alimentar esto es con un banco de energía, y no externamente. Mantendremos la funcionalidad de cargar nuestro teléfono o lo que sea y controlaremos el flujo de corriente a la placa a través de un interruptor. Ubicaremos los pines del conector USB de salida en la placa de circuito en el banco de energía que son GND y Vcc (5V) y soldaremos los cables directamente en ellos y desde allí en nuestra placa.

Paso 13: Recinto … Un poco

Recinto.. Un poco
Recinto.. Un poco
Recinto.. Un poco
Recinto.. Un poco
Recinto.. Un poco
Recinto.. Un poco

Realmente luché con esto. Cuando compré la caja en la que quería colocar la PCB existente, me di cuenta de que no hay una buena manera de ajustar todo como quería y luego decidí diseñar una nueva PCB, esta vez con optoacopladores. Quería colocar la PCB justo debajo del lado en el que perforaría agujeros para ciertos componentes que deben verse / tocarse. Para que esto funcione, necesitaría soldar la pantalla y Arduino directamente a la placa, sin enchufes ni encabezados, y ahí es donde radica el primer problema. Fue absolutamente horrible solucionar cualquier problema, ya que no estaba listo para soldarlo de inmediato hasta que probé que todo funcionaba, y realmente no pude probar nada porque no podía soldarlo, etc. no hagas esto. Problema número dos, hacer agujeros en la caja. Supongo que tomé medidas incorrectas porque ninguno de los orificios de la carcasa estaba alineado con los componentes de la PCB y tuve que agrandarlos y los botones estaban demasiado altos en la PCB y siempre se presionarían cuando coloco la placa en su lugar. aay como quería las tomas de audio en el lateral, tuve que agrandar esos orificios también para que encajaran en las tomas primero y luego bajar la placa para que salieran la pantalla y los botones … el resultado es terrible.

Hice que los terribles agujeros fueran menos terribles cubriendo la parte superior con un cartón delgado en el que corté agujeros más razonables para los componentes y … sigue siendo terrible, pero creo que es más agradable a la vista.

Veredicto, le sugiero que haga esto comprando componentes que se montan en el gabinete y no directamente en la PCB. De esa manera, tendrá más libertad en la colocación de los componentes y menos lugares en los que cometer errores.

Paso 14: Aleta

Image
Image
Aleta
Aleta

Ya terminé, pero aquí hay algo que hubiera hecho de manera diferente:

Utilice conectores de audio de 3,5 mm de mejor calidad. Los que usé tienden a cortocircuitar los terminales al insertar o extraer el conector, lo que resulta en un cortocircuito del suministro y restablecer el Arduino o simplemente produce disparadores falsos. He dicho esto en el paso anterior, pero lo diré de nuevo … no suelde la placa Arduino sin encabezados / zócalo, solo hace que cualquier tipo de solución de problemas o carga de código nuevo y así sucesivamente sea mucho más difícil. También creo que hubiera sido útil tener un LED que indicara que la cosa está encendida porque a menudo no puedo decir sin presionar el botón ya que la pantalla se apaga. Y lo último, una función de pausa. Me imagino que será útil cuando, por ejemplo, al enchufar el sensor PIR porque necesita tiempo para calentarse, o simplemente cuando lo mueves no quieres que se dispare, así que puedes pausar todo, pero también puedes simplemente girar fuera de la cámara así que … lo que sea.

Otra cosa interesante es colocarlo con velcro en el trípode, ya que es más probable que se use allí.

No dudes en preguntar cualquier cosa sobre este proyecto en los comentarios y me encantaría saber si lo construiste y cómo te resultó.

Recomendado: