hulp gevraagd voor arduino regelunit voor distilleer apparaat

Zo vandaag de potmeter binnen gekregen .
Gelijk maar een beugel gemaakt van rvs.
Morgen de print er nog netjes opmaken (driver)
En dan kan ik hiermee aan het stoeien met de arduino!!

homedistiller:
opstarten van het programma naaldkraan eerst naar helemaal dicht.
Hier heb ik dus ook de feedback voor nodig.
Dan wil ik het totale bereik van de naaldkraan.
dus 3 en een halve slag verdelen in 30 stappen.
0 word dan naaldkraan dicht
15 word dan half open 1.75 slag,
en 30 word naaldkraan compleet open.
Hierbij komen dan de waardes van de potmeter dadelijk bij voor de controle.
het programma hoeft dan alleen dadelijk naar de voor ingestelde stappen te gaan.
Dit wil ik dan ook weer zo eenvoudig mogelijk doen.

Pas wel op met de termen die je gebruikt.
Je hebt het over 30 stappen, en je gaat een stappenmotor gebruiken.
Dat kan je in verwarring brengen op termijn, en daarom raad ik je aan om die 30 stappen anders te noemen.
Zoals 30 blokken ofzo.

Je stappenmotor zet dus per keer dat je 'm aanstuurt 1 enkel stapje.
In die motor zit een dikke vertraging, waardoor dat stapje maar een heel kleine verdraaiing zal opleveren.
Als je hier een aantal Engelstalige threads hebt gevonden, kun je daar uit opmaken dat het aantal stapper per omwenteling net geen 4096 stappen zijn.
Dan heb jij nog de overbrenging aan de motor, een extra vertraging dus omdat de motor meer omwentelingen zal moeten maken om de kraan te laten bewegen.
Ik hoop dat je de verhouding tussen de twee poelies weet.
In dat geval kun je namelijk precies uitrekenen hoe groot elk blok (noem ik m nu dus maar even) moet zijn, uit hoeveel stappen van de motor die zal moeten bestaan.
Het zijn er best wel veel in ieder geval, ik gok dat 1 blok ergens in de buurt van 1500 stappen zal uitkomen (poelies ongeveer 1:3).
Als je de verhouding niet precies weet, kun je dankzij de potmeter in ieder geval meten hoe ver je de kraan gedraaid hebt als je in de buurt van die 4096 stappen bent (het is overigens niet toevallig dat dat een getal is dat door 8 (en 16) deelbaar is, maar dat terzijde).

Mijn stappenmotortje heb ik alleen een paar weken geleden even getest.
Omdat ie wel wat stroom gebruikt en de voeding die ik had het daardoor merkbaar benauwd kreeg ben ik er niet verder mee gegaan.
Daarvoor heb ik een testsketch gebruikt die ik hier van het forum heb geplukt.
Die komt vermoedelijk uit deze thread, maar ik weet niet meer van welke pagina.
Deze stappenmotoren (er schijnen 12 en 5 volt motoren te zijn) worden veel verkocht, en er word ook redelijk veel over gediscussieerd hier op het forum.

Ik ben bezig geweest met een simpele code te zoeken.
Deze heb ik iets aangepast was voorheen bedoeld om twee stappenmotors aan te sturen.

// Simple code voor de 28BYJ48

#include <AccelStepper.h>

#define FULLSTEP 4
#define HALFSTEP 8

//declare variables for the motor pins
int motorPin1 = 8;	// Blauw   - 28BYJ48 pin 1
int motorPin2 = 9;	// Roze    - 28BYJ48 pin 2
int motorPin3 = 10;	// Geel    - 28BYJ48 pin 3
int motorPin4 = 11;	// Oranje  - 28BYJ48 pin 4
                        // Rood    - 28BYJ48 pin 5 (VCC)
                        
// The sequence 1-3-2-4 required for proper sequencing of 28BYJ48

AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup()
{ 
  //stepper1.setMaxSpeed(1000.0);
  stepper1.setAcceleration(600.0);
  stepper1.setSpeed(600);
  //stepper1.moveTo(-2048);   
}
void loop()
{
    //Change direction -
  stepper1.moveTo(-4096);
    // stepper1.moveTo(-4096);
  stepper1.run();
}

Als ik hem nu upload dan gaat hij linksom.
Een volledige ronde.
Haal ik de min weg voor:

stepper1.moveTo(-4096);

Dan gaat hij rechts om.

Nu nog kijken hoe ik de potmeter ga toevoegen.
Eerst maar eens opzoeken hoe ik deze moet aansluiten.

aansluiting 1 en 3 zit spoeltje tussen getekend en aansluiting 3 staat CW bij
het is 1k potmeter 10 turns
Zal eens kijken hoe ik hem op de analoge ingang moet aansluiten.
Zonder dat hij gaat roken haha.

Nog even terug te komen op je vorige reactie mas.
De verhouding is ongeveer 1 op 4
Maar de kleine poelie word aangedreven.
Dus hij moet 4x meer rond draaien om de naaldkraan 1 slag te laten maken.

Nu zit ik te denken hoe ik straks het makkelijks kan gaan aansturen.

ow ow worden weer veel lange avonden.

Dat was niet zo heel ingewikkeld.

// Simple code voor de 28BYJ48
// Met uitlezing van 1K potmeter op ingang A1
// Kraan voledig dicht is 300
// Kraan voledig open is 660

#include <AccelStepper.h>

#define FULLSTEP 4
#define HALFSTEP 8

//declare variables for the motor pins
int motorPin1 = 8;	// Blauw   - 28BYJ48 pin 1
int motorPin2 = 9;	// Roze    - 28BYJ48 pin 2
int motorPin3 = 10;	// Geel    - 28BYJ48 pin 3
int motorPin4 = 11;	// Oranje  - 28BYJ48 pin 4
                        // Rood    - 28BYJ48 pin 5 (VCC)
                        
// The sequence 1-3-2-4 required for proper sequencing of 28BYJ48

AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup()
{ 
  
  Serial.begin(9600);  // initialize serial communication at 9600 bits per second:
  stepper1.setMaxSpeed(1000.0);
  stepper1.setAcceleration(200.0);
  stepper1.setSpeed(500);
  //stepper1.moveTo(-2048);   
}
void loop()
{
  int sensorValue = analogRead(A1);
   // print out the value you read:
   Serial.println(sensorValue);
    //Change direction -
  stepper1.moveTo(-40960);
    // stepper1.moveTo(4096);
  stepper1.run();
}

Nou zit ik het volgende te denken.
Is het niet mogelijk om de stappenmotor naar de analoge waarde te sturen.
bv

Analoge ingang is normaal van 0 volt naar 5 volt
Dat gaat in stappen van 0 tot 1023
Stel dat ik deze omzet in een ander schaal bv 0 tot 30

val = analogRead(potpin);            // Leest dan de waarde van de potmeter tussen  0 en 1023)
 val = map(val, 0, 1023, 0, 30);     // schaal de waarde naar 0 en 30

Is het dan niet mogelijk om de stappen motor naar bv

stepper1.moveTo(Val=30);

te sturen
wat ik dus bedoel om niet naar de "stappen "te kijken.
Maar de stappen motor naar een bepaalde ingangswaarde te sturen van de potmeter?

Okee, dus een verhouding van 4 op 1.
Wat je nog wel kunt doen om het heel goed te doen, is de test of je inderdaad 4096 stappen per omwenteling hebt, of eerder 4076 (of waar je dan ook op uit zal komen).
Je kunt dat vaststellen door tijdelijk een groter wiel (moet je wel hebben natuurlijk) op je motor te monteren, en die dan 1 rondje te laten draaien.
Op de wiel zet je dan een dun streepje dat je bij de start tegenover een andere vaste markering houd.
Als je na 4096 stappen een heel rondje hebt gedraaid, dan moeten de streepjes dus weer recht tegenover elkaar staan.
Je kunt dan kijken of je meer of minder stapjes moet zetten om wel goed uit te komen, en door te proberen kun je ook te weten komen hoeveel dan.
Wanneer je hier niet precies uitkomt, kun je ook 10 of meer rondjes laten draaien, je ziet dan duidelijker hoe groot de afwijking is (als die er echt is), want die is dan dus 10 of meer keer zo groot.

Om je naaldkraan te bewegen en wanneer je inderdaad 4096 stappen per omwenteling hebt, moet je dus 16384 stappen zetten.
Dat zijn er veel.
Zo veel dat je met je 10 slagen potmeter van 1K (ik zou en hogere waarde, zoals 10K gekozen hebben), die je dus maar 3.5 slagen zal laten maken, niet erg nauwkeurig zal kunnen meten wat de verdraaiing is.
Daarmee kun je natuurlijk wel nog steeds zien dat waar je naaldkraan ergens staat, maar de stappen die je zet staan dus in geen werkbare verhouding tot wat je kunt meten met je potmeter.

Even proberen uit te rekenen wat je met de potmeter kunt meten.
De potmeter geeft een signaal af dat moet verlopen tussen 0 en 5 volt, en die 5 volt is verdeeld is 1024 stappen (van 0 tot en met 1023).
Maar je gaat geen 10 slagen maken, maar 3,5.
Dat betekent dat je 6,5 weggooit.
Dus van de 1024 stappen, gooi je er 666 (dat is afgerond naar boven) weg, en houd je er 358 over.
Als je dat dan weer deelt doof je 30 blokken, dan krijg je ongeveer 12 stappen per blok.
Dat is op zich dus prima meetbaar, maar dan moet je wel zorgen dat er geen al te grote afwijkingen in de 5 volt voorkomen.
Want daar hangt je meetwaarde ook van af.

Dat is een stukje theorie, want ik ben bang dat dit helaas niet zal lukken.
En dat komt omdat de 1 K wel wat weinig is.
Door die lage waarde, zou de weerstand wel eens warm kunnen worden (dus toch roken....), en er te veel stroom door de schakeling kunnen worden opgenomen.
Want de weerstand zet je namelijk tussen 5 volt en GND, en dan laat je de loper daarlangs bewegen.
Het dingetje wat je als spoel herkent, is de Amerikaanse tekenwijze van een weerstand dat er ongeveer zo uitziet:

Na het typen, zie ik dat je een nieuw bericht hebt getypt, waarin je niet het aantal stappen wil bijhouden, maar de warde van je potmeter.
Hierboven staat uitgelegd waarom dat niet zo zal werken als je in gedachten had, en ook hoe dan wel.
De map functie kun je niet gebruiken over de totale slag van de potmeter, want je maakt geen totale slag, maar slechts ongeveer een derde daarvan.
Dus op de wijze die je nu hebt voorgesteld lukt dat niet.
stepper1.moveTo kun je ook zo niet gebruiken want die functie stelt nog steeds het aantal stappen in.
Je kunt dat wel gebruiken maar niet door de gewenste potmeter waarde op te geven aan je stepper library.

Wat je kunt doen is een aantal stappen bedenken die je minimaal wil maken.
Dan controleer je of de potmeter op de juiste waarde staat.
Staat ie te hoog dan laat je de motor dat aantal stappen naar beneden zetten, te laag dan dat aantal stappen omhoog.
Daarna ga je weer controleren of je bent aangekomen waar je wilde zijn met de potmeter.
Deze aanpak zal alleen niet heel goed werken als je exacte waardes gaat gebruiken.
Want als je met het door jou gekozen aantal stappen niet precies uitkomt op de door jou gekozen waarde, dan zal je motor net zo lang heen en weer proberen te draaien tot die gewenste waarde wel behaald word (en dat is dan nooit...).
Daarom moet je dan controleren of je potmeter tussen twee gewenste waardes is uitgekomen.
Als het je nu ineens begint te duizelen, moet je dit laatste stukje even een paar keer lezen, misschien dat het dan duidelijker word.
Zo niet dan nog maar eens vragen.

Hoi mas

Ik snap wat je bedoeld met de waarde van de potmeter en dat hij dan gaat zoeken.
Vooral met zulke kleine waarde verschillen.
Het eerste wat ik eindelijk wil proberen is om de stappenmotor bij het opstarten van het programma.
Naar de begin positie laten gaan.
Dus kraan dicht.
De rest is niet zo belangrijk.
Omdat waneer de stroom is uitgevallen of door welke reden dan ook.
Moet je toch opnieuw beginnen met het programma
Als hij dan maar weer naar de begin positie gaat.
Daarna is het aansturen in aantal stappen eindelijk genoeg zonder feetback.
Heb je een klein idee of voorzetje hoe ik dit het best kan doen tips of linkje waar ik veder mee kan komen?
Heb al een paar avonden op internet gekeken
Alleen is er maar weinig te vinden over feetback met een potmeter.

gr Rolf

Wat ik zou doen, is de kraan met de hand bedienen terwijl de potmeter er aan zit, maar de motor niet (borgboutjes losdraaien).
Dit terwijl je een sketch hebt geladen die je de gemeten waarde op het display laat zien.
Gewoon de kraan helemaal dicht.
Dan de kraan halverwege en dan helemaal open.
Telkens de waardes die je op je scherm ziet noteren.
Die waardes zijn dus wat je krijgt als je twee keer achter elkaar de analoge poort uitleest waarop je de potmeter hebt aangesloten.
Dat uitlezen doe je gewoon met
kraanStand=analogRead(A0);, als je de potmeter aan A0 hebt aangesloten.
Je doet dus een lcd.print van kraanStand zodat je kunt zien wat hoe ie er voor staat tijdens dat draaien.
Twee keer lezen, en alleen de tweede keer verwerken.
Dat is omdat er wat verhalen zijn dat een enkele keer lezen van een analoog signaal een niet helemaal correcte waarde kan worden behaald door restanten van de vorige keer toen er een analoog signaal werd binnen gehaald.
Een nog betere manier om dat er uit te krijgen is als je een analoge pin over hebt.
Die kun je dan aan GND knopen en eerst uitlezen.
Daardoor zorg je er voor dat de condensator die in de processor zit (die word voor alle analoge pins gebruikt) leeg gemaakt word voordat je een nieuwe waarde binnen haalt.
Verder kun je het best de waardes een aantal malen testen, onder verschillende omstandigheden.
Het kan namelijk zijn dat de omgevingstemperatuur van invloed is op de waarde die je registreert.

Als je eenmaal weet welke waarde de laagste is, dan controleer je in je hoofdprogramma of de waarde kleiner word dan die waarde plus 1.
Want dan staat de kraan dus dicht.

Overigens zou ik die kraan al voor loop() dichtzetten.
Je kunt dat doen tijdens setup().

Duidelijk het eerste gedeelte van je antwoord.
Ik heb hiervoor even een sketch gemaakt.
Wat ik nu het mooiste vind hieraan.
Is dat ik nu dus in staat ben door jou en het forum hier.
Om zo'n sketch binnen 5 min te maken en te kunnen gebruiken.
Dit had ik voor een jaar geleden dus niet gekund !!
Er kunnen altijd nog wel fouten in staat.
Maar door op die fouten gewezen te worden.
Daar leer je dan het meest door.
Hier de sketch voor de anderen die dit draadje ook volgen.

/* 
 Deze sketch kun je gebruiken om een potentiometer
 uit te lezen.
 Deze moet dan worden aangesloten op analoge ingang A1
 De uitgangswaarde zet hij dan op het lcd scherm neer.
 Rolf 19 mei 2014
 */

 #include <LiquidCrystal.h>                                     

 LiquidCrystal lcd(12, 11, 8, 5, 4, 3, 2); 
 int kraanStand;
 void setup()
 {                                                      

 Serial.begin(9600); 
  lcd.begin(20, 4);                                               
  lcd.clear(); 
 }  

 void loop() {
  kraanStand=analogRead(A1);   
  lcd.setCursor(0,0);     
  lcd.print("kraanStand: ");
  lcd.print(kraanStand);                                   
 delay (100);                           

 }

Ik heb dit nu meerdere keren uitgelezen.
Ik kom dan op het volgende uit elke keer:
De waarde gaan hieronder dus iets afwijken ongeveer 3 stapjes met de potmeter verwarmd met een fohn
Zie de waarden hieronder met fohn en zonder

Kraan dicht is tussen 298 en 301

kraan halfdicht is tussen 476 en 478

Kraan helemaal open tussen 661 en 664

Je hebt het ook over dat de potmeter warm word op een gegeven moment.
Omdat ik voor een potmeter van 1K heb gekozen.
Kan ik dan niet beter een weerstand in serie tussen de twee poten van de potmeter zetten.
Niet de poot van de loper?

Ik krijg dan natuurlijk wel een andere waarde met uitlezen.

Kun je me uitleggen hoe ik de stappenmotor nu vertel dat hij eerst naar de nul positie gaat?
Dit wil ik inderdaad doen in de setup.
Dan staat de stappenmotor altijd netjes in de nulstand.
En kan het programma daarna werken met alleen de stappenmotor

Nou, als je een weerstand tussen de twee andere poten zet, dan zet je die dus parallel aan de potmeter.
Daarmee word de weerstand over de potmeter (en die weerstand) dus veel kleiner.
Daarmee gooi je dan vermoedelijk de 5 volt overhoop, dus dat zeker niet doen.
Wat je kunt doen, is een weerstand voor en/of achter de potmeter zetten.
Dus tussen potmeter en GND of tussen potmeter en 5 volt.
Maar als je dat doet, worden de verschillen die je meet weer kleiner.

Overigens zei ik niet dat die weerstand zou opwarmen, maar dat dat kan gebeuren.
De stroom door de potmeter zal zo'n 5 m Ampère, en het vermogen zo'n 25 milliwatt zijn.
Das niet heel veel, maar kan wel wat machtig zijn voor de potmeter.

Je moet nu gaan bepalen hoe je moet sturen om de kraan dicht te draaien.
Aangezien je in Setup() op een gegeven moment alleen maar bezig bent met die kraan dichtdraaien, kun je daar while() gebruiken.
Dus dan zoiets als:

while(analogRead(A0)>301){
laat de stappenmotor alle fases om de kraan dicht te draaien éénmaal doorlopen
}

Hiervoor moet je dus de stappen motor hebben klaarstaan en moet je weten hoe je 'm aanstuurt.
Als je driver boardje goed is ingesteld, gaat je motor niet kapot als je 'm aanstuurt terwijl ie niet meer verder kan draaien.
Maar dat moet je natuurlijk niet al te lang doen, zowel voor de motor als de driver.
Omdat je dus maar 4 of 8 stappen zet, totdat je de gewenste waarde meet, is het ook onwaarschijnlijk dat dit te lang duurt.
De kraan is dan dus datgene dat het draaien stopt, niet de potmeter.
Hierdoor is de kans dat het een kapotmeter word vrijwel uitgesloten.

De kraan word net zolang dichtgedraaid als de potmeter waarde boven 301 is, is ie 301 of lager dan word er niet meer gedraaid.
Daarmee is het dan dus de vraag hoe dicht de kraan staat als ie op 301 staat, terwijl ie dicht is als ie op 298 zou staan.

Hoi mas bedankt voor je reactie.
Zag hem helaas nu pas.
Ik ben op het moment op vakantie en ben zaterdag weer thuis.
Ik ga er dan gelijk mee veder.
Nu kan ik wel alvast gaan bekijken wat while doet en hier het een en ander
Over uitzoeken.
Je bedoelt met 8 stappen dus eindelijk.
Kijken of waarde op analoge ingang groter is dan 301.
Is dit zo dan 8 stappen kraan dicht draaien.
Weer controleren zo niet onder 301 dit herhalen tot hij controleerd en dat waarde onder 301 zit.
Ik weet wel dat de stappenmotor tegen doordraaien kan als hij blokeerd.
Hiervoor is een slipkoppeling ingebouwd.
Ook zal hij niet heet worden met die 8 stappen.
Nog even over de naaldkraan als hij het laatste stukje net niet dicht gedraaid zit.
Is hij toch dicht.
Dit komt ook doordat er geen druk opstaat.
De vloeistof die hij tegen houd zit in een poeltje van 1 cm hoog.

Ook moet ik even gaan bekijken hoe ik het een en ander ga aansluiten.
Met voedingen van de verschilende komponenten.
Bv:
Voeding lcd.
Voeding arduino.
Voeding stappenmotor.
Voeding relay bord.
Voeding ds18b20 sensoren

Dit gaat natuurlijk niet allemaal meer op de uitgang van de uno.

Zal hier eens een schematje voor tekenen.

Gr Rolf

Hoi Rolf.

We zijn inmiddels een half jaar verder sinds je laatste post.
Dus ik vroeg me af of er inmiddels nog ontwikkelingen zijn.

Had je je tekening al gemaakt ?

Hoi allemaal!

Ik zie dat mijn draadje nog erg veel gelezen wordt.
Ik ben met het project al een tijdje niet meer bezig geweest.
Wel met het distilleren van mijn drankjes!
Voordeel is dat ik nu beter weet hoe mijn ketel werkt!

Maar ik heb mijn proefbordje weer opgezocht.
En wil hier dan ook weer veder gaan met mijn project!
Doordat ik erg druk ben
Is het dus af en toe erg moeilijk om hier tijd voor vrij te maken.

Ik hoop dat ik weer hulp van jullie kan krijgen.
Jullie zijn ook echt niet vergeten door mij.
Ook wil ik mas3
Hier in het bijzonder voor bedanken.
Zonder zijn hulp en sturing zou ik nu niet zo ver zijn gekomen.
Ik ga deze week gebruiken om weer in het programmeren te komen.
En kijken waar ik gebleven was

Dus blijf terug komen om de vordingen te zien.
Ook wil ik alles goed delen zodat anderen er net zoveel van kunnen
Opsteken zoals ik

Groeten en tot snel

Rolf

:slight_smile:

Zo mijn proefbordje weer eens afgestoft.
En deze week er eens mee aan de gang gegaan.

Ik ben er achter dat het laatste waar ik mee bezig ben geweest.
Is de timer.
Deze heb ik aangepast met de laatste post van Mas .
Alleen kom ik nu tot de ontdekking dat deze niet goed aftelt.
Weet niet of het door de nieuwe software komt voor het programeren.
Arduino 1.6.3

maar als hij nu gaat aftellen telt hij in 59 57 55 53 51
en de hele getallen komen niet meer aan bod ?
Iemand hier ook problemen mee ?
Of zit het echt bij mij in het programma wat ik aan het maken ben ?
Zal de code tot nu toe even posten

programma_19-04-2015.ino (89.1 KB)

Gewoon een oudere versie van de Arduino nemen. Dan kan je een evt IDE probleem uitsluiten.

Het word steeds spannender!

de code ingelezen in een oudere versie 1.03
dan doet het probleem zich nog steeds voor
59 57 55 enz

nu heb ik de losse timer ingelezen met versie 1.6.3
zal hem even toevoegen als bijlage

dan telt hij wel netjes terug 59 58 57 56 enz
Nu heb ik de oude code weer ingelezen met 1.6.3
en de seconden niet op 59 gezet maar op 00

int Rmin=15;
int Sec=00;

en nu telt hij 00 58 56 54 52 enz

haha

iemand enig idee hoe dit zou kunnen ?
Toen ik vorig jaar stopte met het programma werkte het wel gewoon.
En ik heb in die tussen tijd niks veranderd gehad /

vreemd vreemd

timer_Rolf_Goed_2.ino (1.06 KB)

Ik heb m ook niet meer zo fris in het geheugen zitten.
Waar haal je de tijd vandaan ?
Is het niet gewoon zo dat je maar eens per 2 seconden langs het stukkie komt waar de tijd naar je LCD word geschreven ?

Ben op t moment weer eens druk met werk en dus nauwelijks in staat om eens even goed te gaan zitten en de sketch es goed te bekijken.

Er gaat iets fout bij de haakjes zowel () als de {}, ook al staat de IF op een regel dan nog {} gebruiken.
net zoals bij een voorwaarde ()

De compiler neemt nu dingen aan.
trouwens als de seconden op -1 staan dan zowel de seconden als de minuten aanpassen, nu krijg je dus van 11:01 eerst 10:00 en dan een seconde later pas 10:59 en dat klopt niet.

shooter:
Er gaat iets fout bij de haakjes zowel () als de {}, ook al staat de IF op een regel dan nog {} gebruiken.
net zoals bij een voorwaarde ()

Zou je dit wat uitgebreider kunnen uitleggen ?
Zie namelijk de fout niet als ik heel eerlijk ben :-[

shooter:
Er gaat iets fout bij de haakjes zowel () als de {}, ook al staat de IF op een regel dan nog {} gebruiken.
net zoals bij een voorwaarde ()

.....

De compiler neemt nu dingen aan.
trouwens als de seconden op -1 staan dan zowel de seconden als de minuten aanpassen, nu krijg je dus van 11:01 eerst 10:00 en dan een seconde later pas 10:59 en dat klopt niet.

Gaat dit over de hele code, of over het kleinere stukje dat als proof of concept voor de timer moet dienen ?

De haakjes moeten inderdaad wel kloppen en die zijn al vaker aan de orde geweest in deze thread.
Het is altijd een goed idee om die nog maar eens te controleren als er iets fout gaat.
Maar de {}, zijn die verplicht ?
Volgens mij alleen als je iets wil uitvoeren dat meer dan 1 regel beslaat, en een regel word pas afgesloten als er een ; puntkomma staat.
Maar ik kan ergens iets gemist hebben.
Ik heb zelf wel de voorkeur een { in dezelfde regel te zetten als de if, maar daar heb ik ook al verschillende meningen over gezien.

Dat van de minuten en de seconden aanpassen kan in de proof of concept zeer eenvoudig worden opgelost, heeft te maken met de volgorde waarin je de controles uitvoert, maar kan ook zoals jij het zegt.
In de andere sketch gebeurt het daar al zo bij MenuMode 100.

Maar bij mm 112 (helemaal aan het eind van de sketch) gaat het inderdaad fout.
Rolf moet nog maar eens een vergelijk maken tussen wat er gebeurt in mm 100 en mm 112.

Verder moet Rolf ook eens kijken of er wel goed naar de menu mode word gekeken.
Kan het niet zo zijn dat er twee keer per rondje een seconde afgeteld word ?
(maar dan moet dat eigenlijk ook in beide gevallen zichtbaar zijn).

Je kunt bijvoorbeeld heel snel een stuk als commentaar buitenspel zetten, waardoor dat niet meer mee doet in de code.
Dat doe je dus met /* en */.
Als het dan ineens weer goed gaat weet je dus dat je in het uitgesloten stuk moet zoeken.