sequentiel aflopen van loops

Arduino specifieke Software
Berichten: 2
Geregistreerd: 17 Nov 2021, 11:53

sequentiel aflopen van loops

Berichtdoor Plezant » 17 Nov 2021, 13:35

Hallo,

Ik ben vrij nieuw met Arduino, heb intussen wel al wat met IN/OUTPUT basics en LCD's geëxperimenteerd.

Meestal gebruik ik een PLC maar deze keer wil ik wil een arduino gebruiken om een escape-totem (soort escaperoom opdracht) aan te sturen.

Bedoeling is om in een verplichte volgorde een aantal handelingen uit te voeren. Een handeling kan bestaan uit het activeren van een rookmelder met als gevolg een extra melding op het LCD scherm,...), daarna de volgende handeling...
Aangezien de hele boel in één loop staat loop ik al snel vast.

Ik dacht eraan om eventueel de verschillende handelingen in subroutines te programmeren (sommige moeten loops zijn, andere éénmalige uitvoering,..)

Iemand een idee hoe ik dit het beste aanpak ?

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: sequentiel aflopen van loops

Berichtdoor shooter » 17 Nov 2021, 14:45

er zijn een paar manieren voor, als je ze allemaal in de loop zet kun je met een if handelingdoen een functie starten en als het gedaan zet je de handelingdoen gewoon uit .
je kunt als je er meerdere hebt ook met een switch case ze afgaan dus dan staan ze naast elkaar en toch doe je maar 1 case tegelijk.
en ja het is heel slim om er subroutines van te maken .
zo kun je dus ook een tijd instellen met millis en als je dan jouw handeling zoals het verzetten van een sero met 1 stap ga je eerst even wat anders doen zoals een display, en na 0,1 sec doe je weer een stap (dat gaat dan weliswaar niet met een for loop maar met een stappenteller.
paul deelen
shooter@home.nl

Berichten: 2
Geregistreerd: 17 Nov 2021, 11:53

Re: sequentiel aflopen van loops

Berichtdoor Plezant » 17 Nov 2021, 17:26

Dank je wel voor de tips !

De switch case heb ik even opgezocht. Als ik het goed begrijp kan je verschillende cases opstarten door één en dezelfde varariabele te vergelijken. In mijn situatie zijn er verschillende inputs te activeren.. Tenzij ik diezelfde variabele een waarde geef naargelang welke injput hoog is, dat lukt misschien ook.. Ik probeer alleszins wat verder.
;)

Berichten: 68
Geregistreerd: 04 Sep 2021, 08:31

Re: sequentiel aflopen van loops

Berichtdoor RobGood » 18 Nov 2021, 14:56

Hallo Plezant, Ik heb vele 'Escape room' puzzels gemaakt. Deze puzzel lijkt me ook een x aantal acties die de spelers in de juiste volgorde moeten oplossen om de puzzel op te lossen.
Ik doe dit meestal door een 'fase' variabele te introduceren.

Na opstarten van de puzzel staat deze fase op 1, na oplossen van eerste opdracht gaat het naar 2 enz. Na op lossen in de hoogste fase is dan de puzzel opgelost en gaat het deurtje open ofzo iets.
Die fase kun je dan in de loop gaan uit splitsen

dus:
loop()
switch (fase){
case 1:
opdracht1();
break;
case 2:
opdracht2();
break;
}

void opdracht1(){

}

void opdracht2(){
}

}
}

in die functies opdracht1 en opdracht2 enz komt dan de specfieke afhandeling van de opdracht die de spelers daar moeten op lossen....

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: sequentiel aflopen van loops

Berichtdoor shooter » 18 Nov 2021, 23:01

en als opdracht1 klaar is dan maak je fase 2 etc.
je kunt ook de fase 10 hoger maken dan kun je netter programmeren als er nog iets tussenkomt.
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 12 gasten