We proberen een robotarm te bedienen met behulp van de Tower Pro MG 996R 180 ° servomotor met hoog koppel.
Eerst probeerden we de servo aan te sturen van Arduino's standaard 5V, maar het werkte niet, we stuwden het van een externe bron, de servo rende, maar slechts in één richting. Toen stopte het met draaien. We hebben de sweep-code uit de Arduino-voorbeelden gebruikt om de motor te testen.
Hier is de code:
#include
Servo myservo; //create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; //variable to store the servo position
void setup() {
myservo.attach(9); //attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) {//goes from 0 degrees to 180 degrees
//in steps of 1 degree
myservo.write(pos); //tell servo to go to position in variable 'pos'
delay(15); //waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) {//goes from 180 degrees to 0 degrees
myservo.write(pos); //tell servo to go to position in variable 'pos'
delay(15); //waits 15ms for the servo to reach the position
}
}
Kan iemand aangeven wat we verkeerd doen en wat de juiste manier is om het te doen.