const float voltsporUnidade = 0.004887586; // 5%1023 int sensorPin = A0; // Define qual pino o sensor está ligado int sensorValue_aux = 0; double sensorValue = 0; float currentValue = 0; void setup() { Serial.begin(9600); pinMode(sensorPin, INPUT); } void loop() { sensorValue_aux = 0; for(int i=0; i < 100; i++){ sensorValue_aux = (analogRead(sensorPin) - 511); // le o sensor na pino analogico A0 e ajusta o valor lido ja que a saída do sensor é (1023)vcc/2 para corrente =0 sensorValue += pow(sensorValue_aux, 2); // somam os quadrados das leituras. } // mostra o resultado no terminal Serial.print("Soma dos quadrados: " ); Serial.println(sensorValue, 6); sensorValue = (sqrt(sensorValue / 100)) * voltsporUnidade; // finaliza o calculo da média quadratica e ajusta o valor lido para volts // mostra o resultado no terminal Serial.print("Média quadratica : " ); Serial.println(sensorValue, 6); currentValue = (sensorValue/0.066); // calcula a corrente considerando a sensibilidade do sernsor (66 mV por ampere) // mostra o resultado no terminal Serial.print("Current Value : " ); Serial.print(currentValue, 6); Serial.println(" A" ); delay(100); }