Automatisk 360 grader Panorama Shooting Stand (17 / 18 steg)
Steg 17: kod!
Av Pavel Mihaylov
Edition 04
#include < Servo.h >
Servo myservo; skapa objekt för att styra en servo servo
Servo myservo_horizontal; maximalt åtta servo objekt kan skapas
int pos = 0; variabel att lagra servo position
int pos_horizontal = 10;
int pos_horizontal_incr;
int pos_horizontal_increment_degrees = 10;
int delay_move = 10;
int delay_move_quicker = 5;
int delay_move_slower = 25;
int delay_photo = 1200;
int första = 1;
void setup()
{
myservo.attach(9); tillmäter objektet servo servo på pin 9
myservo_horizontal.attach(10);
}
void loop()
{
IF(pos_horizontal > 140) / / går från 180 grader till 0 grader
{
samtidigt (pos_horizontal > 10)
{
pos_horizontal-= 1;
myservo_horizontal.write(pos_horizontal); berätta servo gå för att placera i variabel "pos"
Delay(delay_move_slower); Waits 15 MS för servo att nå ställning
}
}
pos_horizontal_incr = pos_horizontal_increment_degrees;
medan (pos_horizontal_incr > 0 || pos < 80) / / går från 180 grader till 0 grader
{
pos_horizontal_incr-= 1;
om (pos_horizontal_incr > 0) {
pos_horizontal + = 1;
}
POS + = 3.
myservo.write(POS);
myservo_horizontal.write(pos_horizontal); berätta servo gå för att placera i variabel "pos"
Delay(delay_move); Waits 15 MS för servo att nå ställning
Delay(delay_move); Waits 15 MS för servo att nå ställning
}
Delay(delay_photo);
Rig svänger fram och tillbaka för att säga hej till kameramannen
IF(initial == 1)
{
medan (inledande < 15)
{
POS-= 1;
myservo.write(POS);
inledande + = 1;
Delay(delay_move_slower);
}
medan (inledande > -15)
{
POS + = 1;
myservo.write(POS);
initial-= 1;
Delay(delay_move_slower);
}
medan (inledande < 22)
{
POS-= 1;
myservo.write(POS);
inledande + = 1;
Delay(delay_move_slower);
}
medan (inledande > 1)
{
POS + = 1;
myservo.write(POS);
initial-= 1;
Delay(delay_move_slower);
}
inledande = 2;
Delay(delay_photo);
Delay(delay_photo);
}
Nu börjar skjuta
för (pos = 80; pos < 125; pos + = 1) / / går från 180 grader till 0 grader
{
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(delay_move); Waits 15 MS för servo att nå ställning
}
Delay(delay_photo);
för (pos = 125; pos < 170; pos + = 1) / / går från 180 grader till 0 grader
{
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(delay_move); Waits 15 MS för servo att nå ställning
}
Delay(delay_photo);
för (pos = 170; pos > 45; pos-= 1) / / går från 0 grader till 180 grader
{/ / i steg om 1 grad
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(delay_move); Waits 15 MS för servo att nå ställning
}
Delay(delay_photo);
för (pos = 45; pos > 10; pos-= 1) / / går från 180 grader till 0 grader
{
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(delay_move); Waits 15 MS för servo att nå ställning
}
Delay(delay_photo);
}