Go Down

Topic: Voltimetro (Read 1 time) previous topic - next topic

lucas-appr2

Boa Noite!

Montei um Voltimetro com Arduino Nano + LCD Shield. Mas mesmo sem voltagem na entrada de leitura aparece voltagem no LCD variando entre 0.0 / 0.35 e após colocar voltagem ela não fica fixa, continua variando.

Reduzimos a entrada de 12v para 4v no A1 com resistores conforme um esquema que encontrei na net (http://www.clarenceho.net:8123/blog/articles/2009/05/17/arduino-test-voltmeter). Para leitura mais precisa mudei os valores das resistencias.

Codigo:

Code: [Select]

#include <LiquidCrystal.h>
#include <LCDKeypad.h>
#define MINVAL 1
#define MAXVAL 1000
LCDKeypad lcd;

// variables for input pin and control LED
  int analogInput = A1;
  int refresh = 200;
  float vout = 0.0;
  float vin = 0;
  float R1 = 12100.0;    // !! resistance of R1 !!
  float R2 = 6800.0;     // !! resistance of R2 !!
  int value = 0;

void setup(){
  pinMode(analogInput, INPUT);
  Serial.begin(9600);
}
void loop (){
  value  = analogRead(analogInput);
  vout = (value * 5.0) / 1024.0;
  vin = vout / (R2/(R1+R2));
   
  //Voltagem
        Serial.print("Voltagem: ");
        Serial.print(vin);
        Serial.println(" volts");
  lcd.clear();
  lcd.print(vin);
  lcd.print("v ");
 
delay(refresh);
}



Caso não tenha como melhorar alguem poderia me ajudar a tirar uma media de 10 medições?

bubulindo

Code: [Select]


unsigned char vezes = 0;
double soma = 0;
void loop (){

while (vezes++ < 10){
  soma  += analogRead(analogInput);
}
value = (unsigned int) soma/10;


  vout = (value * 5.0) / 1024.0;
  vin = vout / (R2/(R1+R2));
   
  //Voltagem
        Serial.print("Voltagem: ");
        Serial.print(vin);
        Serial.println(" volts");
  lcd.clear();
  lcd.print(vin);
  lcd.print("v ");
 
delay(refresh);
}
This... is a hobby.

lucas-appr2

Obrigado! Irei fazer testes o mais rapido possivel!

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy