first commit
This commit is contained in:
55
HALL_EFFECT_2/HALL_EFFECT_2.ino
Normal file
55
HALL_EFFECT_2/HALL_EFFECT_2.ino
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Measuring AC Current Using ACS712
|
||||
www.circuits4you.com
|
||||
*/
|
||||
const int sensorIn = A0;
|
||||
int mVperAmp = 66; // 185 pour 5, use 100 for 20A Module and 66 for 30A Module
|
||||
|
||||
double Voltage = 0;
|
||||
double VRMS = 0;
|
||||
double AmpsRMS = 0;
|
||||
|
||||
void setup(){
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop(){
|
||||
|
||||
Voltage = getVPP();
|
||||
Serial.print(Voltage);
|
||||
Serial.print(" mv ");
|
||||
VRMS = (Voltage/2.0) *0.707; //root 2 is 0.707
|
||||
AmpsRMS = (VRMS * 1000)/mVperAmp;
|
||||
Serial.print(AmpsRMS);
|
||||
Serial.println(" Amps RMS");
|
||||
}
|
||||
|
||||
float getVPP()
|
||||
{
|
||||
float result;
|
||||
int readValue; //value read from the sensor
|
||||
int maxValue = 0; // store max value here
|
||||
int minValue = 1024; // store min value here
|
||||
|
||||
uint32_t start_time = millis();
|
||||
while((millis()-start_time) < 1000) //sample for 1 Sec
|
||||
{
|
||||
readValue = analogRead(sensorIn);
|
||||
// see if you have a new maxValue
|
||||
if (readValue > maxValue)
|
||||
{
|
||||
/*record the maximum sensor value*/
|
||||
maxValue = readValue;
|
||||
}
|
||||
if (readValue < minValue)
|
||||
{
|
||||
/*record the minimum sensor value*/
|
||||
minValue = readValue;
|
||||
}
|
||||
}
|
||||
|
||||
// Subtract min from max
|
||||
result = ((maxValue - minValue) * 5.0)/1024.0 -0.06;
|
||||
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user