Touch screen - knop om terug te keren naar het eerste scherm uit void setup

Ik ben al even aan het zoeken naar een oplossing op mijn vraag maar ik kan geen exact antwoord vinden. Ik hoop dat iemand me kan helpen.

Ik ben nieuw en probeer wat bij te leren door te experimenteren. We hebben 5 kinderen en ik wil met behulp van een arduino bordje en een tft touch shield een touch screen aan de deur van de badkamer hangen, zodat de kinderen op hun naam kunnen tikken en ze dan een nieuw scherm te zien krijgen met wat tekst of in latere fase (als me dat lukt) een afbeelding.

Ik wil graag op dat tweede scherm een knop toevoegen waarop ze kunnen drukken als ze klaar zijn en waardoor we terug op het eerste scherm komen (scherm met de knoppen van de naamkeuze)
Dat eerste scherm staat in de void setup. De code om de knoppen aan te kunnen klikken en ze door te verwijzen naar hun gepersonaliseerde tweede scherm is klaar.

Ik zit in de knoei met het toevoegen van een knop in dat tweede scherm. Ik kan wel een knop toevoegen en als daar op gedrukt wordt volledig die originele code opnieuw laten uitvoeren, maar ik denk dat ik dan heel omslachtig te werk ga en een heel vuile code aan het schrijven ben. Bestaat er een manier om met een druk op die knop op het scherm terug het eerste scherm op te roepen?

Ik heb mijn code in bijlage geplaatst, want ze is te groot voor dit bericht.

code.txt (8.91 KB)

Waarom zet je dat eerste scherm in de setup?

Hoi nickthienpont, welkom !

Je hebt je vraag eerder al in het Engels gesteld.
Na een heel dik uur ben je er vermoedelijk achter gekomen dat er ook een Nederlandstalig gedeelte is, en heb je deze vraag hier herhaald.
Vervolgens heeft Nico je een heel weloverwogen vraag gesteld, en daarna weer iemand in het Engels een uitgebreid antwoord plus code voor je geschreven.

Het ziet er nu net uit alsof je niet kon wachten op het antwoord, en daarom dezelfde vraag op verschillende plaatsen hebt gesteld om sneller een antwoord te krijgen.
Dat is niet erg aardig voor iedereen die gereageerd heeft en een netjes doordacht, weloverwogen en duidelijk antwoord heeft gegeven.
Natuurlijk was dat niet jouw bedoeling, maar nu weet je wel waarom je dat beter niet kunt doen.

Overigens is Nico's one-liner in essentie hetzelfde antwoord als het Engelstalige antwoord, alleen hoopte Nico dat je er zelf over zou gaan nadenken en doet de andere persoon jou een sketch cadeau zodat je er zelf niet meer over na hoeft te denken (maar we je volgende week wel weer terug gaan zien met de volgende vraag).

Mijn excuses. Ik had idd niet gezien dat er een NL forum was en dacht ook dat deze los van elkaar stonden. Ik kwam er toevallig op toen ik na het stellen van mijn vraag in het EN forum verder zocht op Google naar een antwoord op mijn vraag. Het was geen kwestie van "niet kunnen wachten op een antwoord" :slight_smile: Ik ben sowieso aan het werk overdag en dacht dat het geen kwaad kon de vraag in meerdere fora (die blijkbaar toch niet onafhankelijk van elkaar zijn) te stellen.

Ik heb idd het antwoord gezien in het EN forum, en het zal me toch nog wat denkwerk kosten om alles te implementeren aangezien het programmeren voor arduino helemaal nieuw voor me is. Ik heb enkel wat VBA noties van heel lang geleden en dien me opnieuw in te werken.

Ik heb nog een tweede projectje waarbij ik mijn niveau water van mijn regenput meet en omzet naar liters. Dat heb ik min of meer zelfstandig kunnen vorm geven en intussen zit ik daar op het punt dat ik de data die gemeten wordt via WiFi naar mijn smartphone probeer te sturen. het is niet zo dat ik voor het kleinste probleem vragen op fora begin te stellen, maar pas als ik er zelf echt niet uit kom na uren opzoekwerk. Het zien van de structuren en de opbouw van de code (wat waar ....) is niet makkelijk voor een beginner :slight_smile:

Is hoop dat het geen probleem is als ik verder in de ontwikkeling van mijn sketch met bijkomende vragen kom?

nicoverduin:
Waarom zet je dat eerste scherm in de setup?

Ik ging er vanuit dat de "startsituatie" altijd in de setup terecht diende te komen en de rest in de loop .... moet ik dus even herbekijken want die redenering blijkt niet te kloppen.

nickthienpont:
Is hoop dat het geen probleem is als ik verder in de ontwikkeling van mijn sketch met bijkomende vragen kom?

Natuurlijk is dat geen probleem, zolang je maar je mede-forumleden met het bijbehorende respect benadert.
Sommigen schijnen er moeite mee te hebben dat te begrijpen, en om vervelende situaties te voorkomen heb ik dit aan je toegelicht.

De functies() die in het Engelstalige antwoord beschreven worden zijn wel netjes en worden geacht een goede programma eigenschap te zijn, maar ze zijn niet per se noodzakelijk.
Wat wel noodzakelijk is voor jouw probleem, is om bij te houden wat je aan het doen bent (oftewel met welke stap in je sketch je bezig bent).
En daarvoor moet je dus in setup iets klaarzetten, wat tijdens de afhandeling van loop kan/zal/moet veranderen.

Zie de 1e regel in mijn handtekening hieronder, en/of klik hier.

heel simpel hoor: Alles wat in de setup staat voor dat eerste scherm in een functie zetten (bijv void startscherm(){code}
en dan in de setup een keer die startscherm aanroepen.