Advertisement
eijuito

Sensor de Corrente ACS712 30A

Jul 22nd, 2015
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. const float voltsporUnidade = 0.004887586; // 5%1023
  2.  
  3. int sensorPin = A0; // Define qual pino o sensor está ligado
  4.  
  5. int sensorValue_aux = 0;
  6. double sensorValue = 0;
  7. float currentValue = 0;
  8.  
  9. void setup() {
  10.   Serial.begin(9600);
  11.   pinMode(sensorPin, INPUT);
  12. }
  13.  
  14. void loop() {
  15.  
  16.   sensorValue_aux = 0;
  17.   for(int i=0; i < 100; i++){
  18.     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
  19.     sensorValue += pow(sensorValue_aux, 2); // somam os quadrados das leituras.
  20.   }
  21.  
  22.   // mostra o resultado no terminal
  23.   Serial.print("Soma dos quadrados: " );
  24.   Serial.println(sensorValue, 6);
  25.  
  26.   sensorValue = (sqrt(sensorValue / 100)) * voltsporUnidade; // finaliza o calculo da média quadratica e ajusta o valor lido para volts
  27.  
  28.   // mostra o resultado no terminal
  29.   Serial.print("Média quadratica  : " );
  30.   Serial.println(sensorValue, 6);
  31.  
  32.   currentValue = (sensorValue/0.066); // calcula a corrente considerando a sensibilidade do sernsor (66 mV por ampere)
  33.  
  34.   // mostra o resultado no terminal
  35.   Serial.print("Current Value     : " );
  36.   Serial.print(currentValue, 6);
  37.   Serial.println(" A" );
  38.  
  39.   delay(100);
  40.  
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement