Herunterladen Diese Seite drucken

AZ-Delivery ACS712 Bedienungsanleitung Seite 10

Den Ausgang vom Sensor (grünes Kabel) verbinden wir mit dem analogen
Eingang Pin 0.
Beispielsketch:
//
Measuring current using ACS712 - 5A, 20A and 30A modules
int
rawData;
int
servo = 9;
double
average = 0;
double
scaleFactor = 185.0;
double
voltage = 0.0;
double
current = 0.0;
void
setup() {
Serial.begin(9600);
pinMode(servo, OUTPUT);
}
void
loop() {
average = 0;
analogWrite(servo, 200);
//
for stable measurement we take 100 measurements
//
and average it
for(int
i = 0; i < 100; i++) {
average += analogRead(0);
delay(1);
}
average /= 100;
voltage = (average / 1023.0) * 5000.0;
//
for calibration to determine number 2494 at 0A current
//
Serial.println(voltage);
current = (voltage - 2494) / scaleFactor;
//
prints current in A
Serial.println(current);
delay(500);
}
//
analog data read from sensor
//
the PWM pin the servo is attached to
//
for 20A module = 100.0
//
for 30A module = 66.0
// the servo has to be in one position
//
in mV
//
in A
loading