Advertisement
LetPatrick

slider

Dec 13th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.14 KB | None | 0 0
  1. #include <OneButton.h>
  2. #include <Servo.h>
  3. #include <Encoder.h>
  4. #include <EEPROM.h>
  5.  
  6. int save = 0;
  7. int addrA = 0;
  8. int addrB = 1;
  9. int addrC = 2;
  10. int newPosition = 0;
  11. int oldPosition  = 0;
  12. int APosition = 0;
  13. int BPosition = 0;
  14. int Enc = 0;
  15. Encoder myEnc(5, 6);
  16. Servo myservo;
  17.  
  18. OneButton button1 = OneButton(1, false);
  19. OneButton button2 = OneButton(2, false);
  20.  
  21. void setup() {
  22.   int APosition = EEPROM.read(addrA);
  23.   int BPosition = EEPROM.read(addrB);
  24.  
  25.     myservo.attach(12);
  26.    
  27.   Serial.begin(9600);
  28.   while (!Serial);
  29.   Serial.println("Programm start");
  30.  
  31.   button1.attachClick(ClickA);
  32.   button1.attachPress(SaveA);
  33.   button1.setPressTicks(2000);
  34.   button2.attachClick(ClickB);
  35.   button2.attachPress(SaveB);
  36.   button2.setPressTicks(2000);
  37. }
  38.  
  39. void loop() {
  40. save = EEPROM.read(addrC);
  41.  // Serial.println(save);
  42.   button1.tick();
  43.   button2.tick();
  44.  
  45.   newPosition = myEnc.read();
  46.   if(save > 0)
  47. {
  48.  if (newPosition != oldPosition) {
  49.     oldPosition = newPosition;
  50.    
  51.   newPosition = map(newPosition, 0, 180, 0, 180);
  52.   newPosition = constrain(newPosition, 0, 180);
  53.   myservo.write(newPosition);
  54. }
  55. //kleiner 0
  56. else if(save < 0)
  57. {
  58.    Serial.println(save);
  59.    EEPROM.write(addrC, 0);
  60. }
  61.    
  62.  
  63.   }
  64.     Serial.print("Position : ");
  65.     Serial.print(newPosition);
  66.     Serial.print("  APosition : ");
  67.     Serial.print(APosition);
  68.     Serial.print("  BPosition : ");
  69.     Serial.print(BPosition);
  70.     Serial.print("  Save : ");
  71.     Serial.println(save);
  72.   delay(10);
  73. }
  74.  
  75. void ClickA(long A)
  76. {
  77.   Serial.println("Ein Klick - Bewegen nach Punkt A");
  78.   myservo.write(APosition);
  79.   myEnc.write(APosition);  
  80. }
  81.  
  82. void SaveA()
  83. {
  84.   Serial.println("Halten - Save A");
  85.   EEPROM.write(addrA, newPosition);
  86.   APosition = EEPROM.read(addrA);
  87.   Serial.println(APosition);
  88.   EEPROM.write(addrC, 1);
  89.  
  90. }
  91.  
  92. void ClickB()
  93. {
  94.   Serial.println("Ein Klick - Bewegen nach Punkt B");
  95.   myservo.write(BPosition);
  96.   myEnc.write(BPosition);
  97. }
  98.  
  99. void SaveB()
  100. {
  101.   Serial.println("Halten - Save B");
  102.   EEPROM.write(addrB, newPosition);
  103.   BPosition = EEPROM.read(addrB);
  104.   Serial.println(BPosition);
  105.   EEPROM.write(addrC, 1);
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement