SHARE
TWEET

Untitled

a guest May 16th, 2018 144 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // potřebné knihovny
  2. #include <Servo.h>
  3. #include <EEPROM.h>
  4.  
  5. const int Servo1Pin = 9;   // Cisla pinu pouzitych pro pripojeni jednotlivych serv
  6. const int Servo2Pin = 10;  // Cisla pinu pouzitych pro pripojeni jednotlivych serv
  7.  
  8. const int Button1Pin = 3;   //Analogovy input jako digitalni vstup
  9.  
  10. int led1 = 12;
  11. int led2 = 6;
  12.  
  13. //Promenne pro tlacitka
  14.  
  15. int Button1State = 0;
  16.  
  17. //Promenne pro serva
  18.  
  19. int Servo1Position = EEPROM.read(1);  //Poloha serva 1 je ulozena na adrese 1
  20. int Servo2Position = EEPROM.read(2);  //Poloha serva 2 je ulozena na adrese 2
  21.  
  22. //Inicializace serv
  23.  
  24. Servo Servo1;
  25. Servo Servo2;
  26.  
  27. void setup()
  28. {
  29.   // Aktivace pinu pro tlacitka
  30.  
  31.   pinMode(Button1Pin, INPUT_PULLUP);
  32.  
  33.   pinMode(led1, OUTPUT);
  34.   pinMode(led2, OUTPUT);
  35.  
  36.   //Pripojeni a nastaveni serv po restartu
  37.  
  38.   Servo1.attach(Servo1Pin);          //Aktivace serva
  39.   Servo1.write(Servo1Position);      //Nastaveni polohy serva (ve stupnich)
  40.   delay(200);                        //Rychlost prestaveni serva vyjadrena v dobe potrebne ke zmene polohy v ms
  41.   Servo1.detach();                   //Deaktivace serva
  42.  
  43.   Servo2.attach(Servo2Pin);
  44.   Servo2.write(Servo2Position);
  45.   delay(200);
  46.   Servo2.detach();
  47.  
  48. }
  49.  
  50. void loop() {                                //Hlavni smycka
  51.  
  52.   Button1State = digitalRead(Button1Pin);
  53.  
  54.     if (Servo1Position == 40) {            
  55.       digitalWrite(led1, LOW); //zapnutí led
  56.       digitalWrite(led2, HIGH); //zapnutí led
  57.       }
  58.    
  59.     if (Servo1Position == 20) {            
  60.       digitalWrite(led1, HIGH); //zapnutí led
  61.       digitalWrite(led2, LOW); //zapnutí led
  62.       }
  63.  
  64.     if (Button1State == HIGH) {             //Pri stisku tlacitka 1...
  65.  
  66.         Servo1.attach(Servo1Pin);             //...pripoj servo 1...
  67.         Servo2.attach(Servo2Pin);             //...a servo 2...
  68.  
  69.         switch (Servo1Position) {             //...v zavislosti na poloze prvniho serva zmen polohu obou serv...
  70.           case 20:
  71.             Servo1.write(40);
  72.             delay(300);                         //...pozadovanou rychlosti (cim vyssi hodnota, tim nizsi rychlost prestaveni)
  73.             Servo2.write(45);
  74.             delay(300);
  75.             Servo1Position = 40;
  76.             EEPROM.update (1, 40);              //...zapis nove polohy do EEPROM...
  77.             EEPROM.update (2, 45);
  78.             break;
  79.  
  80.           case 40:
  81.             Servo1.write(20);
  82.             delay(300);
  83.             Servo2.write(30);
  84.             delay(300);
  85.             Servo1Position = 20;
  86.             EEPROM.update (1, 20);
  87.             EEPROM.update (2, 30);
  88.             break;
  89.         }
  90.  
  91.         Servo1.detach();                          //... a deaktivuj serva
  92.         Servo2.detach();
  93.  
  94.       }
  95. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top