IR ovládání
Napsal: 01 dub 2018, 13:57
Ahoj nemůžu přijít na to kde mám chybu, mám IR senzor a ovladač chci aby když zmáčknu 1. číslo zapsalo se do proměnné X a když 2. číslo do Y poté s nimi dále pracovat.
#include"IRremote2.h"
#define pinIN 13
IRrecv dalkoveOvl(pinIN);
decode_results vysledek;
int X, Y;
unsigned long time;
int test;
bool first = 1;
void setup() {
Serial.begin(9600);
dalkoveOvl.enableIRIn();
}
void loop() {
if (dalkoveOvl.decode(&vysledek)) {
test = translator();
if (first == 1 && test > 0) {
X = test;
first = !first;
time = millis();
}
else if (first == 0 && millis() - time < 2000 && test > 0) {
Y = test;
first = !first;
}
else first = !first;
}
delay(10);
}
int translator() {
switch (vysledek.value) {
case 0xFF30CF:
return 1;
Serial.println("Stisknuto 1");
break;
case 0xFF18E7:
return 2;
Serial.println("Stisknuto 2");
break;
case 0xFF7A85:
return 3;
Serial.println("Stisknuto 3");
break;
case 0xFF10EF:
return 4;
Serial.println("Stisknuto 4");
break;
case 0xFF38C7:
return 5;
Serial.println("Stisknuto 5");
break;
case 0xFF5AA5:
return 6;
Serial.println("Stisknuto 6");
break;
case 0xFF42BD:
return 7;
Serial.println("Stisknuto 7");
break;
case 0xFF4AB5:
return 8;
Serial.println("Stisknuto 8");
break;
default:
return 0;
Serial.println("Stisknuta jina klavesa");
break;
}
}
#include"IRremote2.h"
#define pinIN 13
IRrecv dalkoveOvl(pinIN);
decode_results vysledek;
int X, Y;
unsigned long time;
int test;
bool first = 1;
void setup() {
Serial.begin(9600);
dalkoveOvl.enableIRIn();
}
void loop() {
if (dalkoveOvl.decode(&vysledek)) {
test = translator();
if (first == 1 && test > 0) {
X = test;
first = !first;
time = millis();
}
else if (first == 0 && millis() - time < 2000 && test > 0) {
Y = test;
first = !first;
}
else first = !first;
}
delay(10);
}
int translator() {
switch (vysledek.value) {
case 0xFF30CF:
return 1;
Serial.println("Stisknuto 1");
break;
case 0xFF18E7:
return 2;
Serial.println("Stisknuto 2");
break;
case 0xFF7A85:
return 3;
Serial.println("Stisknuto 3");
break;
case 0xFF10EF:
return 4;
Serial.println("Stisknuto 4");
break;
case 0xFF38C7:
return 5;
Serial.println("Stisknuto 5");
break;
case 0xFF5AA5:
return 6;
Serial.println("Stisknuto 6");
break;
case 0xFF42BD:
return 7;
Serial.println("Stisknuto 7");
break;
case 0xFF4AB5:
return 8;
Serial.println("Stisknuto 8");
break;
default:
return 0;
Serial.println("Stisknuta jina klavesa");
break;
}
}