hulp gevraagd voor arduino regelunit voor distilleer apparaat

@shooter:

Weet je wel zeker dat wat je roept, ook klopt ?

Het kan best zo zijn dat jij het niet lekker kan lezen en dat jouw voorkeur voor functies je parten speelt.
Het kan ook zo zijn dat dat geldt voor veel andere mensen.
Maar voorkeuren zijn iets heel anders als voorschriften en regels.
Jij ziet deze code schijnbaar nu voor het eerst, de vraag is of je de hele ontwikkeling hebt gevolgd.

Er gaat helemaal niets mis op regel 103:

if(currentMillis - previousMillis > interval)
PreviousMillis  = currentMillis;

Dat staat jou misschien niet aan,maar de compiler geeft er geen reet om en doet het gewoon goed (nou ja, de oudere dan in ieder geval want dat is gecontroleerd).
De regel is namelijk niet met een CR/LF (enter) beëindigd, maar met de ; puntkomma.

De code   key = (analogRead (0));  // lees analoge ingang op pin 0
Is dus niet afhankelijk van currentMillis, en word dus altijd uitgevoerd, niet 1 maal per seconde.
Das ook de bedoeling.

Homedistiller kwam een tijd geleden met zijn vraag, en ik hen daar toen op gereageerd met een stukje code dat ik zelf in elkaar gedraaid had en dat nog steeds goed werkt.
Homedistiller en ik hebben die code aangepast naar wat het nu is.
Ik had destijds nog geen idee van functies, ook al zijn die in deze code wel gebruikt.
Die functies komen gewoon uit een stukje code dat ik heb gebruikt als bron om met mijn LCD key shield te gaan werken.
En van daaruit heb ik iets met een menuutje gebrouwen, puur om te zien of ik dat kon maken.

De menu modes lopen vrij snel door "loop" heen, totdat er een match is met die menu mode.
Het is dus de bedoeling dat er telkens als loop doorlopen word, maar 1 van de menu modes word afgehandeld.
Aangezien de twee keer optellen in twee verschillende modes gebeurt (zou moeten), mag dat dus niet botsen.
Zoals je kunt zien had ik toen ook nog nooit van switch...case gehoord, anders had ik dat zeer zeker gebruikt hiervoor.
Wanneer er iets mis gaat met die menu modes, dan krijg je dus bijvoorbeeld het probleem dat homedistiller nu heeft.

Ik mis wel een stukje in de code, maar wie weet heb ik 'm nog niet vaak genoeg doorgelezen sinds de thread opnieuw leven is ingeblazen.
Het stukje is waar Millis word gekoppeld aan de counter, en de secondes die geteld worden, worden geüpdatet.