Sensor de knock

En aquest exemple explicarem com usar un piezo com a sensor de vibració. Pots donar-li un toc directament, o bé enganxar-lo amb cinta adhesiva a una superfície i donar-li un toc des de la superfície.

Materials

  • 1 placa Arduino U
  • 1 Shield Bàsica Educativa
  • 1 piezo
  • 1 resistència 1Mohm
  • 4 cables

Instruccions

  1. Connecta la resistència a A0 i a GND.
  2. Connecta el piezo a A0 i a GND a través de la resistència.
  3. Obre Arxiu -> Exemples -> BasicEducationShield -> Help -> PiezoKnockSensor
/*
Piezo Knock Sensor
*/#include <BasicEducationShield.h>

PiezoKnockSensor sensor=PiezoKnockSensor(A0);

void setup(){
Serial.begin(9600);
sensor.config(40,80);

}
void loop(){
Serial.println("Please knock...");
//Wait until the button is knocked.
Serial.println(sensor.knocked());
}

Puja el codi a la placa. Obre el monitor serial i dóna-li un toc al piezo per veure si funciona. Hauria d’imprimir un “1” a la finestra del monitor serial en detectar la vibració.

Per canviar la sensibilitat del sensor capacitatiu, canvia la línia a la configuració sensor.config (40,80). El llindar de detecció del toc és 40 i el temps de rebot és 80. El llindar defineix la intensitat amb què has de trucar; el temps de rebot preveu que el sensor retorni varis cops d’un sol toc, però també limita la rapidesa amb què el pots tocar.

La majoria de vegades és més fàcil millorar la construcció que trobar un bon valor de llindar/rebot. Si enganxes el piezo a una superfície, és millor donar-li un toc el més a prop possible del sensor. Treure la carcassa de plàstic extern també ajuda a augmentar la sensibilitat.

 

No funciona?

  1. Comprova que tot estigui connectat correctament.
  2. Assegura’t que has connectat el piezo al mateix Pin que has indicat en el teu codi.
  3. Si uses piezos tant per a la melodia com per al sensor de vibració, assegura’t que no intentes llegir el que uses com a altaveu.

Nota: Recorda que no has d’utilizar A4 ni A5