Interruttore battimani con Arduino
tratto da ; http://profponte.altervista.org/arduino/progetti/progetti-led/interruttore-battimano/
Accendere e spegnere una luce col battito delle mani.
In questo tutorial usiamo un componente piezoelettrico per rilevare il suono. Un componente piezoelettrico non è altro che un dispositivo elettronico che può sia essere utilizzato sia per riprodurre i toni sia per rilevare i toni.
(si può usare anche un altoparlante o, ancora meglio, un microfono.
Listato
int led=13; //Led connesso al pin 13
int sensore =0; //Sensore connesso al pin analogico A0
byte val = 0; //Variabile per salvare il valore del sensore
int statoPin = LOW; //Variabile usato per salvare l’ultimo stato del led
int soglia = 20; //Valore di soglia per decidere quando un suono è stato rilevato da un // colpo o non, variare in base al sensore,più è basso più è sensibile
void setup()
{
pinMode(led, OUTPUT); //Dichiaro il led come OUTPUT
}
void loop()
{
val = analogRead(sensore); //Legge il valore del sensore e lo salva
if (val >= soglia)
{
statoPin = !statoPin; //Inverte lo stato del pin
digitalWrite(led,statoPin); //Accende o spegne il led
delay(100);
}
}
Essendo il segnale del microfono molto basso, il dispositivo risulta poco sensibile.
Si può ovviare aggiungendo un piccolo amplificatore a transistor o, meglio, con operazionale.
Schema amplificatore: