Servo’s vegen

Laat de servo op pin 9 van de Simple Walker van 0 naar 180 graden bewegen en weer terug. Onder de sketch volgt een uitleg waarin de sketch stap voor stap besproken wordt.

Sketch

Je kan deze sketch op twee manieren op de Simple Walker zetten: 1) Kopiëer de onderstaande code in een nieuw Arduino-bestand (klik hier voor instructies) of 2) download de sketch hier en open deze vervolgens in de Arduino-omgeving.

Uitleg

1
Het eerste stuk code is commentaar. Door stukken tekst tussen /* en */ te plaatsen, kan je commentaar en uitleg schrijven. Het is een goede gewoonte om code van commentaar te voorzien om het makkelijker leesbaar te maken voor jezelf en voor anderen.


2
Het volgende stuk code voegt de servo-library toe. Libraries zorgen ervoor dat we speciale functies kunnen toevoegen aan de Arduino-programmeertaal. In dit geval voegen we dus speciale functies voor het besturen van de servomotoren toe. (N.B., de eerste regel is weer een commentaarregel.)


3
Vervolgens maken we een variabelen voor de servo aan:


4
Vervolgens begint de setup. Dit is een stuk code dat één keer wordt uitgevoerd, direct na het aanzetten van de Arduino. Hierin verbinden we de servo met pin 9 (mijnServo.attach(9);
). (N.B., regels die beginnen met // zijn commentaar, net zoals de tekst tussen /* en */.)


5
loop()-functie. Alles wat in de loop()-functie staat wordt herhaald tot de Simple Walker wordt uitgezet.


6
Het eerste stuk van de loop()-functie laat de servo langzaam in stapjes van 1 graad van 0 graden naar 179 graden bewegen. Dit gebeurt met behulp van een for-opdracht. Hiermee kan je een stuk code een aantal keer laten herhalen. De code wordt in de volgende stappen uitgevoerd:

  1. De waarde van de variabele i begint bij 0.
  2. Vervolgens wordt de opdracht mijnServo1.write(i); uitgevoerd. De waarde van i is 0, dus de servo op een hoek van 0 graden gezet.
  3. Vervolgens pauzeert het programma 10 milliseconden (delay(10);).
  4. Nu is de eerste iteratie van de for-opdracht klaar. De variabele i wordt met 1 opgehoogd, i heeft dus nu de waarde 1.
  5. Nu begint het feest opnieuw: De opdracht mijnServo1.write(i); wordt weer uitgevoerd, maar nu met i=1. De servo beweegt dus nu naar 1 graden.

Dit gaat zo door tot i de waarde 179 heeft bereikt. De servo staat dus nu op 179 graden. Nu is deze for-opdracht klaar, en kunnen we verder met de volgende opdracht.



7
Het volgende stuk van de loop-functie is wederom een for-opdracht. Deze doet bijna hetzelfde als het vorige stuk, maar nu begint de variabele i bij de waarde 180 en telt in elke iteratie terug tot i de waarde 1 heeft bereikt. De servo beweegt dus nu langzaam van 180 graden terug naar 0.


8
Als allerlaatste regel bevat de code nog een }, hiermee wordt de loop-functie afgesloten. Zo weet de Simple Walker dat de loop-functie klaar is en hij weer opnieuw kan beginnen.