LCDMenuLib2 Display Helligkeit einstellen

Hallo,

ich möchte mir einen komfortablen Wecker bauen um meinen Verstärker über IR ein- und auszuschalten. Um Zeiteinstellungen vorzunehmen habe ich mir die LCDMenuLib2 eingebunden.
Die Screensaverfunktion der Bibliothek habe ich verwendet um die aktuelle Zeit und die verbleibende Schlummerzeit anzuzeigen.
Über einen LDR lese ich die aktuelle Raumhelligkeit aus und steuere per PWM die Hintergrundhelligkeit des 20x4 Displays an. Ab einer bestimmten Helligkeit wird die Hintergrundbeleuchtung ganz ausgeschaltet, damit ich Nachts von dem blauen Licht nicht gestört werde. Jetzt möchte ich aber, wenn die Beleuchtung aus ist, dass bei einem Tastendruck die Beleuchtung auf kleinster Stufe für 5 Sekunden an geht und der Tastendruck dann verworfen wird um anschließend das Menü normal mit Beleuchtung verwenden zu können.

Ich finde dafür in der LCDMenuLib2 nicht den richtigen Ansatz. Meine Versuche mit folgendem Code der Arduino Hauptschleife schlugen fehl.

void loop()
{
  LCDML.loop();
  //Abfragen ob der Verstärker ausgeschaltet werden soll
  jetzt = rtc.now();
  SekundenBisJetzt = jetzt.getEpoch();
  if (SekundenBisJetzt > AusschaltZeit)
  {
    VerstaerkerAusschalten(irsend, DummyAusschaltZeit, AusschaltZeit);
  }
  DisplayDimmen();
  // Die Hintergrundbeleuchtung anpassen
[color=red]  if (LCDML.BT_checkAny()) // check if any button is pressed (enter, up, down, left, right)
  {
    lcd.setCursor(1, 2); lcd.print("Taste gedrückt");
  }[/color]
}

Die Funktion LCDML.BT_checkAny() reagiert nicht, wenn der Bildschirmschoner angezeigt wird. Stattdessen erscheint das Menü, was ja auch richtig ist, aber dadurch bekomme ich nicht mit das eine Taste gedrückt wurde.

Hat jemand eine andere Idee wie ich einen Tastendruck über die Library abfragen kann?

Eventuell hilft dir dieser Beitrag weiter:

Hallo Jomelo,

danke, das schaue ich mir an.