Servo: verschil tussen versies

Uit TrompBot
Naar navigatie springen Naar zoeken springen
 
Regel 17: Regel 17:
Om de aanstuurpuls te maken met de [[Software]] moet je een paar opdrachten gebruiken:
Om de aanstuurpuls te maken met de [[Software]] moet je een paar opdrachten gebruiken:


===Verstellen dat je een servo wilt gebruiken===
===Vertellen dat je een servo wilt gebruiken===
  Servo ''ServoNaam'';
Om een servo te gebruiken geeft je aan het begin van je programma alle servo's een naam.
<syntaxhighlight>
Servo mijnServo;  // maak een Servo met de naam 'mijnServo'
</syntaxhighlight>
Dit doe je aan het begin van je programma (voor <code>setup()</code> en <code>loop()</code> functie)
Dit doe je aan het begin van je programma (voor <code>setup()</code> en <code>loop()</code> functie)
De ServoNaam mag vanalles zijn (bijvoorbeeld ''arm'' of ''draai''). Die naam gebruik je later weer om de servo iets te laten doen.
De ServoNaam mag vanalles zijn (bijvoorbeeld ''arm'' of ''draai''). Die naam gebruik je later weer om de servo iets te laten doen.
Als je meerdere servos wilt gebruiken, moet je deze opdracht meerdere keren gebruiken, en iedere keer een andere ''ServoNaam'' verzinnen.
Als je meerdere servos wilt gebruiken, moet je deze opdracht meerdere keren gebruiken, en iedere keer een andere ''ServoNaam'' verzinnen.
Bijvoorbeeld:
 
   Servo hooglaag;
<syntaxhighlight>
   Servo draai;
   Servo hooglaag; // de naam van de eerste servo
   Servo draai;   // de naam van de tweede servo
</syntaxhighlight>


===Verbinding maken met de servo===
===Verbinding maken met de servo===
  ''ServoNaam''.attach( ''pennummer'' );
Dit doe je 1 keer in de <code>setup()</code> functie) voor ieder servo die je wilt gebruiken. ''pennummer'' is een getal. Dit is het nummer van de aansluitpen op de microcontroller. (in ons geval 10 of 11). ''ServoNaam'' is de naam die je eerder verzonnen hebt, toen je hebt verteld dat je een servo wou gebruiken.
Dit doe je 1 keer in de <code>setup()</code> functie) voor ieder servo die je wilt gebruiken. ''pennummer'' is een getal. Dit is het nummer van de aansluitpen op de microcontroller. (in ons geval 10 of 11). ''ServoNaam'' is de naam die je eerder verzonnen hebt, toen je hebt verteld dat je een servo wou gebruiken.
<syntaxhighlight>
void setup()
{
  mijnServo.attach(10);  // verbind de servo met de uitgang van aannsluitpen 10
}
</syntaxhighlight>


===Een nieuwe hoek in stellen===
===Een nieuwe hoek in stellen===
  ''ServoNaam''.write( ''hoek'' );
Dit kan je zo vaak je wilt doen in de <code>setup()</code> en <code>loop()</code> functie. De hoek loopt van 0 naar 180 graden. Dat is een halve omwenteling.
Dit kan je zo vaak je wilt doen in de <code>setup()</code> en <code>loop()</code> functie.
 
<syntaxhighlight>
void loop()
{
  mijnServo.write(90); // ga naar stand 90 graden
}
</syntaxhighlight>
 
===Voorbeeldprogramma===
Dit is een voorbeeldprogramma wat de hoek van de servo verandert als je op een knop drukt.
 


----
----

Huidige versie van 10 jul 2012 om 22:53

Beginnen | Hardware | Software | Voorbeeldprogramma | Inkscape & lasersnijden | Errors & Tips | Kekbot | [TrompBot Website] | Trompbots | Percussie & ritme | Fioretti programma


Hardware

De servo is een motor die met de microcontroller aangestuurd kan worden.

Servo-aanlsuiting.png
Servo.gif

De servo heeft ook een sensor. Deze sensor meet de stand van de as. Als de as rechts of links moet draaien, dan geeft de sensor aan hoever hij nog moet draaien.

Het aansturen wordt gedaan door een bepaalde tijd het stuur-signaal van de servo hoog te maken. De stand van de servo is afhankelijk van hoe lang het signaal hoog is. Dat is te zien in de volgende grafiek.

Servo-puls.png


Software

Om de aanstuurpuls te maken met de Software moet je een paar opdrachten gebruiken:

Vertellen dat je een servo wilt gebruiken

Om een servo te gebruiken geeft je aan het begin van je programma alle servo's een naam.

Servo mijnServo;  // maak een Servo met de naam 'mijnServo'

Dit doe je aan het begin van je programma (voor setup() en loop() functie) De ServoNaam mag vanalles zijn (bijvoorbeeld arm of draai). Die naam gebruik je later weer om de servo iets te laten doen. Als je meerdere servos wilt gebruiken, moet je deze opdracht meerdere keren gebruiken, en iedere keer een andere ServoNaam verzinnen.

  Servo hooglaag; // de naam van de eerste servo
  Servo draai;    // de naam van de tweede servo

Verbinding maken met de servo

Dit doe je 1 keer in de setup() functie) voor ieder servo die je wilt gebruiken. pennummer is een getal. Dit is het nummer van de aansluitpen op de microcontroller. (in ons geval 10 of 11). ServoNaam is de naam die je eerder verzonnen hebt, toen je hebt verteld dat je een servo wou gebruiken.

void setup()
{
  mijnServo.attach(10);  // verbind de servo met de uitgang van aannsluitpen 10
}

Een nieuwe hoek in stellen

Dit kan je zo vaak je wilt doen in de setup() en loop() functie. De hoek loopt van 0 naar 180 graden. Dat is een halve omwenteling.

void loop()
{
  mijnServo.write(90); // ga naar stand 90 graden
}

Voorbeeldprogramma

Dit is een voorbeeldprogramma wat de hoek van de servo verandert als je op een knop drukt.