Servo-slave (Servo-0) | |||
Leerdoelen Maak kennis met een servo-motor en de aansturing daarvan via de Arduino. | Functies en libraries Servo-library: Servo object, attach, write Functie: map | Elektrische componenten Servo potmeter 10kOhm | |
Voorkennis Analoge invoer (potmeter) | |||
Inleiding Met een servo-motor kun je een apparaat besturen, bijvoorbeeld het roer van een radiografisch bestuurbare zeilboot. Met een Arduino kun je de draaiing (hoek) van een servo instellen. In deze schakeling gebruik je een potmeter als (analoge) input. Als je de potmeter verdraait, draait de servo mee. De servo is dan de “slave” van de potmeter. | |||
Opbouwen van de schakeling De potmeter sluit je op dezelfde manier aan als in de eerdere potmeter-schakeling: de beide uiteinden aan 0V en 5V, de middenaansluiting aan de analoge input A0. De servo heeft 3 aansluitingen: de zwarte of bruine draad gaat naar 0V, de rode draad naar 5V, en de gele of oranje draad is voor de besturing van de servo: deze sluit je aan op een PWM-uitgang van de Arduino - hier D6. Als de servo een connector heeft, dan kun je deze via breadboard-draadjes aan het breadboard verbinden. | |||
Uitleg van het schema De uitgang van de potmeter is aangesloten op een analoge ingang: dit geeft een spanning tussen 0V en 5V op deze ingang. In de Arduino zetten we deze spanning (via de analoog/digitaal-omzetter) om in een getal tussen 0 en 1023. Met dit resultaat passen we de hoek van de servo aan. | |||
#include <Servo.h> | |||
Uitleg programma De code voor dit programma vind je in de Arduino IDE onder Voorbeelden->Servo->Knob In het programma gebruiken we de Servo-library. Voor het aansturen van een servo moeten we een Servo-object declareren; deze noemen we myservo. Bij de initialisatie (setup) koppelen we dit object aan pin 9. In de loop lezen we de waarde van de potmeter (verbonden aan A0): dit geeft een waarde tussen 0 en 1023. Deze rekenen we om tot een waarde tussen 0 en 180, via de functie “map”. Die waarde gebruiken we voor het instellen van de servo. Na het instellen van de servo geven we deze even de tijd om naar de nieuwe positie te bewegen (“sleep”). Zie: | |||
Vragen en opdrachten
| Antwoorden: | ||
Extra opdracht: aansluiten van de servo op een aparte voeding. In het voorbeeld hierboven krijgt de servo de voeding vanuit de Arduino. Als je een krachtige servo gebruikt, of als je meerdere servo’s gebruikt, kan die voeding tekort schieten. Je kunt dan een extra voeding gebruiken voor de servo, volgens het schema hiernaast. Let op: de 0V (GND) van de Arduino en van de batterij (en van de servo) moeten met elkaar verbonden zijn! De plus (6V) van de batterij is alleen aan de servo verbonden - niet aan de Arduino. | |||
We gebruiken op het breadboard de tweede reeks voedingslijnen voor de extra voeding (batterij). De 0V (GND) van beide voedingen moeten hierbij met elkaar verbonden zijn. | |||
Servo-0 --