Bonjour à tous,
Tout d'abord voici ce que je voudrais réaliser :
Une porte est verrouillé par une ventouse. En frappant (comme on frappe à une porte) une séquence précise sur cette porte, j'active un relay pour l'ouvrir.
J'ai réaliser mon code avec un bouton poussoir (qui remplace l'action de frapper à la porte) dans un premier temps et cela fonctionne parfaitement.
Tout ce complique quand je remplace mon bouton par un capteur de vibration.
J'ai essayé 2 modèles de capteur : le DollaTek et l'ARCELI SW-420 NC.
J'ai le même résultat avec les 2, le capteur reçoit la vibration quand je frappe, mais je n'arrive pas à trouver le bon réglage pour enregistrer une seule et unique frappe.
Pour être plus clair, si dans mon code, je demande à l'Arduino d'envoyer dans le moniteur série "1" quand je frappe, je vais voir s'afficher "1 1 1 1 1 1 1 1" ...
Voiçi le code de base que j'utilise pour traiter mes capteurs :
int ledPin = 6;
int piezo = A0;
byte val = 0;
int onFrappe = 0 ;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
val = analogRead(piezo);
Serial.println (val);
if(val >= 200){
onFrappe++ ;
Serial.print("On à frappé ");
Serial.print (onFrappe) ;
Serial.println(" fois");
digitalWrite(ledPin,HIGH);
}
else{
digitalWrite(ledPin,LOW);
}
}
Ma question est la suivante, comment puis-je récupérer l'information du capteur pour avoir une frappe net à chaque coup ?
Merci d'avance pour toutes aides que vous pourrez m'apporter.