Hallo zusammen
bin Anfänger mit Elektronik und Arduino, folgendes Problem habe ich gerade.
Möchte mit dem Sensor ACS712 Strom messen.
Den Sketch habe ich aus dem Internet, funktioniert so auch.
void setup() {
Serial.begin(9600);
}
void loop() {
float average = 0;
for(int i = 0; i < 1000; i++) {
average = average + (.0264 * analogRead(A3) -13.51) / 1000;
delay(1);
}
Serial.println(average);
}
Jetzt wollte ich die Berechnung in eine Funktion auslagern, habe es so gemacht.
void setup() {
Serial.begin(9600);
}
void loop() {
float a;
a = amp();
Serial.println(a);
}
float amp() {
float average = 0;
for(int i = 0; i < 1000; i++) {
average = average + (.0264 * analogRead(A3) -13.51) / 1000;
//Serial.println(average);
delay(1);
return(average);
}
}
Hi ich bin auch Anfänger und arbeite gerade erst ein buch durch um alles zu lernen aber müssen die 2 // vor dem serial.print nicht weg sonst ist der print ja ausgeklammert
Zuerst, Code bitte in die Code-Tags setzen, geht auch nachträglich via editieren.
Er schreibt nirgends, dass er das per Serial ausgeben will, daher darf das auch kommentiert sein.
Dein return(average); ist zu früh, schieb das mal eine klammer weiter nach unten.
Wenn Du "Serial.println(average);" auskomentiert (// gelöscht) hättest, dann hättest Du gesehen daß es nur einmal ausdruckt und nicht 1000 mal.
Grüße Uwe
Nur noch mal für mich da ich auch anfänger bin. Dadurch das der return mit in der falschen schleife wahr hat sich der selber immer wieder auf null zurück gesetzt.