Stap 4: Arduino schets
Ten slotte is hier de arduino-programma dat de servo's bestuurt: (een beetje vuilnis heeft daarin - moet het schoon te maken)
#include
Servo servo1 servo2, servo3;
int potPin = 2;
Selecteer de invoer pin voor de potmeter
int servangle = 0; Servo hoek variabele int potPin = 4;
Selecteer de invoer pin voor de potmeter
int potPin2 = 0;
Selecteer de invoer pin voor de potmeter
int ledPin = 13;
Selecteer de pin voor de LED int val = 0;
variabele de waarde afkomstig van de sensor opslaan
int valPot2 = 0;
int valInc = 4;
int currAngle = 0;
int newAngle = 0;
int delayTime = 0; Analoge Lees pinnen const
int buttonPin = 2;
VOID myServo (int curAngle, int newAngle, int angleInc, int incDelay, int servoNum)
{Als (curAngle < newAngle) {voor (int hoek = curAngle; hoek < newAngle; hoek += angleInc) {}
Als (servoNum == 1) servo1.write(angle);
Als (servoNum == 2) servo2.write(angle); delay(incDelay); } }
anders als (curAngle > newAngle) {voor (int hoek = curAngle; hoek > newAngle; hoek-= angleInc) {}
Als (servoNum == 1) servo1.write(angle);
Als (servoNum == 2) servo2.write(angle); delay(incDelay); } } }
VOID Setup {}
Serial.begin(9600);
pinMode (ledPin, OUTPUT);
de ledPin verklaren als uitgang
pinMode(buttonPin,INPUT);
servo1.attach(9);
delay(10);
servo1.write(145);
servo2.attach(11);
delay(10);
servo2.write(90);
servo3.attach(13);
delay(10);
servo3.write(90);
delay(2000); }
void loop {}
Serial.Print ("buttonpin =");
Serial.println(digitalRead(buttonPin));
Val = 1000;
Serial.Print ("val uitstellen =");
Serial.Print(val);
Serial.Print ("val hoek =");
Serial.println(valPot2);
digitalWrite(ledPin,HIGH);
servo1.write(30); 150 tot en met 30
myServo(145,30,1,10,1);
servo2.write(145); 90 tot 150
delay(1000);
servo3.write(109); 80 tot 110 - klem
delay(1000);
servo3.write(100); 80 tot 110
servo1.write(145); 150 tot en met 30
servo2.write(130); 90 tot 150
int y = 131; voor (int x = 30; x < 146; x = x + 2) {}
myServo(30,145,1,10,1);
servo1.write(x); 90 tot 150
delay(30);
y = y-1;
if(y > 89) {servo2.write(y);
delay(30); }
myServo(130,90,1,10,2); }
delay(7000);
servo3.write(80); 90 tot 150 - open klem
myServo1(172,90,1,15);
delay(val);
servo1.write(172);
myServo1(valPot2,175,1,1);
digitalWrite(ledPin,LOW);
cli();
delay(5000); }