Alarme de detecção de queda/colisão baseado em Arduino usando sensor de detonação KY-031

Alarme de detecção de queda/colisão baseado em Arduino usando sensor de detonação KY-031

Detectar as condições físicas de um robô é sempre útil em aplicações robóticas. Principalmente se o robô for um rover e for projetado para explorar diferentes terrenos. Nessas aplicações, há casos em que o estado do robô precisa ser detectado. Pode envolver detecção de colisão ou queda, mudança na orientação do corpo do robô, detecção da direção da navegação ou detecção do estado do robô em relação ao terreno circundante, etc. importantes mudanças de estado. Se um robô for projetado para explorar ao ar livre, é importante saber se um robô colidiu lateralmente ou caiu de lado. Isso pode ser usado para realizar ações intuitivas em resposta a tais eventos.

A detecção de queda ou colisão por parte do corpo do robô pode ser especialmente crucial no projeto de robôs de batalha. Os bots de batalha são projetados para vencer outros bots em uma batalha robótica. Ao detectar impacto ou colisão em partes específicas do corpo robótico, um robô de batalha pode ser projetado para realizar ações autônomas de resgate, estabilização ou atuar contra a carga.

Neste projeto, projetamos um circuito de detecção de colisão/queda usando Arduino e sensor Knock. O sensor de detonação pode ser útil na detecção de impactos como colisão ou queda. Um sensor de detonação é sensível a vibrações e pode fornecer um aviso antecipado antes da desestabilização completa ou de danos, se instalado adequadamente no conjunto mecânico de um rover. Vamos testar um circuito de detecção de impacto com um popular sensor de detonação KY-031.

Componentes necessários

  1. Arduino UNO x1
  2. Sensor de batida KY-031 x1
  3. LEDx1
  4. Resistência 330Ω x1
  5. Conectando fios/fios de jumper
  6. Tábua de ensaio
  7. Fonte de alimentação para Arduino

Conexões de circuito

Neste projeto, o Arduino faz interface com um sensor de detonação para detectar qualquer impacto, como colisão ou queda. O sensor de detonação usado no circuito é o KY-031. O sensor possui três terminais – Sinal, VCC e GND. O terminal de sinal é indicado pela etiqueta 'S', o do meio é VCC e o GND é indicado pela etiqueta '-' no sensor.

Diagrama de pinos do sensor de batida KY-031

Para interface, o sensor de detonação KY-031 com Arduino conecta o pino S a qualquer GPIO do Arduino, pino 7 neste caso, e conecta os pinos VCC e GND à saída de 5V e um dos pinos GND do Arduino, respectivamente. Para uma indicação do impacto, um LED é conectado ao pino 6 do Arduino UNO. O LED tem uma interface que fornece corrente do pino do Arduino. Um resistor limitador de corrente é conectado em série ao LED para sua proteção.

Diagrama de circuito

Diagrama de circuito do detector de queda/colisão/choque baseado em Arduino

Esboço do Arduino

Como funciona

Um sensor de detonação é um sensor de vibração que detecta vibrações ou choques quando batido ou batido. Um dos sensores de detonação populares é o KY-031. Este sensor de detonação simples e barato pode ser facilmente conectado a qualquer microcontrolador ou computador de placa única. Possui saída digital que, ao ligar o sensor, permanece em nível ALTO por padrão. Sempre que há um choque ou impacto, a saída digital do sensor fica BAIXA no momento.

O sensor de detonação KY-031 possui, na verdade, uma mola vibratória condutiva. Esta mola atua como uma chave dentro do sensor e permanece em circuito aberto por padrão. Quando há um choque ou impacto, a mola vibra por um momento e toca um contato, formando uma conexão fechada. Por padrão, a saída do sensor é puxada para ALTO por meio de um resistor de 10K. Quando a mola vibratória toca o contato, a saída é levada para BAIXO. Uma representação simplificada do sensor de detonação é mostrada abaixo.

Diagrama de blocos interno do sensor de detonação KY-031

O sensor de detonação não é um dispositivo muito sensível. Ele só pode detectar vibrações fortes ou choques. Portanto, pode ser útil na detecção de colisões ou quedas. Também pode ser usado como sensor de batida de porta.

No circuito, a saída do sensor de detonação é conectada ao pino 7 do Arduino. Como o sensor é puxado para alto por padrão e só emite um nível BAIXO em caso de choque ou vibração, o Arduino é programado para agrupar um nível BAIXO lógico no respectivo pino. Sempre que houver sinal LOW no pino 7 do Arduino, ele coloca o pino 6 em HIGH, acendendo um LED. Isto fornece uma indicação visual do impacto detectado no sensor.

Em uma aplicação robótica, o sensor de detonação pode ser amarrado ao corpo do robô, de modo que qualquer choque ou vibração no corpo seja transferido para ele. Em uma aplicação robótica, em vez de acender um LED, uma ação contrária, como ativar alguns atuadores para estabilizar o corpo do robô ou contra-atacar (como no caso de robôs de batalha), pode ser iniciada.

O código

O esboço é bem simples. Ele começa declarando os pinos conectados ao sensor de detonação e ao LED. Variáveis ​​– 'knockDetect', 'impactAlarm' e 'lastKnockTime' são declaradas para detectar a lógica do sinal de batida/toque, sinalizar o status do impacto e registrar o tempo decorrido desde o último impacto em milissegundos, respectivamente.

Na função setup , a taxa de transmissão para mensagens seriais é definida como 9600 usando o método Serial begin , o pino LED é definido como saída enquanto o pino Knock é definido como entrada.

No loop (funções 0, o Arduino agrupa um sinal lógico LOW no pino knock. Se houver um nível lógico baixo, uma mensagem indicando a detecção de impacto é passada para a porta serial, o LED é aceso passando uma lógica HIGH no pino 6, e o sinalizador impactAlarm é definido como True Se nenhum sinal LOW for detectado em uma iteração de loop desde 500 milissegundos desde o último impacto, uma mensagem indicando que não há impacto é passada para a porta serial, o LED é desligado passando uma lógica LOW no pino. 6, e o sinalizador impactAlarm é definido como False.

Resultado

A demonstração a seguir mostra o funcionamento do circuito quando o sensor de detonação cai sobre uma superfície.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.