"Knock sensor" non mi funziona

Premetto che ho acquistato da poco Arduino,ma so di non essere giustificato a chiedervi come mai non mi funziona il tutorial "Knock"(dato che tali tutorials sono estremamente semplici).Ho provato a vedere se fosse danneggiato il piezo elettrico,ma con "Melody" mi funziona... :-/...da cosa potrebbe dipendere?E' da un giorno e più che sto ricontrollando tutte le entrate ed uscite,ma senza soluzione... :'(

hai messo una resistenza dell'ordine dei megaohm in parallelo al piezo? altrimenti non vai da nessuna parte!

La resistenza messa in parallelo col piezo ammonta a 33MOHM ma niente...boh?!

33 mega??' sei sicuro?!? non saranno mica kilo...

No scusa sono 3.3 Mohm poichè i colori della resistenza sono arancio-arancio-verde-dorato,ma comunque dovrebbe funzionare no?

si la resistenza è ok... mi dici cosa intendi per "non funziona"? ciao

Non funziona cioè quando "eccito il sensore toccandolo"(scusa ma mi sto "scemunendo" co sto esempio da un paio di giorni..knock = bussare, percuotere, battere...giusto?) il led non ne vuole proprio sapere di lampeggiare, anzi ti dirò di più: LAMPEGGIA A SUO PIACIMENTO!Cioè senza toccare il sensore e senza nessuna emissione di suoni(l'ho provato soprattutto di notte, quando ho più tempo libero) il led a volte si accende e spegne con intervalli lentissimi, altre volte con intervalli lunghissimio, altre volte ancora rimane acceso e non si spegne fin quando non resetto, insomma fa un pò come gli pare... :-?

nello, tre cose. 1) Prima di tutto stiamo parlando di questo esempio giusto?

2) In tal caso il piezo è sul pin analogico numero 0 (non sul digitale ad esempio) giusto?

3) Io proverei ad abbassare il numero THRESHOLD e mettere per esempio uguale a 50 o anche meno e vedere cosa succede.

Forse è solo un problema di sensibilità...

1) e 2) SI! 3) Ho provato ad abbassare la sensibilità addirittura anche a 1!E' lo stesso!!!Forse è meglio che lascio per un pò stare per poi tornarci con un altro spirito?Perchè ora mi verrebbe di lanciarlo al muro.. :o..

Comunque vi ringrazio molto per la disponibilità.. ;)..

ciao nello
anche io ho avuto dei problemi con il piezo e questo sistema. molti! :expressionless:

ho parzialmente risolto, ma solo facendomi aiutare da un altro amico (il mitico andrea). mi ha fatto provare un collegamento SENZA resistenza, semplicemente provando combinazioni diverse, quello che funziona meglio e` senza resistenze , positivo del piezo sul pin 0 analogico, negativo del piezo sulla ground di arduino.
la patch è diversa, la posto in coda.

quello che non capisco (sono molto ignorante) è perchè fare il pullup analog e come mai funziona anche se dal serial monitor mi da sempre solo valori molto molto alti, prossimi al 900…

ciaociao fammi sapere

stefanino

/*


script per Piezo input
originale Hacking the doorbell – Roo Reynolds
modificato da A.Richetta www.akash.it
V. 0.1 11/05/2009
Status : Working
Connessioni:
Analog 0 → + Piezo
ground → - Piezo
*/

int ledPin = 13; // LED
int potPin = 0; // positivo Piezo
int val = 0;

long time = 0;
long debounce = 1000; // tempo per il debounce (gestione delle spurie del piezo)

void setup() {
pinMode(ledPin, OUTPUT); // digital Out
Serial.begin(9600); // Coneesione Seriale
digitalWrite(14 + potPin, HIGH); // pullup analog, aggiunge 14 al valore del potpin
// (analog 0 = digital 14, a1 = d15, etc)
}

void loop() {
val = analogRead(potPin);
if (val < 1000) { //se il valore è inferiore a 1000
if (millis()-time > debounce) { //guarda che sia passato il tempo impostato nel debounce
Serial.println(“ON”); //ok sono on
Serial.println (val); // scrive il valore del potpin
digitalWrite(ledPin, HIGH); // LED on
delay(500); // Aspetta
digitalWrite(ledPin, LOW); // LED off
time = millis(); //rimposta la variabile time con il valore di millis (tempo di accensione di arduino dopo l’ultimo reset)
}
}

}

Miracolosamente mi funziona l'esempio classico!Chissà cosa avevo sbagliato.. :-[