
Eletricamente, o design do sensor consiste apenas em condutores. Elementar.
Sem cintas - em princípio - estes são dois "botões" do terra às portas 2 e 3, mais simples que um receptor detector!

Uma pequena digressão na história (em itálico) - estou envolvida em armas pneumáticas há mais de 20 anos e, durante todo esse tempo, usei o método do pêndulo balístico para medir a velocidade de uma bala.
Mas a espingarda apareceu - energia contra magnum 4,5 mm calibre - 100 vezes !!! mais - não use o mesmo logon em suspensões!
Naquela época, eu já havia sido apresentado ao uso do Arduino para fins pacíficos._
A base foi tomada pelo design de Mikhail Shevchenko em dois pares de sensores ópticos.
Ele fez uma opção montada no cano, mas o retrocesso de pneumáticos de mola mesmo depois de vários disparos destruiu os LEDs.
Tentei montar um monstro de quadro universal com muitos sensores ópticos - FAIL.
Decidindo simplificar, cheguei à construção descrita, não há mais para onde ir ;-)
O princípio dos sensores foi emprestado dos criadores do programa Airspeed (originalmente dos anos 90).

Basta adicionar um microcontrolador (a precisão é uma ordem de magnitude maior)!
Ou seja, quando funcionou, parece que sim!
Diferentemente das placas de som, eu tinha que operar não com um sinal analógico, mas com uma transição de 1 para 0 lógico.
A sorte foi precedida por muitos experimentos - 2 opções para a estrutura, 3 tipos de "cintas" elétricas e 4 esboços de edição (programas).
Puxar a tensão para os pinos digitais (PULLUP) acabou sendo a solução mais vital e estável!
Como resultado, a probabilidade de cometer um erro ao repetir esse esquema é escassa!
Tudo, não há tempo para explicar mais, os sensores podem ser montados simplesmente olhando as fotos.

Então, começamos o jogo da FIFA - os materiais iniciais são um bloco de madeira de 15x10x5cm, dois pedaços de folha de plástico de 15x15cm, com 2,5 mm de espessura.
Em uma espessura maior do quadro, os sensores podem não funcionar, em uma espessura menor, eles podem ser encurtados por uma brisa.
Você pode pegar papelão ondulado de 3 mm, balsa ou até fazer molduras com réguas comuns!
A principal coisa a lembrar - 4mm de espessura - já é muito, deixa de funcionar às seis!
O tamanho da "janela" na estrutura - 9x9cm (originalmente dez) é pequeno?
Se você não consegue entrar no top dez, no sentido literal e figurativo, é muito cedo para falar sobre a necessidade de um cronômetro!
Em seguida, recortamos pedaços de papel alumínio 11x14 cm e, usando um lápis adesivo comum, prenda cuidadosamente as molduras dos dois lados.
Fixamos o último na base (barra) para que a distância entre eles seja de 10 cm (a base do cronógrafo embutida no desenho).
Ao mesmo tempo, o próprio feixe já deve ter 100 mm. para a espessura de um quadro (de fato, a madeira resultante da secagem no próprio armazém diminui de tamanho ;-)
As armações em forma de U são feitas por razões de "reutilização" de um "conjunto" de papel alumínio - após cada disparo com uma régua, desenhamos entre pares de placas para abrir o contato na área dos buracos de bala.
Por conveniência e simplicidade de garantir o contato com a película, foram feitos clipes baseados em prendedores de roupa:

Tomei um par trançado multicore como condutores - estanhei todas as extremidades (lembramos que cobre e alumínio não estão diretamente conectados!)
Então nós descobrimos isso.
Agora vamos para o microcontrolador - tudo estava depurando no arduino Uno (Atmega-328) 16Mhz + LCD Keypad Shield.
Então, o texto do esboço (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(); } }
Em resumo, o princípio de operação - o comando PULLUP nos pinos 2,3 ativa a tensão de pull-up (com resistores internos de 20 a 50 kOhm)
Um período de bala produz um curto-circuito detectado por interrupções (sensor FALLING), como os comandos mais rápidos do arduino.
Sabendo a diferença horária e a distância entre os sensores, a velocidade da bala é calculada.
IMPORTANTE ordem dos sensores - o primeiro - ao pino 2!
Só isso.

Alguém objetará que a energia é gasta em romper a folha, e a velocidade real da bala será maior!
No começo, tudo parecia ser assim!
Em comparação com a velocidade medida há um ano e meio por um dispositivo com sensores ópticos (280m / s) - o dispositivo na lâmina produziu 260!
Energeticamente - são 22 Joules vs 19! - perda imediatamente treshki!
Mas assim que reduzi a base para 100 mm, a “folha” começou a mostrar o resultado correto - por que - um mistério!
As balas usaram um Luman FT 0.56gram, dispositivos baseados no mesmo microcontrolador, a base em ambos os casos é de 100mm, um rifle

Agora, sobre a estabilidade das leituras - de 5 disparos, a “ejeção” é apenas uma de cada vez, o número das outras - concorda.
Sim, e por fim, pergunte - por que na era da eletrônica reinventar a roda?
Tudo é muito simples - a resposta é uma espingarda!
Ao medir a velocidade de uma cobrança em uma partida - não há problema - qualquer dispositivo serve!
Mas à distância, o tiro tem a capacidade de dispersar (o alvo padrão para verificar seixos é 75x75cm).
E agora imagine a opção de medir a velocidade de carga a 35 metros - se mesmo um dispositivo chinês por US $ 50 for dividido, será um insulto.
A saída é “reservar” a caixa e os sensores (placas de 40 mm são suficientes) ou usar as descartáveis.
Há o que e por que medir - não muito longe é a introdução da proibição da caça ao chumbo em corpos d'água (depois da Europa), será necessário usar granalha de aço, nas lojas haverá filas para esses cartuchos (ou um preço alto).
Ao fazer a coleta automática de cartuchos, não quero usar os métodos antiquados para avaliar a eficácia de inserir uma tábua de pinho seca.
Tiros bem direcionados para você e para os caçadores - nem Pooh, nem Pena!
Até nos encontrarmos novamente em Habr, Andrey.