Arduino Forum

International => Nederlands => Topic started by: MAS3 on Oct 18, 2016, 08:32 pm

Title: Blink Without Delay: de sketch die je beter eerst eens goed bekijkt.
Post by: MAS3 on Oct 18, 2016, 08:32 pm
Ik heb vragen gekregen over "BlinkWithoutDelay", wat dat betekent en waarom ik het daar telkens over heb.

Ik heb het daar zelfs over in elke post op het Arduino forum, want heb het deel van mijn handtekening (sign off) gemaakt.
Dat heb ik gedaan omdat het een heel goede manier is om tijdafhankelijke handelingen te doen, zonder alle andere handelingen te stoppen.
Want dat is wat de delay() functie doet.
Het zet vrijwel alles wat je Arduino doet stil, op de hartslag en het adem halen (bij wijze van spreken) na.

Arduino gaat vooral over leren, en daarom worden er met de Arduino IDE veel voorbeelden meegeleverd.
Om een start te maken met het leren, word er delay() toegepast.
Want bij je eerste stapjes ben je geholpen met niet al te complexe code.
Maar als je wat verder geraakt, zal de code ook al vanzelf complexer worden, en dan is 1 van de eerste hindernissen de delay() functie.
Met het voorbeeld BlinkWithoutDelay, word je een alternatief aangereikt zonder delay().
Het is vrijwel altijd beter (dus er zijn uitzonderingen) om delay() niet te gebruiken.
Alle uitleg daarover is eigenlijk al te vinden in dat voorbeeld, maar dat voorbeeld is zoals bij alle meegeleverde voorbeelden die ik heb gezien wel in het Engels.
Ik raad iedereen aan om eens die BlinkWithoutDelay sketch te bekijken.

En ermee te spelen.
Want van alleen kijken zul je weinig opsteken.
Speel er mee door wat dingen te veranderen in die sketch, en kijk wat dat voor resultaat heeft.
Dat geldt voor alle voorbeelden, want die zijn daar juist voor gemaakt.
Dan pas ben je echt aan het leren.

Je vindt die sketch in je Nederlandstalige IDE hier:
(http://forum.arduino.cc/index.php?action=dlattach;topic=430295.0;attach=184261)
Title: Re: Blink Without Delay: de sketch die je beter eerst eens goed bekijkt.
Post by: septillion on Jun 28, 2019, 11:57 am
Of dit de juiste plaats is mag de eigenaar van dit draadje over beslissen. Maar voor de toekomst als je code plaatst is het handig dit gewoon als .ino te doen (het bestandsformaat van de Arduino IDE) ipv .txt. Opent het vanzelf in de Arduino IDE (of andere editor van de persoon) met syntax highlighting etc.

Mag ik je nog een paar tips geven?

Code: [Select]
procenta = ((analogRead(A0) - 26) / 10);

Code: [Select]
procenta = map(analogRead(A0), 0, 1024, 0, 101); //ja, 101 is correct!


Ik denk dat als je bovenstaande in acht zou nemen de code een heel stuk leesbaarder wordt en je nog geen 200 regels overhoudt. :)
Title: Re: Blink Without Delay: de sketch die je beter eerst eens goed bekijkt.
Post by: MAS3 on Jun 29, 2019, 01:34 pm
Deze thread gaat over blink without delay.
Niet over een modelspoor toepassing of over arrays.

Wat hier nu gebeurt heet hijacking a thread, oftewel een onderwerp kidnappen.
Dat is zelden zo bedoeld door degene die dat doet, maar wel zeer ongewenst en ongepast.

Want nu sneeuwt het originele onderwerp onder door allerlei dingen die er helemaal niets mee te maken hebben.
Dus graag je modelspoor ontwikkelingen in een ander onderwerp oppakken en het hier clean houden.