ACS712 Strommessung Sketch Erklärung

Hallo liebe Arduino Gemeinde,
hab folgendes Problem der Code funktioniert nur ich versteh nicht ganz warum man hier eine for schleife benötigt wird?
und vor allem warum genau 1000 durchläuft?

  {

  float average = 0;
  for(int i = 0; i < 1000; i++) 
  {
    average = average + (0.048875855327468 * analogRead(A0) -25) / 1000;
  
  
  }
lcd.setCursor(0,2);
  lcd.print("Strom:");
  lcd.print(average);
  lcd.setCursor(16,2);
  lcd.print("A");
  
}

Vielen danke im Voraus.

Lg

Er macht statt einer Messung, 1000 Messungen und macht daraus den Durchschnitt.

meister_q:
... Durchschnitt.

Auf Deutsch „average“ :slight_smile:

SCNR

Gregor

gregorss:
Auf Deutsch „average“ :slight_smile:

SCNR

Gregor

haha das stimmt. muss nochmal lästig sein ^^

void Spannungssensor() 
{
 float temp;
wert1=analogRead(A1); //Spannungswert am analogen Eingang 1 auslesen
temp=wert1/4.092; //Wert mathematisch umwandeln um den Spannungswert in Volt zu erhalten
wert1=(int)temp;
wert2=((wert1%100)/10.0);


  lcd.setCursor(0,0);
  lcd.print("Spannung:");
  lcd.print(wert2);
  lcd.setCursor(16,0);
  lcd.print("V");
 
}

Ist ein Spannungssensor. ich versteh hier nicht woher 4.092 kommt und danach was wert2=((wert1%100)/10.0); bedeutet?
das durch 10 versteh ich da es ein integer Wert sein muss aber was bedeutet der Rest?

4.092 kommt vom Temperaturfühler und von der Umwandlung des am Analogeingang gelesenen Wertes. Ohne infos können wir Dir nicht mehr sagen.

"%100" gibt dir den Rest aus einer Division durch 100. Zu deutsch die 2 Nachkommastellen.

Grüße Uwe

Crossposting
https://www.mikrocontroller.net/topic/428624

schlimm?
Hauptsache nicht hier im Forum.

Da bekommt er ja auch genug Gegenwind :wink: Dagegen sind wir hier ja quasi ein Kuschelforum :wink:

Gruß Tommy