Étape 13: Y et Z axe code
Le code pour contrôler l’axii Y et Z sont chargées dans l’Arduino même., afin que le code soit tous dans un seul programme.L’axe des Y se déplace dans les 2 sens, l’axe Z monte et descend, et la griffe est ouverte et fermée.
Code de l’Arduino :
#include < Servo.h >
#include < Wire.h >
Servo YA ;
Servo YB ;
Servo Z ;
Griffe de servo ;
Trucs de IR
#include < IRremote.h >
int RECV_PIN = 11 ;
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
Action de la chaîne ;
Chaîne oldAction ;
unsigned long temps ;
unsigned long timeIR ;
unsigned long timeDiff ;
dir int = 0 ;
int Ancien_répertoire = 0 ;
void setup() {}
Serial.Begin(9600) ;
irrecv.enableIRIn() ; Démarrer le récepteur IR
}
void loop() {}
lire les boutons IR et définissez l’action / /
Si (irrecv.decode (et résultats)) {}
long x = results.value ;
Serial.println (results.value, HEX) ; pour le décodage des boutons
Serial.println(x) ;
timeIR = millis() ; temps record de push button
{Switch(x)}
affaire 351005205 :
action = « flèche » ;
dir = 5 ;
rupture ;
affaire 350988375 :
action = « flèche vers le bas » ;
dir = 6 ;
rupture ;
affaire 350963895 :
action = « flèche gauche » ;
dir = 1 ;
rupture ;
affaire 350976645 :
action = « flèche droite » ;
dir = 2 ;
rupture ;
affaire 350952165 :
action = « ok/mute » ;
dir = 3 ;
rupture ;
affaire 350986335 :
action = « B2 » ;
dir = 4 ;
rupture ;
cas 4294967295 :
rupture ;
}
irrecv.Resume() ; Recevoir la valeur suivante
}
timeDiff = millis() - timeIR ;
Si ((timeDiff > 200) & & dir! = 0) {//if aucun bouton
dir = 0 ;
action = « none » ;
}
Si (action! = oldAction) {}
Si (action == « flèche gauche ») {}
YA.attach(9) ;
YA.write(0) ;
YB.attach(10) ;
YB.write(180) ;
Serial.println ("Y aller gauche") ;
Delay(100) ;
}
Si (action == « flèche droite ») {}
YA.attach(9) ;
YA.write(180) ;
YB.attach(10) ;
YB.write(0) ;
Serial.println ("Y aller à droite") ;
Delay(100) ;
}
Si (action == « B2 ») {}
Z.Attach(2) ;
Z.Write(180) ; vers le bas
Claw.Attach(6) ;
Claw.Write(100) ; ouvrir ?
Serial.println (« pince vers le bas et ouvert ») ;
Delay(100) ;
}
Si (action == « ok/mute ») {}
Z.Attach(2) ;
Z.Write(0) ; vers le haut
Claw.Attach(6) ;
Claw.Write(20) ; fermer ?
Serial.println ("griffes vers le haut et fermer") ;
Delay(100) ;
}
Si ((action == « none ») & & (Ancien_répertoire == 1 || Ancien_répertoire == 2 || Ancien_répertoire == 3 || Ancien_répertoire == 4)) {}
YA.detach() ;
YB.detach() ;
Z.Detach() ;
Claw.Detach() ;
Serial.println ("tous les stop") ;
Delay(100) ;
}
Serial.Print(dir) ;
Serial.Print("") ;
Serial.println(action) ;
}
Ancien_répertoire = dir ;
oldAction = action ;
Delay(100) ;
} #include < Servo.h >
#include < Wire.h >
Servo YA ;
Servo YB ;
Servo Z ;
Griffe de servo ;
Trucs de IR
#include < IRremote.h >
int RECV_PIN = 11 ;
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
Action de la chaîne ;
Chaîne oldAction ;
unsigned long temps ;
unsigned long timeIR ;
unsigned long timeDiff ;
dir int = 0 ;
int Ancien_répertoire = 0 ;
void setup() {}
Serial.Begin(9600) ;
irrecv.enableIRIn() ; Démarrer le récepteur IR
}
void loop() {}
lire les boutons IR et définissez l’action / /
Si (irrecv.decode (et résultats)) {}
long x = results.value ;
Serial.println (results.value, HEX) ; pour le décodage des boutons
Serial.println(x) ;
timeIR = millis() ; temps record de push button
{Switch(x)}
affaire 351005205 :
action = « flèche » ;
dir = 5 ;
rupture ;
affaire 350988375 :
action = « flèche vers le bas » ;
dir = 6 ;
rupture ;
affaire 350963895 :
action = « flèche gauche » ;
dir = 1 ;
rupture ;
affaire 350976645 :
action = « flèche droite » ;
dir = 2 ;
rupture ;
affaire 350952165 :
action = « ok/mute » ;
dir = 3 ;
rupture ;
affaire 350986335 :
action = « B2 » ;
dir = 4 ;
rupture ;
cas 4294967295 :
rupture ;
}
irrecv.Resume() ; Recevoir la valeur suivante
}
timeDiff = millis() - timeIR ;
Si ((timeDiff > 200) & & dir! = 0) {//if aucun bouton
dir = 0 ;
action = « none » ;
}
Si (action! = oldAction) {}
Si (action == « flèche gauche ») {}
YA.attach(9) ;
YA.write(0) ;
YB.attach(10) ;
YB.write(180) ;
Serial.println ("Y aller gauche") ;
Delay(100) ;
}
Si (action == « flèche droite ») {}
YA.attach(9) ;
YA.write(180) ;
YB.attach(10) ;
YB.write(0) ;
Serial.println ("Y aller à droite") ;
Delay(100) ;
}
Si (action == « B2 ») {}
Z.Attach(2) ;
Z.Write(180) ; vers le bas
Claw.Attach(6) ;
Claw.Write(100) ; ouvrir ?
Serial.println (« pince vers le bas et ouvert ») ;
Delay(100) ;
}
Si (action == « ok/mute ») {}
Z.Attach(2) ;
Z.Write(0) ; vers le haut
Claw.Attach(6) ;
Claw.Write(20) ; fermer ?
Serial.println ("griffes vers le haut et fermer") ;
Delay(100) ;
}
Si ((action == « none ») & & (Ancien_répertoire == 1 || Ancien_répertoire == 2 || Ancien_répertoire == 3 || Ancien_répertoire == 4)) {}
YA.detach() ;
YB.detach() ;
Z.Detach() ;
Claw.Detach() ;
Serial.println ("tous les stop") ;
Delay(100) ;
}
Serial.Print(dir) ;
Serial.Print("") ;
Serial.println(action) ;
}
Ancien_répertoire = dir ;
oldAction = action ;
Delay(100) ;
}