Salve a tutti, come da titolo avrei bisogno di misurare una tensione utilizzando i pin analogici dell'arduino. La tensione che devo misurare non supera 1.5 Volt e proviene da una batteria. Ho un dubbio su come collegare la batteria con il pin analogico dell'arduino. Il polo negativo della batteria lo devo collegare al pin gnd di arduino mentre quello positivo posso collegarlo direttamente ad un pin analogico oppure devo interporre una resistenza? Grazie per l'aiuto.
Collega pure direttamente.
Se sono solo 1,5 volt puoi collegare direttamente il positivo ad un pin analogico e il negativo a gnd. Se sono più di 5v invece dai un'occhiata quo, l'ho trovato ieri per me e mi è risultato molto utile.
Semplificando il codice per il tuo caso, per leggere il valore preciso della batteria su seriale sarà:
int PinBatt = A0;
int ValBatt;
float Vpin_perc;
float TensBatt;
void setup()
{
digitalWrite(A0, LOW);
Serial.begin(9600);
pinMode (PinBatt, INPUT);
}
void loop()
{
ValBatt = analogRead(PinBatt);
Vpin_perc = map (ValBatt, 0, 1023, 0, 500);
//leggerò 1023 quando ho 5 volt sul pin, quindi scalo 0-1023 in 0-500.
TensBatt = Vpin_perc / 100 ;
//ora divido per 100 per avere una scala da 0 a 5 V.
Serial.print("Tensione batteria:");
Serial.println(TensBatt);
}
p.s. Sei stato fortunato, ho cercato tutto questo su internet proprio ieri ed avevo già tutto pronto ;D
Non è mai consigliabile applicare direttamente la tensione di un generatore sul pin di un I/O di un micro.
Il rischio è che se il pin viene usato come out digitale (inizialmente a livello LOW), tutta la corrente erogabile dal generatore passerebbe nel circuito, bruciando la giunzione interna.
Meglio usare almeno un resistore di basso valore.
Ad esempio, un resistore da 47 ohm farebbe passare al massimo una corrente di 1.5V / 47ohm ~= 32mA.
Il rovescio della medaglia è che la caduta di tensione sul resistore altera leggermente la misura.