Go Down

Topic: problema analog valori impazziti (Read 673 times) previous topic - next topic

Luigi89

Ciao a tutti gente, ho un problema.
Ho compilato uno skatch per arduino ma quando lo eseguo e apro la consolle anche se nei Pin analog di arduino non collego niente i valori impazziscono da 1 a 2.09. Vi prego aiutatemi. Grazie

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue;
  // print out the value you read:
  Serial.println(voltage * 5/1023);
  delay(200);
}

flz47655

Capti interferenze esterne, ad esempio i 50Hz della linea elettrica, devi collegarlo a GND se non vuoi captare questi disturbi in modo così elevato

Ciao

Luigi89

Ok grazie adesso provero con GND e ti faccio sapere. Gentilissimo

Luigi89

#3
Aug 11, 2012, 03:36 pm Last Edit: Aug 11, 2012, 03:37 pm by Luigi89 Reason: 1
Ho provato a GND ma niente, se collego un gallegiante da scooter mi da questi valori di continuo a loop da premettere che il galleggiante è al massimo cioè la vaschetta è piena

uwefed

Il gallegiante da un valore analogico in funzione del livello del recipiente o é solo un interuttore che si chiude/ apre il contatto quando supera la soglia?

Se é un interuttore devi usare un entrata digitale e usare una resistenza Pullup o Pulldown a secondo come lo colleghi.
Se il sensore cambia resistenza in funzione del livello Ti serve una resistenza per fare un partitore resistivo e leggere la tensione con un entrata analogica.
Ciao Uwe

Luigi89


Il gallegiante da un valore analogico in funzione del livello del recipiente o é solo un interuttore che si chiude/ apre il contatto quando supera la soglia?

Se é un interuttore devi usare un entrata digitale e usare una resistenza Pullup o Pulldown a secondo come lo colleghi.
Se il sensore cambia resistenza in funzione del livello Ti serve una resistenza per fare un partitore resistivo e leggere la tensione con un entrata analogica.
Ciao Uwe
Si il sensore cambia resistenza il base al livello, quindi che resistenza dovrei mettere? Adesso sto usando un entrata analogica perché se riesco vorrei che leggesse i valori in base al livello. Grazie del vostro aiuto ma io sono alle prime armi ma tutto sommato ci sto capendo qualcosa .

uwefed

Allora devi mettere il sensore in serie a una resistenza tra 5V e massa e portare il comune sul entrata del Arduino.
Al posto del LDR metti il sensore livello.

Come valore della resistenza prendi una che corrisponde alla resistenza del sensore livello a metá serbatoio.

Ciao Uwe

cyberhs

Se vuoi puoi evitare l'uso di un resistore esterno, sfruttando quello interno da 20k.

Se hai l'IDE 1.0.1, in setup inserisci:

pinMode(A0, INPUT_PULLUP);           // set as input with internal 20k pull-up resistor

Ettore Massimo Albani

uwefed


Se vuoi puoi evitare l'uso di un resistore esterno, sfruttando quello interno da 20k.

Se hai l'IDE 1.0.1, in setup inserisci:

pinMode(A0, INPUT_PULLUP);           // set as input with internal 20k pull-up resistor

Ettore Massimo Albani

Eviterei l' uso del della resistenza pullup interna perché é troppo inprecisa. Il datasheet da valori tra 20 e 50kOhm. Se cambi piedino o cambi Arduino devi ricalibrare il circuito cambiando un fattore nella formula.
Ciao Uwe

Go Up