Novedades
  • .

Cronógrafo con Arduino

REX_007

Miembro de la Vieja Guardia
Registrado
14 Jul 2011
Mensajes
3,387
Likes recibidos
21
Ubicación
Guanajuato
Cronógrafo con Arduino

Qué tal compañeros,

Después mucho navegar en mis horas de ocio, y de ratos de lectura, me encontré con este interesante y divertido proyecto, que espero les agrade. Se trata de un cronógrafo hecho con Arduino, el cual tiene algunos materiales muy fáciles de conseguir, sin embargo, los componentes clave para que funcione (fotodiodos) hay que pedirlos por Ebay, la buena noticia es que envían a todo el mundo. Les comparto los links de compra al final, para quien le interese aventarse este proyecto...

Primero que nada de manera muy breve les explico de qué trata y cuál es el principio de funcionamiento.

Básicamente, necesitamos medir el tiempo que le toma al diábolo recorrer la distancia de un punto 'A' hasta un punto 'B' y una vez teniendo ese tiempo usar la ecuación básica para conocer velocidad (v = d/t).

3c53defa39b55b0e27c84efd658dcb8e.jpg


Para eso, necesitamos usar un micro controlador que pueda medir esos tiempos tan pequeños y nos arroje el resultado deseado.

¿Por qué Arduino? Porque es una plataforma "plug and play", que es ideal para todo tipo de personas que quieran desarrollar por su cuenta su propio proyecto y meterse un poco al mundo de la electrónica. No se requieren conocimientos tan avanzados en electrónica, no obstante si alguien de ustedes quiere modificar el código para agregar más funciones, se requiere un poco de habilidad y conocimientos en programación.

Para llevar a cabo este proyecto, necesitaremos los siguientes materiales, algunos opcionales:

- Tarjeta Arduino Uno, Nano o Mega (En este post usaré Arduino Uno).

- Display LCD 16X2 (Opcional).

- Cables Jumper Dupont Macho - Hembra.

- Tira de pines macho para el display.

- Tira de headers hembra.

- Resistencias de 330 ohms y 220 ohms .

- Capacitor de 1 uF.

- Push buttons normalmente abiertos (Opcionales).

- Protoboard (Opcional).

- 2 Foto sensores OPL550A.

- 2 LEDs infrarrojos OP240A, 890nm.

- Jack de 3.5 mm 4 polos para conectar los sensores y alimentarlos.

- Cautín.

- Soldadura.

- Termocontráctil

- Placa fenólica perforada.

Me preguntarán ¿Puedo usar fototransistores? La respuesta es NO, ya que los fototransistores comunes que venden en Steren o cualquier tienda de electrónica, son muy lentos para detectar el paso del diábolo, quizás sirvan si lo que quieren es medir la velocidad de una marcadora o pistola de airsoft, pero para medir el paso de un diábolo, no van a servir, ya que su flanco de subida para entregar un pulso que pueda leer nuestra tarjeta Arduino, es de apenas unos 12 us (microsegundos), lo cual es muy lento, requerimos sea por menos en el orden de los ns (nano segundos).

También me dirán "...pero Soft Chrono si funciona con fototransistores..." Eso es correcto, sin embargo lo que hace "Soft Chrono" es usar la entrada de audio de la PC y medir el tiempo entre los pequeñísimos picos que genera la sombra del diábolo del punto 'A' a 'B', lo cual no puede hacer la tarjeta Arduino, ya que sus entradas requieren forzosamente valores de voltaje superiores a 2.5 V para determinar que recibe un 1 lógico. Guardé un par de tarjetas que hice con fototransistores y otras de LEDs infrarrojos para probar Soft Chrono, pero eso será en otro post.

