Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <Arduino.h>
- #include "avdweb_VirtualDelay.h"
- enum state {NONE, L, LV, S, SV};
- enum state aktualni_stav = NONE;
- char c = 0;
- int Rychlost = 0;
- int PomalaJizda = 0;
- int valStara = 1000;
- int val = 0;
- int kontroler = 0;
- int kontrolerStary = 0;
- int klavesa;
- String klavesy[] = {"nic","tab0","tac0","tad0","tae0","tef0","teg0","tah0","tai0","taj0","tak0","nic","tal0","nic","tam0"};
- bool nestisknuto;
- bool plusMinus;
- bool pusteno;
- int cas1;
- int cas2;
- int cas3;
- int stav[] = {0, 15, 31, 46, 61, 77, 92, 107, 123, 138, 155, 170, 185, 200, 211};
- VirtualDelay singleDelay;
- VirtualDelay twoDelay;
- VirtualDelay threeDelay;
- VirtualDelay stiskDelay;
- void setup() {
- Wire.begin(); // join i2c bus (address optional for master)
- Serial.begin(115200);
- Serial.setTimeout(5);
- pinMode(10,INPUT);
- pinMode(11,INPUT);
- singleDelay.start(100);
- twoDelay.start(100);
- threeDelay.start(100);
- stiskDelay.start(100);
- }
- void loop() {
- // if(Serial.available() > 0) {
- // Rychlost = Serial.parseInt(); //15, 31, 46, 61, 77, 92, 107, 123, 138, 155, 185, 218
- // }
- prectiSerial();
- if(Rychlost <1) val = 0;
- if(Rychlost >00 && Rychlost <= 10) val = map(Rychlost, 01, 10, 02, 15);
- if(Rychlost >10 && Rychlost <= 20) val = map(Rychlost, 11, 20, 15, 31);
- if(Rychlost >20 && Rychlost <= 30) val = map(Rychlost, 21, 30, 31, 46);
- if(Rychlost >30 && Rychlost <= 40) val = map(Rychlost, 31, 40, 46, 61);
- if(Rychlost >40 && Rychlost <= 50) val = map(Rychlost, 41, 50, 61, 77);
- if(Rychlost >50 && Rychlost <= 60) val = map(Rychlost, 51, 60, 77, 92);
- if(Rychlost >60 && Rychlost <= 70) val = map(Rychlost, 61, 70, 92, 107);
- if(Rychlost >70 && Rychlost <= 80) val = map(Rychlost, 71, 80, 107, 123);
- if(Rychlost >80 && Rychlost <= 90) val = map(Rychlost, 81, 90, 123, 138);
- if(Rychlost >90 && Rychlost <= 100) val = map(Rychlost, 91, 100, 138, 155);
- if(Rychlost >100 && Rychlost <= 120) val = map(Rychlost, 101, 120, 155, 185);
- if(Rychlost >120 && Rychlost <= 140) val = map(Rychlost, 121, 140, 185, 218);
- if(twoDelay.elapsed()) {
- Wire.beginTransmission(7); // transmit to device #7
- Wire.write(val); // sends one byte
- Wire.endTransmission(); // stop transmitting
- twoDelay.start(10);
- }
- int zvysuje = !digitalRead(10);
- int snizuje = !digitalRead(11);
- if(zvysuje == true) {
- kontroler = 1;
- }
- else if(snizuje == true){
- kontroler = 2;
- }
- else {
- kontroler = 0;
- }
- if(kontroler != kontrolerStary) {
- if(kontroler == 1 && PomalaJizda == 0) {
- kontrolerStary = kontroler;
- Serial.println("ktl2");
- nestisknuto = true;
- cas1 = millis();
- }
- else if(kontroler == 2) {
- kontrolerStary = kontroler;
- Serial.println("ktl-2");
- nestisknuto = true;
- cas3 = millis();
- }
- else if(kontroler == 0) {
- kontrolerStary = kontroler;
- cas2 = millis();
- int cas = cas2-cas1;
- if(cas >90 && cas < 104) {
- nestisknuto = false;
- plusMinus = true;
- }
- int cas4 = cas2-cas3;
- if(cas4 >77 && cas4 < 82) {
- nestisknuto = false;
- plusMinus = true;
- }
- if(plusMinus == false) {
- Serial.println("ktl0");
- pusteno = true;
- }
- else {
- threeDelay.start(125);
- pusteno = false;
- }
- }
- }
- if(threeDelay.elapsed() && pusteno == false) {
- Serial.println("ktl0");
- }
- if(Rychlost > 5 && Rychlost < 15 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tab1");
- klavesa = 1;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 15 && Rychlost < 25 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tac1");
- klavesa = 2;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 25 && Rychlost < 35 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tad1");
- klavesa = 3;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 35 && Rychlost < 45 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tae1");
- klavesa = 4;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 45 && Rychlost < 55 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tef1");
- klavesa = 5;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 55 && Rychlost < 65 && kontroler == 0 && nestisknuto == true) {
- Serial.println("teg1");
- klavesa = 6;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 65 && Rychlost < 75 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tah1");
- klavesa = 7;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 75 && Rychlost < 85 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tai1");
- klavesa = 8;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 85 && Rychlost < 95 && kontroler == 0 && nestisknuto == true) {
- Serial.println("taj1");
- stiskDelay.start(100);
- klavesa = 9;
- nestisknuto = false;
- }
- else if(Rychlost > 95 && Rychlost < 105 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tak1");
- klavesa = 10;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost >105 && Rychlost < 130 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tal1");
- klavesa = 12;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- else if(Rychlost > 130 && Rychlost < 150 && kontroler == 0 && nestisknuto == true) {
- Serial.println("tam1");
- klavesa = 14;
- stiskDelay.start(100);
- nestisknuto = false;
- }
- if(stiskDelay.elapsed() && klavesa != 0) {
- for(int i=1; i<15; i++) {
- if(klavesa == i) {
- Serial.println(klavesy[i]);
- klavesa = 0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment