ArduBlock - signaal push button onthouden

Hoi alle

Ik ben opzoek naar een manier om binnen arduBlock het signaal van een drukknop te onthouden.

Het is namelijk zo dat de leerlingen op de school een verkeerslicht hebben geprogrammeerd. Nu zijn we het verder aan het uitbreiden met een voetgangerslicht. Maar tot nu toe moeten ze de knop ingedrukt houden tot als de lus opnieuw start en de if functie de ingedrukte knop herkent.

Nu mijn vraag hoe kan ik ervoor zorgen dat wanneer er ergens in het programma op de knop wordt gedrukt de if functie (wanneer de lus terug afspeelt) nog weet dat er op de knop is gedrukt.

alvast bedankt
groeten
Jonas

Hoi Jonas,

Plaats hier je sketch, dat kan men er naar kijken.
Daarbij denk ik dat er veel tijd gaat verloren door het commando DELAY, hierdoor gaat een een druk op de knop niet werken.
Kijk voor een oplossing in de handtekening van MAS3.

groetjes
Vic

je zal een variabele moeten zetten en dan met if werken.

simuleer je programma met de leerlingen.
voor elke lamp een leerling.
dan iemand die het programma doet.

dan je feitelijke probleem.
in het echie werd daar vroeger een houdrelais voor gebruikt, dan keek de computer naar het relais als het zover was.

de eerste les is natuurlijk blink
de 2e zou blink without delay moeten zijn.
je bereikt hiermee dat je loop heel snel gaat lopen
maar vooral leer dit eerst zelf, en ja ik wil best een keer langskomen hoor, en zowel u als de leerlingen een paar trucjes geven.

Hoi JonasDJ, welkom.

Om mijn handtekening te vinden, is het handig als ik hier ook reageer.
Als jullie een probleem hebben met een drukknop die door een mens bediend moet worden, in combinatie met de duur van 1 iteratie (oftewel wachten op het opnieuw starten van de lus zoals jij het noemde), dan heb je met zekerheid een blokkerende code in gebruik.
Je loopt nu tegen de reden aan waarom je dat zo snel mogelijk moet afleren, en de studenten worden zo ook een stuk wijzer.
Een standaard Uno doet ongeveer 16 miljoen handelingen per seconde.
Als je daarmee een verkeerslicht programmeert (zonder blokkerende code), dan moet het wel een heel stevige code zijn wil die niet vaker dan enkele tienduizenden malen per seconde naar de knoppies kijken.

Ik moet hier wel bij vermelden dat ik tot nog toe geen idee had van wat ArduBlock is en/of betekent.
Dus maar eens opgezocht.
Het is schijnbaar programmeren zonder toetsenbord, je bouwt de code met blokjes alsof je een lego werkstukje maakt.
Dat maakt het programmeren eenvoudiger, maar je geeft wel wat veel uit handen vind ik.
Of je hiermee de mogelijkheid zult hebben om blokkerende code te voorkomen weet ik niet.
Net zo min of ik deze methode heel geschikt vind om studenten het programmeren te leren, voor meer dan een vluchtige introductie.
Maar die korte blik die ik er nu op geworpen heb is nauwelijks voldoende om er werkelijk over te oordelen.

En JonasDJ,

Het word niet gewaardeerd als je dezelfde vraag een uurtje later nog eens stelt op een andere plaats op hetzelfde forum.
Dat is niet netjes, en als je vraag op verschillende plaatsen tegelijkertijd behandeld word kan dat al snel tot grote verwarring leiden.
En dat dan weer tot frustraties bij zowel de vraagsteller als bij degenen die hun best doen om je goed te helpen om vervolgens te zien dat dat schijnbaar niet gewaardeerd word.
Verder geef je zo de indruk dat je ongeduldig bent en niet even kunt afwachten tot er een zinnig antwoord is, en dat was natuurlijk niet de bedoeling.

tja huiswerk uitstellen werkt niet goed, maar wil je wel helpen hoor, geef maar een contact door aan shooter@home.nl dan bel ik wel.

Dag allemaal

Alvast mijn excuses voor de dubbele post en mijn oprechte appreciatie voor de veelvuldige antwoorden.

De reden waarom ik in mijn les met arduBlock werk en nog niet met de pure code is omdat de leerlingen 12 jaar zijn. Ze kunnen nog geen Engels. Dit is trouwens ook hun eerste "stapjes" in het programmeren en om dan ineens tonnen code over je te krijgen is niet echt motiverend voor kinderen van die leeftijd.

Is er iemand hier die al wat vertrouwd is met de add-on arduBlock?

groeten
Jonas

ja hoor
gebruik het wel eens, maar aangezien ik al heel veel libraries heb in gewoon C, maak ik wel eens een voorbeeldje, maar voor het echte werk ga ik toch of naar de IDE, en ik ben nu eclipse aan het leren.

ik denk dat je een goede weg gevonden hebt hoor, het werkt wel anders dan LOGO, maar is zeker de moeite waard om structuur in een programma te krijgen.
de eerste die je doet is natuurlijk blink met pin 13 en delay.
thuis uitwerken is simpel.
dan blink without delay, en uitleggen hoe een subroutine werkt.
Ik heb ze gemaakt in ardublock, maar vind dat je dat als docent toch echt zelf uit moet vogelen, en als je er vragen over hebt, stuur dan je abp op en ik kijk ernaar.