Advertisement
Push28

Martin's mask

Nov 6th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  #include <VarSpeedServo.h>;
  2. int stateNow = 0;
  3. int stateBefore = 0;
  4. int i = 0;
  5. int j = 0;
  6. const int buttonPin = 13; //switch pour ouvre/ferme
  7. const int servoPin = 9; //pin pour le servo
  8. const int openval = 175; //degré douverture
  9. const int closeval = 75 ; // degré de fermeture
  10. const int left_eye=7; //pin pour lumiere oeil gauche
  11. const int right_eye=6; // pin pour lumiere droite
  12. const int closespeed=60; // vitesse de mouvement en fermeture sur 255
  13. const int openspeed=255; //vitesse de mouvement en ouverture sur 255
  14. long randON = 0;                  // Initialize a variable for the ON time
  15. long randOff = 0;                 // Initialize a variable for the OFF time
  16. VarSpeedServo servo;
  17.  
  18. void setup() {
  19.   pinMode (buttonPin, INPUT);
  20.   pinMode (left_eye, OUTPUT);
  21.   pinMode (right_eye, OUTPUT);
  22.   pinMode (servoPin, OUTPUT);
  23.   servo.attach (servoPin,closeval,openval);
  24.   servo.write(openval);
  25.    randomSeed (analogRead (0));    // randomize
  26. }
  27.  
  28. void loop() {
  29.   stateNow = digitalRead(13);
  30.   if (stateNow != stateBefore) {
  31.     if (stateNow==HIGH and i==0) {
  32.       servo.slowmove(closeval,closespeed);
  33.       delay(1000);
  34.       digitalWrite (left_eye, HIGH);
  35.        randON = random (25, 200);    // generate ON time between 0.1 and 1.2 seconds
  36.       delay(randON);
  37.       digitalWrite (left_eye, LOW);
  38.       randOff = random (25, 200);    // generate OFF time between 0.2 and 0.9 seconds
  39.       delay(randOff);
  40.       digitalWrite (right_eye, HIGH);
  41.       randON = random (25, 200);    // generate ON time between 0.1 and 1.2 seconds
  42.       delay(randON);
  43.     digitalWrite (right_eye, LOW);
  44.     randOff = random (25, 200);    // generate OFF time between 0.2 and 0.9 seconds
  45.       delay(randOff);
  46.     digitalWrite (left_eye, HIGH);
  47.        randON = random (25, 200);    // generate ON time between 0.1 and 1.2 seconds
  48.       delay(randON);
  49.       digitalWrite (left_eye, LOW);
  50.       randOff = random (25, 200);    // generate OFF time between 0.2 and 0.9 seconds
  51.       delay(randOff);
  52.       digitalWrite (right_eye, HIGH);
  53.       randON = random (25, 200);    // generate ON time between 0.1 and 1.2 seconds
  54.       delay(randON);
  55.     digitalWrite (right_eye, LOW);
  56.     randOff = random (50, 200);    // generate OFF time between 0.2 and 0.9 seconds
  57.       delay(randOff);
  58.       digitalWrite (right_eye, HIGH);
  59.     digitalWrite (left_eye, HIGH);
  60.     randON = random (75, 350);    // generate ON time between 0.1 and 1.2 seconds
  61.       delay(randON);
  62.     digitalWrite (right_eye, LOW);
  63.     digitalWrite (left_eye, LOW);
  64.     randOff = random (50, 350);    // generate OFF time between 0.2 and 0.9 seconds
  65.       delay(randOff);
  66.     digitalWrite (left_eye, HIGH);
  67.     digitalWrite (right_eye, HIGH);
  68.     randON = random (75, 350);    // generate ON time between 0.1 and 1.2 seconds
  69.       delay(randON);
  70.     digitalWrite (right_eye, LOW);
  71.     digitalWrite (left_eye, LOW);
  72.     randOff = random (50, 900);    // generate OFF time between 0.2 and 0.9 seconds
  73.       delay(randOff);
  74.     digitalWrite (left_eye, HIGH);
  75.     digitalWrite (right_eye, HIGH);
  76.       j=1;
  77.     }
  78.     else if (stateNow==LOW and j==1) {
  79.       i=1;
  80.     }
  81.     else if (stateNow==HIGH and i==1) {
  82.       digitalWrite (left_eye, LOW);
  83.       digitalWrite (right_eye, LOW);
  84.       servo.slowmove(openval,openspeed);
  85.       j=0;
  86.     }
  87.     else if (stateNow==LOW and j==0) {
  88.       i=0;
  89.     }
  90.   }
  91.   stateBefore=stateNow;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement