zdenekpetrzd

Klavesncie ARR

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