zdenekpetrzd

Klavesnice ARR vysílač

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