Problema Para Encontrar a VAR de corrente e encontrar o Campo Magnetico

Galera estou com Problema de encontrar a variável que me de o valor da Corrente. Sou iniciante em Programação... Preciso da Corrente elétrica para medir a densidade de Campo Magnético. Segue Abaixo a Programação. Outro Problema tambem, nao consigo colocar o valor do Campo em baixo do valor da corrente quando compilo ele quer ficar só na frente...

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD


int VQ;
int ACSPin = A2;
float Campo = 00;

void setup() {
Serial.begin(9600);
VQ = determineVQ(ACSPin); //Quiscent output voltage - the average voltage ACS712 shows with no load (0 A)
delay(1000);
lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
}

void loop() {
Serial.print("Corrente:");Serial.print(readCurrent(ACSPin),3);Serial.print(" mA");
Serial.println(Campo);
delay(1000);
}

int determineVQ(int PIN) {
Serial.print("estimating avg. quiscent voltage:");
long VQ = 0;
//read 5000 samples to stabilise value
for (int i=0; i<10000; i++) {
VQ += abs(analogRead(PIN));
delay(1);//depends on sampling (on filter capacitor), can be 1/80000 (80kHz) max.
}
VQ /= 10000;
Serial.print(map(VQ, 0, 1023, 0, 5000));Serial.println(" mV");
return int(VQ);
}

float readCurrent(int PIN) {

int current = 0;
int sensitivity = 185;//change this to 100 for ACS712-20A or to 66 for ACS712-30A
//read 5 samples to stabilise value
for (int i=0; i<200; i++) {
current += abs(analogRead(PIN) - VQ);
delay(1);

}

current = map(current/200, 0, 1023, 0, 5000);
return float(current)/sensitivity;

Campo = ((4*3,14*(1/10000000)* ValorDaCorrente *150*0,7155)/(0,215))*1000000 ;
Serial.println(Campo);



lcd.setCursor(0,0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD
lcd.print("Corrente: "); //Imprime no LCD "Corrente: "
lcd.print (ValorDaCorrente); //Imprime o valor da corrente

lcd.setCursor(0,1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print("Campo: "); //Imprime no LCD "Campo: "
lcd.print(Campo); //Imprime o valor da luminosidade

}

Exibições: 142

Responder esta

Respostas a este tópico

Coloque a palavra chave na busca de pesquisa aqui mesmo.

ACS712

Veja também: http://labdegaragem.com/forum/topics/ajuda-com-o-codigo-do-sensor-a...

Boa sorte.

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço