ик приемник
- Войдите на сайт для отправки комментариев
Пнд, 01/07/2013 - 01:40
доврый день попытался сам написать скетч для управления arduinо через ик пульт смысл в том что при нажатии определенной кнопки ду должен сработать пин и через определенное время отключиться вот что попытался собрать из разных скетчей но срабатывает несколько раз и потом не какой реакции
#include <IRremote.h> // eto skachannaya biblioteka
int RECV_PIN = 11; //vkhod IK priyemnika
IRrecv irrecv(RECV_PIN);
decode_results results;
int a=0; // peremennaya pereklyucheniya rezhima , pri nazhatii knopki ona prinimayet znacheniye +1
void setup()
{
irrecv.enableIRIn(); // vklyuchit? priyemnik
pinMode(13, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
delay(300); // zaderzhka pered vypolneniyem opredeleniya knopok , chtoby izbezhat? bystroye dvoynoye nazhatiye
if (results.value == 0x1000809) {a=a+1;} // obrabotka nazhitya klavishi , zdes? peremennaya prinimayet znacheniye +1
// nachinayem vklyuchat? svetodiody na pinakh
{
digitalWrite(13, HIGH); // включаем светодиод
delay(1000); // ожидаем секунду
digitalWrite(13, LOW); // выключаем светодиод
delay(1000); // ожидаем секунду
}
// deystviye posle nazhatiya knopki , yesli peremennaya stala ravna 1 to
{ //
delay(50); //pauza mezhdu povtorami //
} //
irrecv.resume(); //
}
}
знаю что есть темы но нечего путного не нашел помогите чем можете
Где вы все эту конструкцию a=a+1; берете для флага?
#include <IRremote.h> // eto skachannaya biblioteka int RECV_PIN = 11; //vkhod IK priyemnika IRrecv irrecv(RECV_PIN); decode_results results; boolean a = 0; // peremennaya pereklyucheniya rezhima , pri nazhatii knopki ona prinimayet znacheniye +1 void setup() { irrecv.enableIRIn(); // vklyuchit? priyemnik pinMode(13, OUTPUT); } void loop() { if (irrecv.decode(&results) && a == 0) { if (results.value == 0x1000809) { digitalWrite(13, HIGH); // включаем светодиод delay(1000); // ожидаем секунду digitalWrite(13, LOW); // выключаем светодиод delay(1000); // ожидаем секунду a = 1; } delay(50); //pauza mezhdu povtorami // irrecv.resume(); // delay(300); } else a = 0; }