// Arduilloween v1 #include // les 2 servos VarSpeedServo servo_machoire; VarSpeedServo servo_cou; // la LED int ledPin = 8; int val_machoire_ouverte = 40; int val_machoire_fermee = 120; int val_cou_repos = 90; int val_cou_gauche = 10; int val_cou_droite = 170; // valeur courante de la machoire int val_machoire = val_machoire_ouverte; void setup() { // attacher les servos aux pins 4 et 5 servo_cou.attach(4); servo_machoire.attach(5); // mettre le cou au milieu et ouvrir la machoire servo_cou.slowmove(val_cou_repos, 10); servo_machoire.slowmove(val_machoire_ouverte, 10); // init de la LED pinMode(ledPin, OUTPUT); // allumer la LED digitalWrite(ledPin, HIGH); } void loop() { // faire clignoter une fois la LED digitalWrite(ledPin, LOW); delay(200); digitalWrite(ledPin, HIGH); delay(4000); // tourner le cou a droite servo_cou.slowmove(val_cou_droite, 30); delay(5000); // tourner le cou a gauche servo_cou.slowmove(val_cou_gauche, 30); // fermer la machoire si elle etait ouverte if (val_machoire == val_machoire_ouverte) { servo_machoire.slowmove(val_machoire_fermee, 30); } // faire clignoter une fois la LED digitalWrite(ledPin, LOW); delay(200); digitalWrite(ledPin, HIGH); delay(4000); // inverser la machoire int speed = 0; if (val_machoire == val_machoire_ouverte) { val_machoire = val_machoire_fermee; // fermer vite speed = 0; } else { val_machoire = val_machoire_ouverte; // ouvrir doucement speed = 30; } servo_machoire.slowmove(val_machoire, speed); // mordre 2 fois rapidement if (val_machoire == val_machoire_fermee) { delay(2000); servo_cou.slowmove(val_cou_repos, 20); delay(5000); servo_machoire.slowmove(val_machoire_ouverte, 0); delay(150); servo_machoire.slowmove(val_machoire_fermee, 0); delay(1000); servo_machoire.slowmove(val_machoire_ouverte, 0); delay(150); servo_machoire.slowmove(val_machoire_fermee, 0); } }