zdenekpetrzd

Posílání dat - komplet

Feb 11th, 2018
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.18 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <Arduino.h>
  3. #include "avdweb_VirtualDelay.h"
  4.  
  5. enum state {NONE, L, LV, S, SV};
  6. enum state aktualni_stav = NONE;
  7. char c = 0;
  8.  
  9. int Rychlost = 0;
  10. int PomalaJizda = 0;
  11. int valStara = 1000;
  12. int val = 0;
  13.  
  14. int kontroler = 0;
  15. int kontrolerStary = 0;
  16. int klavesa;
  17. String klavesy[] = {"nic","tab0","tac0","tad0","tae0","tef0","teg0","tah0","tai0","taj0","tak0","nic","tal0","nic","tam0"};
  18. bool nestisknuto;
  19. bool plusMinus;
  20. bool pusteno;
  21. int cas1;
  22. int cas2;
  23. int cas3;
  24.  
  25. int stav[] = {0, 15, 31, 46, 61, 77, 92, 107, 123, 138, 155, 170, 185, 200, 211};
  26.  
  27. VirtualDelay singleDelay;
  28. VirtualDelay twoDelay;
  29. VirtualDelay threeDelay;
  30. VirtualDelay stiskDelay;
  31.  
  32. void setup() {
  33.   Wire.begin(); // join i2c bus (address optional for master)
  34.   Serial.begin(115200);
  35.   Serial.setTimeout(5);
  36.  
  37.   pinMode(10,INPUT);
  38.   pinMode(11,INPUT);
  39.   singleDelay.start(100);
  40.   twoDelay.start(100);
  41.   threeDelay.start(100);
  42.   stiskDelay.start(100);
  43. }
  44.  
  45. void loop() {
  46. //  if(Serial.available() > 0) {
  47. //    Rychlost = Serial.parseInt();                //15, 31, 46, 61, 77, 92, 107, 123, 138, 155, 185, 218
  48. //  }
  49.   prectiSerial();
  50.  
  51.   if(Rychlost <1) val = 0;
  52.   if(Rychlost >00 && Rychlost <= 10) val = map(Rychlost, 01, 10, 02, 15);
  53.   if(Rychlost >10 && Rychlost <= 20) val = map(Rychlost, 11, 20, 15, 31);
  54.   if(Rychlost >20 && Rychlost <= 30) val = map(Rychlost, 21, 30, 31, 46);
  55.   if(Rychlost >30 && Rychlost <= 40) val = map(Rychlost, 31, 40, 46, 61);
  56.   if(Rychlost >40 && Rychlost <= 50) val = map(Rychlost, 41, 50, 61, 77);
  57.   if(Rychlost >50 && Rychlost <= 60) val = map(Rychlost, 51, 60, 77, 92);
  58.   if(Rychlost >60 && Rychlost <= 70) val = map(Rychlost, 61, 70, 92, 107);
  59.   if(Rychlost >70 && Rychlost <= 80) val = map(Rychlost, 71, 80, 107, 123);
  60.   if(Rychlost >80 && Rychlost <= 90) val = map(Rychlost, 81, 90, 123, 138);
  61.   if(Rychlost >90 && Rychlost <= 100) val = map(Rychlost, 91, 100, 138, 155);
  62.   if(Rychlost >100 && Rychlost <= 120) val = map(Rychlost, 101, 120, 155, 185);
  63.   if(Rychlost >120 && Rychlost <= 140) val = map(Rychlost, 121, 140, 185, 218);
  64.  
  65.   if(twoDelay.elapsed()) {
  66.     Wire.beginTransmission(7);    // transmit to device #7
  67.     Wire.write(val);              // sends one byte
  68.     Wire.endTransmission();       // stop transmitting
  69.     twoDelay.start(10);
  70.   }
  71.  
  72.     int zvysuje = !digitalRead(10);
  73.     int snizuje = !digitalRead(11);
  74.    
  75.     if(zvysuje == true) {
  76.       kontroler = 1;
  77.     }
  78.     else if(snizuje == true){
  79.       kontroler = 2;
  80.     }
  81.     else {
  82.       kontroler = 0;
  83.     }
  84.  
  85.     if(kontroler != kontrolerStary) {
  86.       if(kontroler == 1 && PomalaJizda == 0) {
  87.         kontrolerStary = kontroler;
  88.         Serial.println("ktl2");
  89.         nestisknuto = true;
  90.         cas1 = millis();
  91.       }
  92.       else if(kontroler == 2) {
  93.         kontrolerStary = kontroler;
  94.         Serial.println("ktl-2");
  95.         nestisknuto = true;
  96.         cas3 = millis();
  97.       }
  98.       else if(kontroler == 0) {
  99.         kontrolerStary = kontroler;
  100.         cas2 = millis();
  101.         int cas = cas2-cas1;
  102.         if(cas >90 && cas < 104) {
  103.           nestisknuto = false;
  104.           plusMinus = true;
  105.         }
  106.         int cas4 = cas2-cas3;
  107.         if(cas4 >77 && cas4 < 82) {
  108.           nestisknuto = false;
  109.           plusMinus = true;
  110.         }
  111.        
  112.         if(plusMinus == false) {
  113.           Serial.println("ktl0");
  114.           pusteno = true;
  115.         }
  116.         else {
  117.           threeDelay.start(125);
  118.           pusteno = false;
  119.         }
  120.       }
  121.     }
  122.  
  123.     if(threeDelay.elapsed() && pusteno == false) {
  124.       Serial.println("ktl0");
  125.     }
  126.    
  127.     if(Rychlost > 5 && Rychlost < 15 && kontroler == 0 && nestisknuto == true) {
  128.       Serial.println("tab1");
  129.       klavesa = 1;
  130.       stiskDelay.start(100);
  131.       nestisknuto = false;
  132.     }
  133.     else if(Rychlost > 15 && Rychlost < 25 && kontroler == 0 && nestisknuto == true) {
  134.       Serial.println("tac1");
  135.       klavesa = 2;
  136.       stiskDelay.start(100);
  137.       nestisknuto = false;
  138.     }
  139.     else if(Rychlost > 25 && Rychlost < 35 && kontroler == 0 && nestisknuto == true) {
  140.       Serial.println("tad1");
  141.       klavesa = 3;
  142.       stiskDelay.start(100);
  143.       nestisknuto = false;
  144.     }
  145.     else if(Rychlost > 35 && Rychlost < 45 && kontroler == 0 && nestisknuto == true) {
  146.       Serial.println("tae1");
  147.       klavesa = 4;
  148.       stiskDelay.start(100);
  149.       nestisknuto = false;
  150.     }
  151.     else if(Rychlost > 45 && Rychlost < 55 && kontroler == 0 && nestisknuto == true) {
  152.       Serial.println("tef1");
  153.       klavesa = 5;
  154.       stiskDelay.start(100);
  155.       nestisknuto = false;
  156.     }
  157.     else if(Rychlost > 55 && Rychlost < 65 && kontroler == 0 && nestisknuto == true) {
  158.       Serial.println("teg1");
  159.       klavesa = 6;
  160.       stiskDelay.start(100);
  161.       nestisknuto = false;
  162.     }
  163.     else if(Rychlost > 65 && Rychlost < 75 && kontroler == 0 && nestisknuto == true) {
  164.       Serial.println("tah1");
  165.       klavesa = 7;
  166.       stiskDelay.start(100);
  167.       nestisknuto = false;
  168.     }
  169.     else if(Rychlost > 75 && Rychlost < 85 && kontroler == 0 && nestisknuto == true) {
  170.       Serial.println("tai1");
  171.       klavesa = 8;
  172.       stiskDelay.start(100);
  173.       nestisknuto = false;
  174.     }
  175.     else if(Rychlost > 85 && Rychlost < 95 && kontroler == 0 && nestisknuto == true) {
  176.       Serial.println("taj1");
  177.       stiskDelay.start(100);
  178.       klavesa = 9;
  179.       nestisknuto = false;
  180.     }
  181.     else if(Rychlost > 95 && Rychlost < 105 && kontroler == 0 && nestisknuto == true) {
  182.       Serial.println("tak1");
  183.       klavesa = 10;
  184.       stiskDelay.start(100);
  185.       nestisknuto = false;
  186.     }
  187.     else if(Rychlost >105 && Rychlost < 130 && kontroler == 0 && nestisknuto == true) {
  188.       Serial.println("tal1");
  189.       klavesa = 12;
  190.       stiskDelay.start(100);
  191.       nestisknuto = false;
  192.     }
  193.     else if(Rychlost > 130 && Rychlost < 150 && kontroler == 0 && nestisknuto == true) {
  194.       Serial.println("tam1");
  195.       klavesa = 14;
  196.       stiskDelay.start(100);
  197.       nestisknuto = false;
  198.     }
  199.  
  200.     if(stiskDelay.elapsed() && klavesa != 0) {
  201.       for(int i=1; i<15; i++) {
  202.         if(klavesa == i) {
  203.           Serial.println(klavesy[i]);
  204.           klavesa = 0;
  205.         }
  206.       }
  207.     }
  208.  
  209. }
Advertisement
Add Comment
Please, Sign In to add comment