[RISOLTO] un valore analogico cangiante

Ciao a tutti,

seguendo le istruzioni di questa pagina ho collegato il tutto alla mia scheda Arduino Uno.

Il codice che ho scritto e’ il seguente

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.println(analogRead(0));
delay(1000);
}

Non mi sembra particolarmente complesso e dovrebbe essere anche corretto.

Quello che non capisco pero’ sono i valori che mi vengono visualizzati al monitor.
Appoggiando difatti i due chiodi sul tavolo, senza che si tocchino o altro ottengo una serie di valore oscillanti tra 0 e 1023 :o :o :o :o

Personalmente mi sarei aspettato un valore costante (o 0 o 1023) ma non che oscillasse visto che non ci sono variazioni nel sistema.

Qualcuno mi svela l’arcano?

grazie

Leo

valori.txt (1.05 KB)

Probabilmente è un falso contatto tra il chiodo ed i resistore da 10k: con i chiodi non conficcati nel terreno e distanti tra loro, dovresti leggere un valore 0.

Ciao @cyberhs, ho provato a reinserire tutti i contatti sulla breadboard, ed effettivamente il problema si e' risolto.

Non capisco pero' l'andamento sinusoidale dei valori. Solo per mia curiosita' mi potresti spiegare la cosa o indicarmi la motivazione in modo che poi possa cercare ulteriori info in merito?

grazie

L'ingresso analogico di Arduino è ad alta impedenza, se non ricordo male circa 1M.

Questo vuol dire che se lasci l'ingresso non collegato, qualsiasi disturbo elettrico riesce ad influenzare il valore letto dal convertitore AD.

In casa siamo avvolti dai campi elettromagnetici della rete elettrica, per non parlare dei cellulari GSM, cordless, Wi-Fi, ecc.