Menu maken met 3 buttons en lcd

Arduino specifieke Software
Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Menu maken met 3 buttons en lcd

Berichtdoor DeDraak » 25 Sep 2019, 21:09

Met een timer?

Hoe moet ik dat voor me zien?

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Menu maken met 3 buttons en lcd

Berichtdoor Koepel » 26 Sep 2019, 10:41

Met millis() natuurlijk. Wij lossen alle problemen op met millis() software timers :lol:
Je kunt zelf bepalen hoe vaak je een knop leest, hoe vaak je een display ververst, enzovoorts.
Die zijn drie millis() software timers tegelijkertijd: https://github.com/Koepel/Fun_with_millis/blob/master/millis_basic_demo.ino

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Menu maken met 3 buttons en lcd

Berichtdoor DeDraak » 26 Sep 2019, 11:21

Maar is het mogelijk om de firstscreen gewoon te laten draaien in de loop? dus als ik het 2e, 3e of 4e scherm oproep dat het 1e gewoon doorgaat?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Menu maken met 3 buttons en lcd

Berichtdoor Koepel » 26 Sep 2019, 20:30

Nee, niet op die manier.

De uitvoer naar een display is het minst belangrijke van een sketch.
Dat heeft namelijk niets te maken met belangrijke processen van de sketch. Het is alleen maar iets op het scherm laten zien.

Processen die door moeten gaan, en knoppen die gelezen worden, en een temperatuurregeling bijhouden, en sensors inlezen, dat is belangrijk.
Laat dus in je sketch de belangrijke dingen gewoon doorgaan.

Als er soms een keer iets naar een scherm geschreven wordt, nou ja, dat kan. Dan heb je hopelijk alle gegevens voorhanden om dat op het display te laten zien.
Ik zou dus ook het inlezen van knoppen buiten de code van de schermen doen.

Je kunt je loop() indelen op bijvoorbeeld deze manier:

cpp code
void loop()
{
---------------------------------------------------------
Lees alle gegevens in, van sensoren en knoppen
---------------------------------------------------------
...


---------------------------------------------------------
Verwerk de gegevens, bereken dingen.
---------------------------------------------------------
...


---------------------------------------------------------
Oh ja, zet af en toe ook nog iets op het display
---------------------------------------------------------
...


}

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Menu maken met 3 buttons en lcd

Berichtdoor DeDraak » 27 Sep 2019, 12:24

Dat wordt dan wel een heel gedoe,

Zou een auto return naar de firstscreen kunnen?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Menu maken met 3 buttons en lcd

Berichtdoor Koepel » 28 Sep 2019, 06:18

Gestructureerd en netjes werken, en alles in aparte blokken code = veel gedoe :?:

Een grote puinhoop van alles door elkaar en sommige code er meermalen in = niet veel gedoe :?:

Als je wilt dat de code van scherm 1 weer wordt uitgevoerd, dan kun je bij de andere schermen er een timeout in programmeren, zodat na een paar seconden de sketch weer naar scherm 1 springt.
Dan creëer je een nog grotere puinhoop. Als je daarna nog meer wilt toevoegen, dan loop je opnieuw vast.

Je verbindt de functionaliteit van de sketch aan wat er op het display staat. Daar kan ik niets mee. Dat is voor mij nogal tegenstrijdig.

Bekijk het eens van een afstandje.
Deel de sketch in naar functionaliteit.
Stel de sketch voor als bolletjes die in de lucht zweven en onderling verbonden zijn.
Of teken bolletjes of vierkantjes op papier.
Er zijn een paar knoppen, dan is het logisch dat er één stuk code is die de knoppen leest. Dus één bolletje verwerkt de knoppen.
Het display is niet interessant voor de werking van de sketch. Dat is een bolletje dat er onderaan een beetje bij hangt.

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Menu maken met 3 buttons en lcd

Berichtdoor DeDraak » 28 Sep 2019, 09:07

Ja je hebt zeker gelijk koepel!

Maar bedoel je met bolletjes void's of { }?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Menu maken met 3 buttons en lcd

Berichtdoor Koepel » 28 Sep 2019, 13:23

Ik bedoel helemaal niet aan code denken. Geen void, geen haakjes, helemaal niets.
Leun eens rustig achterover, misschien met iets te drinken, en dan de structuur van de sketch bedenken (maar nog niet aan code denken).
Als je de structuur voor je ziet, bijvoorbeeld met zwevende bolletjes die onderling verbonden zijn, dan kun je elk bolletje apart in code gaan zetten.

Je mag het ook op andere manier doen, als je maar niet naar je scherm blijft staren en dat proberen op te lossen. Want dan blijf je vast zitten in de manier waarop je het nu doet.

Als dat niet lukt, begin dan eens om aan het begin van de loop() eerst alle gegevens van sensoren en knoppen te verzamelen en die in variabelen te zetten.
Daarna in een tweede deel van de loop() iets met die gegevens gaan doen.

Er zijn natuurlijk ook minder zweverige methoden om de structuur van code uit te werken. Voor mezelf geef ik er de voorkeur aan om eerst een grove indeling te maken met zwevende bolletjes ;)

Vorige

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Majestic-12 [Bot], onebcira en 23 gasten