Anzeige im I2C Display per Knopfdruck ändern


hallo,

ich glaube, ich hab eine denkblockade  :smiley-red:

eine led mittesl tastendruck ein und aus zu schalten ist ja ok, aber das ganze funktioniert mit der anzeige auf einem lcd display nicht!?

es soll per tastendruck ( 7 tasten ) angezeigt werden, welche taste gedrückt ist, diese anzeige bis  3 sec. gehalten werden und dann wieder in eine default anzeige "springen"
die hinter der taste verborgenen  funktionen sollen natürlich auch ausgeführt werden.

swicht / case anweisung?

könnt ihr mir helfen?

vielen dank
sven

vermutlich denkblockade:
sowohl led wie display ( egal ob i2c oder parallel) behalten ihren anzeigezustand wenn man gar nichts macht,
sollte kein unterschied sein.

man kann das ganze hochtrabend "state machine" nennen:

-> der "normalfall" ist, dass nichts los ist : nix tun
-> die anzeige-haltezeit ist gerade abgelaufen : - default anzeige -
-> es war mal eine taste gedrückt worden, die 3 sekunden sind aber noch nicht um,
    ob die zugehörige funktion noch läuft und evtl. weitere aktionen erfordert, ist eine andere frage, die du noch nicht gestellt hast.
    ( sonst nix tun )
-> eine taste ist (noch) gedrückt, den start haben wir aber schon gemerkt.  ( nix tun )
-> eine taste wird gedrückt, und wir sind im normalzustand:
    los gehts: ende des normalzustands, aktion starten, lcd anzeige
-> eine abbruch-taste oder eine andere taste als die zu der aktuellen aktion gehörige wird gedrückt:
    ein fall, von dem du noch nichts geschrieben hast:
     a) abbruch gibts nicht
     b) eine aktion soll immer erst fertig laufen
     c) andere reaktion wäre besser
     ...

der trick ist, sich den zustand ("state") zu merken, und meist nichts tun, dann reagiert loop sofort, wenn doch etwas passiert.



wenn du die taster einzeln von verschiedenen pins liest, bringt dir eine switch - case anweisung wohl nicht viel,
wenn du 7 oder 8 taster als ein byte ( z.b. von einem atmega port oder über einen i2c expander oder aus einem schieberegister) liest, bietet sich ein switch natürlicherweise an.


Arduino Forum > International > Deutsch (Moderator: uwefed) > Anzeige im I2C Display per Knopfdruck ändern


arduino

Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62