
Eléctricamente, el diseño del sensor consta de solo conductores. Elemental
Sin flejes, en principio, estos son dos "botones" desde tierra hasta los puertos 2 y 3, ¡más simples que un receptor detector!

Una pequeña excursión a la historia (en cursiva): he estado involucrado en armas neumáticas durante más de 20 años, y todo este tiempo utilicé el método del péndulo balístico para medir la velocidad de la bala.
Pero apareció la escopeta - energía contra calibre magnum 4.5mm - ¡100 veces! más - ¡no use las mismas suspensiones de inicio de sesión!
En ese momento, ya me presentaron el uso de Arduino para fines pacíficos.
La base fue tomada por el diseño de Mikhail Shevchenko en dos pares de sensores ópticos.
Hizo una opción montada en el cañón, pero el retroceso incluso de la neumática de resorte después de varios disparos destruyó los LED.
Traté de armar un monstruo de marco universal con muchos sensores ópticos: FALLO.
Decidiendo simplificar, llegué a la construcción descrita, no hay otro lugar a donde ir ;-)
El principio de los sensores fue tomado de los creadores del programa Airspeed (originalmente de los años 90).

¡Solo agregue un microcontrolador (la precisión es un orden de magnitud mayor)!
Es decir, cuando funcionó, ¡simplemente se ve así!
A diferencia de las tarjetas de sonido, tuve que operar no con una señal analógica, sino con una transición de 1 lógico a 0.
La suerte fue precedida por muchos experimentos: 2 opciones para el marco, 3 tipos de "flejado" eléctrico y 4 bocetos de edición (programas).
¡Tirar del voltaje a los pines digitales (PULLUP) resultó ser la solución más vital y estable!
Como resultado, la probabilidad de cometer un error al repetir este esquema es escasa.
Todo, no hay tiempo para explicarlo más, los sensores se pueden ensamblar simplemente mirando las fotos.

Entonces, comenzamos el juego de FIFA: los materiales iniciales son un bloque de madera de 15x10x5cm, dos piezas de lámina de plástico de 15x15cm, 2.5 mm de espesor.
Con un grosor mayor del marco, los sensores pueden no funcionar, con un grosor menor, pueden acortarse con la brisa.
¡Puedes tomar un cartón corrugado de 3 mm, balsa o incluso hacer marcos con reglas comunes!
Lo más importante para recordar, 4 mm de grosor, ya es mucho, ¡deja de funcionar a las seis!
¿El tamaño de la "ventana" en el marco - 9x9cm (originalmente diez) es pequeño?
Si no puede entrar en los diez primeros, en sentido literal y figurado, ¡es demasiado pronto para hablar sobre la necesidad de un cronómetro!
A continuación, cortamos trozos de papel de aluminio para alimentos de 11x14 cm y, con un lápiz adhesivo normal, lo fijamos con cuidado a los marcos en ambos lados.
Sujetamos este último a la base (barra) para que la distancia entre ellos sea de 10 cm (la base del cronógrafo incrustada en el boceto).
Al mismo tiempo, la viga en sí debería tener ya 100 mm. al grosor de un marco (de hecho, la madera como resultado del secado en el almacén disminuye de tamaño ;-)
Los marcos en forma de U están hechos por razones de "reutilización" de un "conjunto" de papel de aluminio: después de cada disparo con una regla, dibujamos entre pares de placas para abrir el contacto en el área de los agujeros de bala.
Para conveniencia y simplicidad de asegurar el contacto con la lámina, se hicieron clips basados en pinzas para la ropa:

Tomé un par trenzado multinúcleo como conductores: estañé todos los extremos (¡recordamos que el cobre y el aluminio no están conectados directamente!)
Entonces lo descubrimos.
Ahora pasemos al microcontrolador: todo se estaba depurando en el arduino Uno (Atmega-328) 16Mhz + LCD Keypad Shield.
Entonces, el texto del boceto (programa):
// #include <LiquidCrystal.h> //! - !!! LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // : // unsigned int data = 0; // volatile unsigned long int time1 = 0; volatile unsigned long int time2 = 0; void setup() { // LCD lcd.begin(16, 2); // attachInterrupt(0, sensor_1, FALLING); attachInterrupt(1, sensor_2, FALLING); // - pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); } void loop() { lcd.setCursor(0, 0); lcd.print("CHRON 100mm base"); // nogood: // - - # CHRON if ( digitalRead(2) == LOW ) { lcd.setCursor(5, 0); lcd.print("#"); goto nogood; } else { lcd.setCursor(5, 0); lcd.print(" "); } // - - # base if ( digitalRead(3) == LOW ) { lcd.setCursor(11, 0); lcd.print("#"); goto nogood; } else { lcd.setCursor(11, 0); lcd.print(" "); } lcd.setCursor(0, 1); lcd.print("Speed "); lcd.setCursor(6, 1); lcd.print(data); lcd.setCursor(13, 1); lcd.print("M/S"); delay(100); while ( time1 == 0 && time2 == 0 ) ; delay(100); if ( time1 != 0 && time2 != 0 && time2 > time1 ) { data = 0.1 / ((time2 - time1) / 1000000.0); // v = s / t } // Serial.println(data) // - LiquidCrystal (lcd), // - Serial.println - Arduino IDE lcd.setCursor(6, 1); lcd.print(data); time1 = 0; time2 = 0; } void sensor_1() { if ( time1 == 0 ) { time1 = micros(); } } void sensor_2() { if ( time2 == 0 ) { time2 = micros(); } }
En resumen, el principio de funcionamiento: el comando PULLUP en los pines 2,3 activa el voltaje de extracción (con resistencias internas de 20-50 kOhm)
Un tramo de bala produce un cortocircuito detectado por interrupciones (sensor FALLING), como los comandos arduino más rápidos.
Conociendo la diferencia horaria y la distancia entre los sensores, se calcula la velocidad de la bala.
¡IMPORTANTE orden de sensores, el primero, al pin 2!
Eso es todo.

¡Alguien objetará que la energía se gasta en romper la lámina, y la velocidad real de la bala será mayor!
Al principio, ¡todo parecía ser así!
En comparación con la velocidad medida hace un año y medio por un dispositivo con sensores ópticos (280 m / s), ¡el dispositivo en la lámina produjo 260!
Energéticamente: ¡son 22 julios frente a 19! - pérdida de inmediato treshki!
Pero tan pronto como reduje la base a 100 mm, la "lámina" comenzó a mostrar el resultado correcto, ¡por qué, un misterio!
Las balas utilizaron un Luman FT 0.56gram, dispositivos basados en el mismo microcontrolador, la base en ambos casos es de 100 mm, un rifle

Ahora, sobre la estabilidad de las lecturas, de 5 disparos, el "lanzamiento" es solo uno a la vez, los números de los otros están de acuerdo.
Sí, y por último, pregunte: ¿por qué en la era de la electrónica reinventar la rueda?
Todo es muy simple: ¡la respuesta es una escopeta!
Al medir la velocidad de una carga a la salida, no es un problema, ¡cualquier dispositivo funcionará!
Pero a distancia, el disparo tiene la capacidad de dispersarse (el objetivo estándar para comprobar la pantalla es 75x75cm).
Y ahora imagine la opción de medir la velocidad de carga a 35 metros: si incluso un dispositivo chino por $ 50 se desgarra, será insultante.
La salida es “reservar” la caja y los sensores (las placas de 40 mm son suficientes), o usar los desechables.
Hay qué y por qué medir: no muy lejos está la introducción de una prohibición de la caza de plomo en los cuerpos de agua (después de Europa), será necesario usar perdigones de acero, en las tiendas habrá líneas para tales cartuchos (o un alto precio).
Cuando se recogen los cartuchos, no quiero usar los métodos anticuados para evaluar la efectividad de entrar en una tabla de pino seco.
Disparos bien dirigidos a ti y a los cazadores: ¡no Pooh, no Feather!
Hasta que nos volvamos a encontrar en Habr, Andrey.