GOduino III - skärbräda-vänlig Arduino-baserad robot controller (3 / 6 steg)
Steg 3: Kontrollera 2 servon
Det finns inget speciellt om att kontrollera servon med GOduino III. Följ bara instruktionerna på Arduino webbplats och du kommer att snurra servon på nolltid.
http://Arduino.cc/IT/reference/servo
När du har anslutit din servon, för att göra en snabb test ladda Sweep.ino skiss som visar servon framåt och bakåt. Öppna från Arduino IDE:
Filer/exempel/Servo/sopa
Se till att du ändrar numret i myservo.attach(SERVO_PIN_NUMBER) till antingen stift 9 eller stift 10 beroende på om du ansluter din servo Servo 1 eller Servo 2-rubrik på GOduino III.
Sedan ladda upp skissen i GOduino III och titta på servon vända.
Du kan ansluta ytterligare servon (begränsat till den nuvarande av tillsynsmyndigheten och kylfläns effektivitet) med den programvara Servo Library
http://www.Arduino.cc/Playground/ComponentLib/servo
Denna bloggpost har lite matnyttigt om användning av programvara Servo biblioteket
http://rcarduino.blogspot.com/2012/01/can-i-Control-more-than-x-Servos-with.html
Kom ihåg effektbehovet och regulator värme frågor när du använder servon. Anser att fästa en kylfläns till tillsynsmyndigheten att hjälpa till med värmeavledning och för att undvika termisk avstängning och slumpmässiga krets återställs.
Om små servon inte är tillräckligt, måste du kanske en beefier regulator som LM1084-5V som kan anskaffa 5A med en maximal dropout spänning på 1, 5V. Kolla servo databladet för att säkerställa att det kan verka på 5V.
Detta är den Provningsmetod som används i denna video:
Sopa
av BARRAGAN < http://barraganstudio.com>
Remixad av Hazim Bitar för GOduino III robot controller servo test
Denna exempelkod är offentlig.
#include < Servo.h >
Servo myservo1; skapa objekt för att styra en servo servo
Servo myservo2; skapa objekt för att styra en servo servo
int pos = 0; variabel att lagra servo position
void setup()
{
myservo1.attach(9); tillmäter objektet servo servo på pin 9
myservo2.attach(10); tillmäter objektet servo servo på pin 9
}
void loop()
{
för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader
{/ / i steg om 1 grad
myservo1.write(POS); berätta servo gå för att placera i variabel "pos"
myservo2.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(15); Waits 15 MS för servo att nå ställning
}
för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader
{
myservo1.write(POS); berätta servo gå för att placera i variabel "pos"
myservo2.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(15); Waits 15 MS för servo att nå ställning
}
}