Introduction: Funcionamento Módulo Sensor De Batida/ Toque KY-031

  • Descrição:

O Módulo Sensor (Detector) de Toque / Batida KY-031 é um dispositivo eletrônico produzido com a finalidade de detectar toques ou batidas sobre ele. Ao captar um toque / batida, a saída (digital) se mantem em nível baixo e quando o sensor não detectar o toque / batida, a saída (digital) altera para nível alto.


  • Especificações e características:



Tensão de operação: 3.3 a 5 (VDC);

Tipo de saída: digital;


  • Funcionamento:

O sensor de impacto KY-031 consiste em mandar uma onda da frequência gerada pelo toque para o Arduino Leonardo, no qual recebe o sinal e identifica qual tambor foi pressionado gerando a pontuação do usuário.


  • Proposta da prática:

A proposta é que através do Hardware e do Software,podemos auxiliar profissionais da saúde a identificar crianças que apresentem um quadro de atraso na coordenação motora. Dessa forma, a sessão poderá ficar mais interativa e lúdica criando um maior interesse no paciente a continuar o tratamento.

Supplies

Lista dos itens necessários:


  • 01- Arduino Leonardo;
  • 01- Cabo USB;
  • 05- Sensor de Impacto KY-031;
  • 01- Protoplaca;
  • 15- Jumper macho-fêmea;
  • 05- Vaso de Flor;
  • 03- Cano PVC de 65 cm;
  • 02- Cano PVC de 50 cm;
  • 02- Cano PVC de 80 cm;
  • 06- Conexão T's de PVC;
  • 08- Caps de PVC;
  • 01-Caixa MDF 12X7X22 cm.

Step 1: Esquema Elétrico

Desenho acima representa o esquema elétrico.

Step 2: Código

#include <Keyboard.h>

bool estadoAnt2 = 1;
bool estadoAnt3 = 1;
bool estadoAnt4 = 1;
bool estadoAnt5 = 1;

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
  Keyboard.begin();
  pinMode(3, INPUT_PULLUP);
  Keyboard.begin();
  pinMode(4, INPUT_PULLUP);
  Keyboard.begin();
  pinMode(5, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  estadoAnt2 = digitalRead(2);
  if (digitalRead(2) == 0) {
    if (digitalRead(2) != estadoAnt2) {
      Keyboard.press('a');
      Keyboard.release('a');
      Serial.println("a");
      Serial.println(".");
    }
  }
  estadoAnt3 = digitalRead(3);
  if (digitalRead(3) == 0) {
    if (digitalRead(3) != estadoAnt3) {
      Keyboard.press('B');
      Keyboard.release('B');
      Serial.println("B");
      Serial.println("~");
    }
  }
  estadoAnt4 = digitalRead(4);
  if (digitalRead(4) == 0) {
    if (digitalRead(4) != estadoAnt4) {
      Keyboard.press('C');
      Keyboard.release('C');
      Serial.println("C");
      Serial.println("-");
    }
  }
  estadoAnt5 = digitalRead(5);
  if (digitalRead(5) == 0) {
    if (digitalRead(5) != estadoAnt5) {
      Keyboard.press('D');
      Keyboard.release('D');
      Serial.println("D");
      Serial.println("+");
    }
  }
  estadoAnt6 = digitalRead(6);
  if (digitalRead(6) == 0) {
    if (digitalRead(6) != estadoAnt5) {
      Keyboard.press('E');
      Keyboard.release('E');
      Serial.println("E");
      Serial.println("%");
    }
  }
  delayMicroseconds(5);
}

/*
 */

Step 3: Montagem Dos Sensores Nos Pads

Step 4: Teste Do Sensor

  • Lista de materiais utilizados para o teste:

multímetro;

osciloscópio.

  • Como saber se o teste feito está bom ?

O sensor possui uma frequência de sinal muito baixa, por isso é necessário avaliar o período em que conduz e o período de transição para que o void loop não fique se repetindo várias vezes sem um comando.