Étape 18 :
#include < Servo.h >
Ascenseur de servo ;
Servo tournez ;
int val = 0 ;
int start = 10 ;
int next = 7 ;
factice int = 0 ;
const int Pw101 = 3 ;
const int brakeA = 9 ;
const int dirA = 12 ;
void setup()
{
Lift.Attach (2); //lift sur broche 2
Rotate.Attach (5); //rotate sur la broche 5
pinMode (start, INPUT); //pin 10 comme entrée
pinMode (sortie ensuite,); //pin 7 sortie
digitalWrite (next, HIGH) ;
Lift.Write (80); //upright
Rotate.Write (135); //face piste
retarder (2000) ;
}
void loop()
{
Val=digitalRead(Start) ;
if(Val==Low)
{factice = 1 ;
Lift.Write(85) ;
Delay(100) ;
Lift.Write(90) ;
Delay(100) ;
Lift.Write(95) ;
Delay(100) ;
Lift.Write(100) ;
Delay(100) ;
Lift.Write(105) ;
Delay(100) ;
Lift.Write(110) ;
Delay(100) ;
Lift.Write(115) ;
Delay(100) ;
Lift.Write(120) ;
Delay(100) ;
Lift.Write(125) ;
Delay(100) ;
Lift.Write(130) ;
Delay(100) ;
Lift.Write(135) ;
Delay(100) ;
Lift.Write(140) ;
Delay(100) ;
Lift.Write(145) ;
Delay(100) ;
Lift.Write(150) ;
Delay(100) ;
Lift.Write(155) ;
Delay(100) ;
Lift.Write(160) ;
Delay(100) ;
Lift.Write(165) ;
Delay(100) ;
Lift.Write(170) ;
Delay(100) ;
pinMode(dirA,OUTPUT) ;
pinMode(brakeA,OUTPUT) ;
digitalWrite (dirA, LOW); //forward
digitalWrite (brakeA, LOW); //release de frein
analogWrite (Pw101, 255); //motor sur max
Delay(20000) ;
Lift.Write(145) ;
Delay(100) ;
Lift.Write(135) ;
Delay(100) ;
Lift.Write (125); //lift un peu
Delay(800) ;
Rotate.Write(130) ;
Delay(100) ;
Rotate.Write(125) ;
Delay(100) ;
Rotate.Write(120) ;
Delay(100) ;
Rotate.Write(115) ;
Delay(100) ;
Rotate.Write(110) ;
Delay(100) ;
Rotate.Write(105) ;
Delay(100) ;
Rotate.Write(100) ;
Delay(100) ;
Rotate.Write(95) ;
Delay(100) ;
Rotate.Write(90) ;
Delay(100) ;
Rotate.Write(85) ;
Delay(100) ;
Rotate.Write(80) ;
Delay(100) ;
Rotate.Write(75) ;
Delay(100) ;
Rotate.Write(70) ;
Delay(100) ;
Rotate.Write(65) ;
Delay(100) ;
Rotate.Write(60) ;
Delay(100) ;
Rotate.Write(55) ;
Delay(100) ;
Rotate.Write(50) ;
Delay(100) ;
Lift.Write(140) ;
Delay(100) ;
Lift.Write(145) ;
Delay(100) ;
Lift.Write (150); //at catapulte
Delay(1000) ;
analogWrite(pwmA,0) ;
digitalWrite(brakeA,LOW) ;
Delay(3000) ;
Lift.Write(80) ;
retard (1000); //upright
Rotate.Write(75) ;
Delay(200) ;
Rotate.Write(100) ;
Delay(200) ;
Rotate.Write(110) ;
Delay(200) ;
Rotate.Write(120) ;
Delay(200) ;
Rotate.Write(130) ;
Delay(100) ;
Rotate.Write(135) ;
Delay(100) ;
mannequin = 0 ;
digitalWrite(next,LOW) ;
Delay(1000) ;
digitalWrite(next,HIGH) ;
}}