Para la placa Arduino, usaremos el sensor OPL550A, el cual tiene un tiempo de respuesta de aprox. 25 ns, que es suficientemente rápido para detectar el paso del diábolo. La otra ventaja de usar ese sensor, es que tiene un arreglo de OPAMPs el encapsulado, que permite entregar una salida lógica pase lo que pase, lo cual nos asegura que con poco que el diábolo bloquee la luz infrarroja, será capaz de arrojar una salida de 5 V para que pueda ser leída por la tarjeta Arduino y detecte que paso el diábolo.

Hardware

Procedemos a armar el Hardware tal y como se muestra en la siguiente ilustración:

2d673d1541e103e064043f95335fa072.jpg


Nota: Como no tenemos un elemento para representar el sensor que usaremos, usé el que venía en el software Fritzing para los fotodiodos, y a manera ilustrativa, los cables azul y gris serán las salidas del sensor para marcar inicio y fin de recorrido del proyectil. Las resistencias que van al display son de 330 ohms. Las que llevan los LEDs infrarrojos, pueden ser de 180 o 220 ohms.
El circuito de los fotodiodos y LEDs, va montado en la extensión de la cubierta del cañón del rifle, que más adelante mostraré.
El capacitor que se observa en la figura debe ser de 1 uF.

Para montar los sensores, mandé maquinar una extensión a la cubierta del cañón de mi rifle, esto para asegurar que el diábolo corte el haz de luz infrarroja y sea detectado su paso por el sensor.

2c9817b8883616c8dba8b8bb8e1ada24.jpg


6af64236b672b1daf6cabfb4e44ebc12.jpg


ac62273f1b1a17567c96b26a6779bf57.jpg


48c8302796e7569973703072023c4a66.jpg


b539ccc015205ee90b8664f9918af82d.jpg


ccc462f16bb4a764a0a746e6645bd1d7.jpg


49179c3d1e5680a3727aa30bc0069aaf.jpg


311048c4678419e036f67336a3c5bc7f.jpg


La idea es conectar el jack de 3.5 mm a los sensores, dos cables para alimentar los IR LEDs y los fotodiodos y los otros dos cables serán la salida de los sensores, la cual mandaremos a los pines 2 y 3 de la tarjeta Arduino.

Carga del software a la tarjeta

Una vez armado el circuito, procedemos a cargar el software.
Les recomiendo que conecten todo muy bien y evitar polaridades invertidas o cortos circuitos antes de conectar la tarjeta a la PC o dispositivo Android, de lo contrario pueden dañar el puerto USB o el centro de carga de su tablet o smartphone.

Existen dos opciones; si ustedes poseen ya sea un teléfono o tableta con Android, pueden descargar de la Playstore una app llamada Bluino Loader, la cual sirve para cargar el programa a nuestra tarjeta Arduino por medio de un cable OTG ($20 aproximadamente) en cualquier tienda de audio o electrónica. Esta opción es si optamos por usar un LCD de 16X2.

Si no queremos comprar el LCD 16x2, o si no tenemos tableta o teléfono Android para cargarlo a nuestra tarjeta, de la página de Arduino, descargamos el "Arduino Software (IDE)" gratis. Este software posee un monitor serial para visualizar los resultados desde la PC y así prescindir del LCD 16X2.
El código que usaremos es muy básico, únicamente ofrece las funciones de desplegar velocidad en fps, m/s, energía y número de disparos. En el post viene adjunto un archivo de Word con el código adjunto en él, lo copiamos y pegamos en el escritorio o en documentos para posteriormente abrirlo en el compilador Arduino.

b7200d0ed49d8b08fe3629cc8aa99443.jpg


En caso de que les arroje errores al compilarlo, por ejemplo el error "stray /302", tendrán que crear un nuevo programa y transcribirlo línea por línea, ya que a veces, cuando se copia y pega el programa desde Word, se mezclan caracteres no deseados pero invisibles en los espacios de cada línea de código; por eso nos podría marcar error.

Para probar que funcione el circuito correctamente, pueden montar unos push buttons y mandar su salida a los pines 2 y 3 de la tarjeta Arduino. Los conectan de la siguiente manera:

81ec0076c5b76436f5007eb4f0e2b635.jpg


Alimentación de la tarjeta Arduino

Finalmente, ya que tengan todo listo, lo más recomendable es alimentar el circuito a través del jack que viene a lado del conector de programación. Pueden utilizar un eliminador de corriente universal desde los 7 hasta los 12 V @ 1 A para su óptimo funcionamiento, ya que alimentar a un voltaje mayor a 12 V podría dañar la placa. Fíjense que el eliminador sea capaz de proveer 1 A de corriente.
El eliminador debe ser de DC, fíjense muy bien de no conectar uno de AC, ya que con eso dañarán de forma permanente la tarjeta.

Por último, les cuento que ya pedí mis sensores y llegan en 14 días aproximadamente. Una vez lleguen subo pruebas y termino de validar el diseño con un arma PCP, ya que lo probé con una pistola de Airsoft y funcionaba de manera correcta. Este fué el primer prototipo antes de darme cuenta que los fototransistores no servirían para los rifles de postas:

58c71246565de48ff1aba698f46f72fe.jpg


8ead18babf12c656bea9b89aaa5941d6.jpg


0bcad6573d3ef9f03848008ce1d3ba9f.jpg


Les dejo los links de compra para los sensores:
PHOTO SENSOR, LATERAL TM, BTP, Part # OPL550A 5590000658707 | eBay

5 x Led, Gaalas, Laterale Parte # Optek Technology OP240A | eBay


El código viene adjunto en un archivo de Word.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
Tapatalk Cloud - Downlaoad File CHRONY%2INO.zip
 
Última edición:
Fantastico, estuve buscando un sustituto para mi chrony y probe cuanto proyecto encontre en la red, finalmente compre un prochrono. Platicanos como te va con el y cuanto terminaste invirtiendo.
Me quedo la duda, cuantos sensores y cuantos LED´s necesitas? Tengo casi todo en mi monton de cachibaches y quien sabe, a la mejor me animo.
 
Última edición:
Amigo, muy bien su trabajo, aunque podría mandar la info , ordenes y resultado por bluetooth al cel, otra cosa, hay una tienda en Salamanca Gto que le vende tooodo tipo de sensores y muy baratos, la verdad me gustaría unirme a usted en su proyecto y probar si con armas de fuego funciona correctamente

Gracias compañero, lo que necesite, le echo un grito y le echamos los kilos en nuestros días de ocio jejejeje, yo soy de Pénjamo. Estaría súper bien probar con armas de fuego que espero si pueda funcionar, ya que muchas van a más de 2000 fps y sería súper interesante que funcione para todo.

De hecho una vez que valide el primer prototipo, será el siguiente paso, parece no muy complicado echar a andar el módulo Bluetooth, sólo faltaría desarrollar una app decente jejejeje, porque ví algunas en la Playstore simplemente para probar como si fuera monitor serial y visualizar los resultados.

Tengo la idea de hacer un diseño con el Arduino Nano, e integrarlo a la extensión que mandé fabricar para que sea más compacto, reduciría el tamaño y no necesitaríamos LCD, ya que como bien comentas, podemos mandar los datos al celular.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
Fantastico, estuve buscando un sustituto para mi chrony y probe cuanto proyecto encontre en la red, finalmente compre un prochrono. Platicanos como te va con el y cuanto terminaste invirtiendo.
Me quedo la duda, cuantos sensores y cuantos LED´s necesitas? Tengo casi todo en mi monton de cachibaches y quien sabe, a la mejor me animo.

Que tal compañero,

Entre lo que he encargado, que mucho fué por volumen para que conviniera el envío, me he gastado unos $650 aprox. incluyendo la pieza que mandé maquinar para el Mara.
El LCD lo recicle de mis proyectos de hace 10 años jejejeje, que caro no es tampoco, unos $70 pesos creo.

