Здравствуйте, есть код ик приёмника:
Подскажите пожалуйста, как сделать так, что бы:
если пришел код 0xA8020829 выводит hello 1, но сделать интервал на уникальность кода 5 секунд,
например, если раз в секунду отправлять 0xA8020829 то выведит его только 1 раз за 5 секунд, так же если придет 0xFFFFA857 оно его выведит один раз в 5 секунд, если две команды будет приходить, то будет выводить только 1 раз за 5 секунд, что нужно добавить в код ?
Заранее благодарен
Up. Чт предпологаю что мне поможет
И добавить Serial.setTimeout(time)
C++:
#include "IRremote.h"
IRrecv irrecv(4);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results))
{
int res = results.value;
if(res==0xA8020829)// Если нажата кнопка "1"
{
Serial.println("hello 1");
}
else if(res==0xFFFFA857)// Если нажата кнопка "2"
{
Serial.println("hello 2");
}
irrecv.resume();
}
}
если пришел код 0xA8020829 выводит hello 1, но сделать интервал на уникальность кода 5 секунд,
например, если раз в секунду отправлять 0xA8020829 то выведит его только 1 раз за 5 секунд, так же если придет 0xFFFFA857 оно его выведит один раз в 5 секунд, если две команды будет приходить, то будет выводить только 1 раз за 5 секунд, что нужно добавить в код ?
Заранее благодарен
Up. Чт предпологаю что мне поможет
C++:
// будем искать слово hello
char target[] = "hello";
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
if (Serial.find(target))
Serial.println("found");
// вывести found, если было послано
}
}
Изменено: