roboterhand/servotest.ino

73 lines
1.4 KiB
Arduino
Raw Permalink Normal View History

2018-10-24 14:18:19 +02:00
//PWM-Duty-Cycle:
// 0Grad = 0,55 ms
// 5Grad = 0,6 ms
// 10Grad = 0,65 ms
// 15Grad = 0,7 ms
// 20Grad = 0,75 ms
// 25Grad = 0,8 ms
// 30Grad = 0,85 ms
// 35Grad = 0,9 ms
// 40 Grad = 0,95 ms
// 45 grad = 1,00 ms
// 50 Grad = 1,05 ms
// 55 Grad = 1,10 ms
// 60 Grad = 1,15 ms
// 65 Grad = 1,20 ms
// 70 Grad = 1,25 ms
// 75 Grad = 1,30 ms
// 80 Grad = 1,35 ms
// 85 Grad = 1,40 ms
// 90 Grad = 1,45 ms
// 180 Grad = 2,35ms
//Define sensors and servos
// servo.h instanziert Servo-Objekte und konfiguriert Ausgänge als PWM (bis zu 2ms Duty-Cycle bei 50Hz)
#include <Servo.h> //Includes servo library
Servo motor1;
int servoPin1 = 3; //gelb
int winkel_1 = 180; // Winkel bei grossen Sensorwerten
int winkel_0 = 0; // Winkel bei kleinen Sensorwerten
int speed1 = 10;
void setup()
{
Serial.begin(9600);
//Attach the servo objects to their respective pins
//Daumen (Sensor: braun, Servo: gelb)
motor1.attach(servoPin1);
/* Servo-Kontakte als Ausgang */
pinMode(servoPin1, OUTPUT);
}
void loop()
{
//Motor
int pos;
for(pos=winkel_0; pos<winkel_1; pos++) {
Serial.print("Winkel: ");
Serial.print(pos);
Serial.print("\n");
motor1.write(pos);
delay(speed1);
}
for(pos=winkel_1; pos>winkel_0; pos--) {
Serial.print("Winkel: ");
Serial.print(pos);
Serial.print("\n");
motor1.write(pos);
delay(speed1);
}
}
2018-11-16 10:05:40 +01:00