ik snap dat millis niet

Arduino specifieke Software
Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

ik snap dat millis niet

Berichtdoor vanschagen » 31 Mei 2015, 10:27

hallo
ik gebruik tot nu toe nog steeds delay
maar lees steeds dat je beter millis ,kan gebruiken.
maar hoeveel is 1 milli,ik snap dat niet
bijvoorbeeld:
delay(100); hoeveel is dat met millis???
is er iemand die me dat op simple manier kan uitleggen??(anders snap ik het niet)
bedankt alvast

Advertisement

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

Re: ik snap dat millis niet

Berichtdoor shooter » 31 Mei 2015, 18:19

de functie millis() is een teller die gewoon elke milliseconde 1 omhoog gaat, het is een long integer dus op een gegeven moment begint het weer op 0.

je kunt dus bijv.
if (startteller) {starttijd=millis()};
if (stopteller) {stoptijd=millis();
looptijd = stoptijd-starttijd;

in de loop kun je het ook gebruiken als een delay, maar het programma loopt dan wel gewoon door en doet iets als de tijd voorbij is:\
if millis()-startijd>= looptijd {doe iets in een functie }
paul deelen
shooter@home.nl

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

Re: ik snap dat millis niet

Berichtdoor shooter » 31 Mei 2015, 18:20

delay werkt intern trouwens met deze millis() hoor dus het getal is hetzelfde.
kijk eens naar blink without delay.
paul deelen
shooter@home.nl

Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

Re: ik snap dat millis niet

Berichtdoor vanschagen » 31 Mei 2015, 21:33

ja had dat blink met millis al opgezocht,maar snap het voordeel,tegenover delay niet.

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

Re: ik snap dat millis niet

Berichtdoor shooter » 31 Mei 2015, 21:47

als het programma een delay tegenkomt, dan stopt het programma gewoon tot de tijd voorbij is, met alles.
even een voorbeeld:
een verkeerslicht staat 10 seconden op groen, dus dat heb je met delays opgelost drie tijden prima, nu wil je graag een drukknop zien voor voetgangers, maar dat kan alleen als het programma telkens naar een pin kijkt, en dat geberut dus niet in een delay.
oplossing is een programma bedenkendie snel loopt en als de tijd voorbij is dan even snel naar een functie om het licht te verzetten.
als je nu een if in de loop maakt dan kan er direct actie gedaan worden.
delay is leuk om te beginnen, maar een beetje ervaring helpt je heel snel van de delay af.
paul deelen
shooter@home.nl

Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

Re: ik snap dat millis niet

Berichtdoor vanschagen » 31 Mei 2015, 21:59

ok bedankt .
ik ga het eens proberen,met millis
als ik er achter ben ,gebruik ik het gewoon net als nu met dat delay
ik snap nu dat millis voordelen heeft.
bedankt voor de uitleg.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: axxiova, tavopitipv en 17 gasten