Maximalen Wert auf LCD-Display anzeigen lassen mit Zeitpunkt

(deleted)

kaliningrad:
Kann mir hierbei jemand helfen?

Ja.

Bitte lese "How to use this forum - please read."

(deleted)

kaliningrad:
Ich weiß, wie man ein Forum benutzt.

Wie man dieses Forum benutzt weist Du offensichtlich nicht, sonst sähe dein Eingangspost anders aus. Insofern hat der Tip von agmue schon seine Berechtigung.
Als Allermindeste fehlt dein Sketch, soweit Du ihn bisher geschrieben hast.

(deleted)

Könntest Du die Anregungen erfüllen?
Könntest Du Deinen Sketch posten (in Codetags)?

Gruß Tommy

Hallo,

ohne den Sketch zu sehen kann man nur sagen, du musst zum Zeitpunkt des Wert einlesens und wenn er der neue Maximalwert ist, den Zeitpunkt millis einfach nur speichern bzw. dann immer wieder aktualisieren. Mehrere gleichartige Abfragen kann man in einer for Schleife erschlagen, wenn dafür Vorbereitungen getroffen wurden. Die Antwort auf deine Frage lautet also, ja es ist alles möglich. Alles weitere dann wie schon geschrieben wurde.

Die max-Kontrolle und auslesen des Eingangs in einer For Schleife.
Da brauchst Du nur ein if
Grüße Uwe

(deleted)

(deleted)

Du machst einiges an konfusion.

const byte eingang[] {A0, A1, A2, A3, A4, A5, A6, A7, A8, A9};
const byte analogpin = sizeof(eingang);
for (byte i = 0; i < eingang; i++)

Wiso verwedest Du die Variable Eingang für die for Schleife?

  if (maximalwert[0] >= maximalwert[1] && maximalwert[0] >= maximalwert[2] && maximalwert[0] >= maximalwert[3] && maximalwert[0] >= maximalwert[4] && maximalwert[0] >= maximalwert[5] && maximalwert[0] >= maximalwert[6] && maximalwert[0] >= maximalwert[7] && maximalwert[0] >= maximalwert[8]&& maximalwert[0] >= maximalwert[9])
    {
      lcd.setCursor(0, 0);
      lcd.print(maximalwert[0]);
    }

Wieso wiederholst Du ständig diese Vergleiche?
Das kannst Du einmal in der for schleife machen. Du versuchst den Sketch so aufzubauen daß die Anzahl der Analogeingänge in der Variablendefinition eingestellt werden muß und nicht den Sketch ändern zu müssen.

Du solltest auch sprechende Namen der Variablen verwenden.
zB analogpin,

Grüße Uwe

(deleted)

Dein Sketch kompiliert nicht. So wie ich das sehe, hast Du hier:

const byte eingang[] {A0, A1, A2, A3, A4, A5, A6, A7, A8, A9};
const byte analogpin = sizeof(eingang);

die Namen ungünstig gewählt, und im folgenden verwechselt. Du verwendest im Sketch 'eingang' als Arraygröße. Das ist aber die Arrayadresse. 'analogpin' ist die Arraygröße. Aussagekräftige Namen können sowas verhindern.

(deleted)

warum merkst du dir nicht einfach den größten Wert und gibst ihn aus?

const byte eingang[] {A0, A1, A2, A3, A4, A5, A6, A7, A8, A9};
const byte analogpinAnzahl = sizeof(eingang);

int dasMaximum;

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 7, 5, 4, 3, 2);
void setup()
{
  lcd.begin(16, 2);
  Serial.begin(115200);
}
void loop()
{
  for (byte i = 0; i < analogpinAnzahl; i++)
  {
    int aktuell = analogRead(eingang[i]);
    if (aktuell >= dasMaximum)
    {
      dasMaximum = aktuell;
      lcd.setCursor(0, 0);
      lcd.print(dasMaximum);
      // i ausgeben damit du weist was du gemessen hast
      // millis ausgeben damit du die "Uhrzeit" weist
    }
  }
}

(deleted)

Indem Du die Werte in passende Variablen schreibst. Dann läuft auch nichts mit.
Bedenke aber, dass millis nach ca. 49 Tagen einen Überlauf hat.

Gruß Tommy

(deleted)

das sind aber schon basics oder?

const byte eingang[] {A0, A1, A2, A3, A4, A5, A6, A7, A8, A9};
const byte analogpinAnzahl = sizeof(eingang);

int dasMaximum;

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 7, 5, 4, 3, 2);
void setup()
{
  lcd.begin(16, 2);
  Serial.begin(115200);
}
void loop()
{
  for (byte i = 0; i < analogpinAnzahl; i++)
  {
    int aktuell = analogRead(eingang[i]);
    if (aktuell >= dasMaximum)
    {
      lcd.setCursor(0, 0);
      lcd.print(dasMaximum);
      // i ausgeben damit du weist was du gemessen hast
      lcd.setCursor(0, 10);
      lcd.print("ADC");
      lcd.print(i);
      // millis ausgeben damit du die "Uhrzeit" weist
      lcd.setCursor(1, 0);
      lcd.print("sec:");
      lcd.print(millis() / 1000);
    }
  }
}

Hallo,

wann soll der Maximalwert wieder gelöscht werden? Oder soll wirklich während der gesamten Laufzeit immer sturr der Maximalwert erhalten bleiben? Ich meine wenn irgendwann einmal 1023 eingelesen wird, dann ändert sich nichts mehr.