Stap 3: Controle 2 servo 's
Er is niets bijzonders over het besturen van de servo's met de GOduino III. Volg gewoon de instructies op de website van Arduino en u zal worden spinnen servo's in geen tijd.
http://Arduino.CC/it/Reference/servo
Na het aansluiten van uw servo's, om te doen een snelle test laden de schets van de Sweep.ino die draait de servo's voorwaarts en achterwaarts. De Arduino IDE open:
Bestanden/voorbeelden/Servo/Sweep
Zorg ervoor dat u het nummer in de myservo.attach(SERVO_PIN_NUMBER) op pin 9 of pin 10 afhankelijk van of u verbinden met uw servo de Servo 1 of 2 Servo header op de GOduino III wijzigen.
Vervolgens uploaden van de schets aan de GOduino III en horloge die de servo's draaien.
U kunt extra servo's (beperkt tot de huidige geleverd door de regelgever en heatsink effectiviteit) met behulp van de de softwarebibliotheek voor Servo
http://www.Arduino.CC/Playground/ComponentLib/servo
Deze blog entry heeft sommige nuttige informatie over het gebruik van de Software Servo-bibliotheek
http://rcarduino.blogspot.com/2012/01/can-i-Control-more-than-x-servos-with.html
Houd in gedachten de stroomvereisten en regelgever hittekwesties bij met behulp van servos. Overwegen een heat sink koppelen aan de toezichthouder om te helpen met de warmteafgifte en thermische shutdown en opnieuw instellen van willekeurige circuit te vermijden.
Als kleine servo's niet genoeg zijn, moet u mogelijk een beefier regelgever zoals de LM1084-5V die kan de bron 5A met een maximale uitval voltage van 1.5V. Controleer de servo gegevensblad om ervoor te zorgen dat het kan functioneren op 5V.
Dit is de test code wordt gebruikt in deze video:
Vegen
door BARRAGAN < http://barraganstudio.com>
Geremixed door Hazim Bitar voor GOduino III robot controller servo test
Deze voorbeeldcode is in het publieke domein.
#include < Servo.h >
Servo myservo1; maken van servo-object om te bepalen van een servo
Servo myservo2; maken van servo-object om te bepalen van een servo
int pos = 0; variabele op te slaan van de servo positie
VOID Setup
{
myservo1.attach(9); de servo op pin 9 hecht aan de servo-object
myservo2.attach(10); de servo op pin 9 hecht aan de servo-object
}
void loop
{
voor (pos = 0; pos < 180; pos += 1) / / gaat van 0 graden tot 180 graden
{/ / in stappen van 1 graad
myservo1.write(POS); servo naar positie in de variabele 'pos' vertellen
myservo2.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(15); wacht 15ms voor de servo te bereiken de positie
}
voor (pos = 180; pos > = 1; pos-= 1) / / gaat van 180 graden tot 0 graden
{
myservo1.write(POS); servo naar positie in de variabele 'pos' vertellen
myservo2.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(15); wacht 15ms voor de servo te bereiken de positie
}
}