const int pinoSensor = A0; //PINO ANALÓGICO EM QUE O SENSOR ESTÁ CONECTADO
float tensaoEntrada = 0.0; //VARIÁVEL PARA ARMAZENAR O VALOR DE TENSÃO DE ENTRADA DO SENSOR
float tensaoMedida = 0.0; //VARIÁVEL PARA ARMAZENAR O VALOR DA TENSÃO MEDIDA PELO SENSOR
float corrente = 0.0; //VARIÁVEL PARA ARMAZENAR O VALOR DA CORRENTE
float valorR1 = 30000.0; //VALOR DO RESISTOR 1 DO DIVISOR DE TENSÃO
float valorR2 = 7500.0; // VALOR DO RESISTOR 2 DO DIVISOR DE TENSÃO
int leituraSensor = 0; //VARIÁVEL PARA ARMAZENAR A LEITURA DO PINO ANALÓGICO
void setup(){
pinMode(pinoSensor, INPUT); //DEFINE O PINO COMO ENTRADA
Serial.begin(9600); //INICIALIZA A SERIAL
}
void loop(){
leituraSensor = analogRead(pinoSensor); //FAZ A LEITURA DO PINO ANALÓGICO E ARMAZENA NA VARIÁVEL O VALOR LIDO
tensaoEntrada = (leituraSensor * 5.0) / 1024.0; //VARIÁVEL RECEBE O RESULTADO DO CÁLCULO
tensaoMedida = tensaoEntrada / (valorR2/(valorR1+valorR2)); //VARIÁVEL RECEBE O VALOR DE TENSÃO DC MEDIDA PELO SENSOR
corrente = tensaoMedida / (valorR1 + valorR2); //CALCULA O VALOR DA CORRENTE
Serial.print("Tensao DC medida: "); //IMPRIME O TEXTO NA SERIAL
Serial.print(tensaoMedida,3); //IMPRIME NA SERIAL O VALOR DE TENSÃO DC MEDIDA E LIMITA O VALOR A 3 CASAS DECIMAIS
Serial.print("V\t"); //IMPRIME UM TABULADOR NA SERIAL
Serial.print("Corrente: "); //IMPRIME O TEXTO NA SERIAL
Serial.print(corrente * 1000,3); //IMPRIME NA SERIAL O VALOR DE CORRENTE EM mA E LIMITA O VALOR A 3 CASAS DECIMAIS
Serial.println("A"); //IMPRIME O TEXTO NA SERIAL
delay(500); //INTERVALO DE 500 MILISSEGUNDOS
}