De los sensores que me pregunta sólo usaré 2 IR LEDs y 2 fotodiodos de los que puse en la lista de materiales. Los voy a montar en los barrenos pasados que pongo en la foto:

2cf30f3993daaf3cd5374b238a61f755.jpg


Cualquier duda, estamos pendientes.

Saludos!


Enviado desde mi Redmi Note 4 mediante Tapatalk
 
Última edición:
Yo tengo la app para controlar, no las cocinadas de playstore que maneja, si le interesa hacerlo bluetooth y tiene el modulo aquí tengo la aplicación
Muchas gracias compañero. Aún no tengo el módulo Bluetooth, pero podría compartirlo para ir mejorando el primer prototipo en cuanto consiga el módulo; será de muchísima utilidad.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
Si quiere le echo la mano, no hay problema, así se afinan detalles, ahí tengo infinidad de librerías para sensores, ahí quedo a su disposición
Compañero, donde si necesito una mano es para aprender a usar la librería MenuBackend para agregar funciones al primer prototipo.

Le agregué 3 botones pensando en mejorar el software:

56fc156058aff0058a5b127fe1c38a21.jpg


Feo, pero servirá jajajaja

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
No soy muy bueno para la electronica pero me apunto para ayudar con las partes mecanizadas, ya sabes donde buscarme
 
Hace tiempo tambien quise hacer un Cronografo con Arduino; en principio no me parecia muy complicado, asi que busque algo de informacion y encontre dos opciones bastante interesantes; una fue esta:


El tipo habia dicho que compartiria los esquematicos y el codigo, luego salio con que vendia un "kit" para hacerlo y al final que te vendia los esquematicos y codigo por 5 libras o algo asi


Casi a la par me encontre este otro:


Pero tambien, resulto que "perdio" la informacion del proyecto, espere un tiempo a ver si decia lo mismo que el otro que venderia kits o el codigo-esquematicos y nada; mejor deje de lado la idea de hacer uno.




REX_007...

Ojala siga adelante con la idea y si es asi comparta sus resultados




Una duda: ¿No consumira mas un modulo bluetooth que un display?, hay unas pantallas muy pequeñas con muy bajo consumo.
Se me hace innecesario estar duplicando salidas para monitor serial y para un display en el codigo.
 
Hace tiempo tambien quise hacer un Cronografo con Arduino; en principio no me parecia muy complicado, asi que busque algo de informacion y encontre dos opciones bastante interesantes; una fue esta:


El tipo habia dicho que compartiria los esquematicos y el codigo, luego salio con que vendia un "kit" para hacerlo y al final que te vendia los esquematicos y codigo por 5 libras o algo asi


Casi a la par me encontre este otro:


Pero tambien, resulto que "perdio" la informacion del proyecto, espere un tiempo a ver si decia lo mismo que el otro que venderia kits o el codigo-esquematicos y nada; mejor deje de lado la idea de hacer uno.




REX_007...

Ojala siga adelante con la idea y si es asi comparta sus resultados




Una duda: ¿No consumira mas un modulo bluetooth que un display?, hay unas pantallas muy pequeñas con muy bajo consumo.
Se me hace innecesario estar duplicando salidas para monitor serial y para un display en el codigo.

Lo compartí genérico para que quienes no quieran usar display, usen el monitor serial de una PC y así evitar dos códigos, de cualquier manera el código está ahí y le pueden meter mano para dejarlo a su gusto, recordemos es open source ;)


De hecho para bajar más el costo, se puede implementar con display de 7 segmentos y así hacerlo todavía más simple, es cuestión de multiplexar para optimizar las salidas del uC y hacer un código para que funcione de esa manera.

Si jala con el display, trataré de implementar las dos formas:

- Con 3 displays de 7 segmentos
- Con módulo Bluetooth

Con módulo Bluetooth, estaba pensando en meter un "power bank" compacto recargable para que dure suficiente durante una croneada.


