Oppure

Loading
21/07/20 20:06
Thejuster
Buonasera, uso semplicemente questo codice per leggere i pin da A0 ad A3

su A0 è collegato un sensore e funziona bene
sugli altri pin per ora niente tutto vuoto.

il problema sta che quando leggo il valore sul pin A0 cambia, cambia anche il valore degli altri pin.
Non sò da cosa possa dipendere.

il codice è questo


 int sens1 = analogRead(A0);
  int sens2 = analogRead(A1);
  int sens3 = analogRead(A2);
  int sens4 = analogRead(A3);
 
 
  Serial.print(sens1);
  Serial.print("|");
  Serial.print(sens2);
  Serial.print("|");
  Serial.print(sens3);
  Serial.print("|");
  Serial.println(sens4);





Normalmente dovrei avere tipo

388 - 0 - 0 - 0 giusto?

invece ho

388 - 382 - 375 - 372

anche se sopra a quei pin non è presente nulla.

può dipendere che per ottenere la lettura devo necessariamente collegarci qualcosa? e quindi ho questo bug?
o il codice del serial.print è sbagliato?
mire.forumfree.it/ - Mire Engine
C# UI Designer
22/07/20 13:25
Carlo
sembra che parli di Arduino...

L'impedenza degli ingressi analogici di ardiuno è di circa 10 Mohm, dei segnali spurii generati da cellulari, antenne trasmittenti, alimentatori swiching, motori elettrici e la rete elettrica potrebbero riuscire a caricare il condensatorino posto all'interno di arduino sugli ingressi analogici, anche se mi sembra improbabile.
Sempre che sui pin non utilizzati, non tieni collegato un cavetto che poi non è collegato a nulla, che farebbe da antenna.

Per verificare se il problema è di tipo interferenziale, collega sui pin inutilizzati delle resistenze da 300 ohm verso massa, avendo cura di effettuare collegamenti più corti possibile.

Se il problema scompare, hai capito il perché. :k:
Ultima modifica effettuata da Carlo 22/07/20 19:17
in programmazione tutto è permesso
23/07/20 7:27
nessuno
Collega i pin che non ti servono tranquillamente a massa (se sono sempre e comunque ingressi), altrimenti ti rientra il segnale che stai misurando (e anche la frequenza di rete).

Puoi usare una resistenza da 330 o 470 ohm (valori standard) 1/4 w se i pin, in qualsiasi momento, possono essere anche di uscita.
Ultima modifica effettuata da nessuno 23/07/20 7:29
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.