Por cierto, ese cuate de los kits fué el que me dijo sobre ese encapsulado y me dí a la tarea de buscarlo por Amazon, pero no enviaban a México, entonces lo encontré por Ebay que si hacen envíos a México y bingo! Lo encargué.

Si todo sale bien, con gusto comparto resultados.



Saludos compañero!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
No soy muy bueno para la electronica pero me apunto para ayudar con las partes mecanizadas, ya sabes donde buscarme
Claro compa kimo, aquí los estaré actualizando y nos echamos la mano.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
Ya cargue el programa en un arduino y no tuvo ningun problema. Tambien contacte directamente al vendedor de ebay en Inglaterra para ver si nos baja el precio, los que esten interesados avisenme y vamos haciendole la lucha entre todos
 
Ya cargue el programa en un arduino y no tuvo ningun problema. Tambien contacte directamente al vendedor de ebay en Inglaterra para ver si nos baja el precio, los que esten interesados avisenme y vamos haciendole la lucha entre todos

Excelentes noticias kimoleto! A mí me van a sobrar un par de sensores para el que quiera y nos ponemos de acuerdo ya que me lleguen.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
Mouser esta aqui en Zapopan, mañana les llamo a ver si tienen las piezas en existencia
 
En AliExpress cuesta $52.41 cada pieza, y el envio sale en $56.85 hasta 22 piezas, al final saldria como a $55 la pieza; por si les interesa, el vendedor se llama "FMchip Store".


Salu2
d32a047b1249a0d5de0d6baae79f30b5.jpg
d2326e3ad9f95a59d9d338a7aecf31ff.jpg
 
Estaría de lujo que hubiera en stock aquí en México.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
De hecho para bajar más el costo, se puede implementar con display de 7 segmentos y así hacerlo todavía más simple, es cuestión de multiplexar para optimizar las salidas del uC y hacer un código para que funcione de esa manera.

Si jala con el display, trataré de implementar las dos formas:

- Con 3 displays de 7 segmentos
- Con módulo Bluetooth


Me perdi... ¿Usar de estos display de la imagen en lugar de un LCD?...

No se si haya librerias para usarlos pero, yo estuve "jugando" con esos display en arduino y esta de hueva ir encendiendo y apagando segmento por segmento para formar un numero; y eso que yo solo use un solo display haciendo que aumentara de 0,1,2,3,4,5,6,7,8,9,0 con un potenciometro :( no quiero ver como quedaria el codigo para que estuviera mostrando los resultados :(

Me parece mejor opcion un display LCD, ni son caros (eBay, AliExpress) y hasta mas sencillo; pero bueno, soluciones hay para elegir :)

c5ceebc1584708340f0bfd607acb6e1a.jpg
 
Me perdi... ¿Usar de estos display de la imagen en lugar de un LCD?...

No se si haya librerias para usarlos pero, yo estuve "jugando" con esos display en arduino y esta de hueva ir encendiendo y apagando segmento por segmento para formar un numero; y eso que yo solo use un solo display haciendo que aumentara de 0,1,2,3,4,5,6,7,8,9,0 con un potenciometro :( no quiero ver como quedaria el codigo para que estuviera mostrando los resultados :(

Me parece mejor opcion un display LCD, ni son caros (eBay, AliExpress) y hasta mas sencillo; pero bueno, soluciones hay para elegir :)

c5ceebc1584708340f0bfd607acb6e1a.jpg
En efecto serían de esos displays. Igual a mí me parece más sencillo con LCD, pero si alguien quiere bajar más el costo, mala opción no es, únicamente requiere 3 transistores para multiplexar, además de hacer el código que prenda y apague cada display en cuestión de ms, esto para engañar al ojo humano y parezca que los tres están encendidos al mismo tiempo.

Saludos!

Enviado desde mi Redmi Note 4 mediante Tapatalk
 
Arriba