Проблема с ИК-приемником

Тема в разделе "Проводная и беспроводная связь", создана пользователем Artyom9000, 26 мар 2015.

  1. Artyom9000

    Artyom9000 Нуб

    Добрый день. Подключил к Arduino UNO ик-приемник. Его выпаял с машинки, поэтому название не знаю (с виду похож на VS1838B). После загрузки скетча :
    Код (Text):
    #include <IRremote.h>

    int RECV_PIN = 11;

    IRrecv irrecv(RECV_PIN);

    decode_results results;

    void setup()
    {
      Serial.begin(9600);
      irrecv.enableIRIn(); // Start the receiver
    }

    void loop() {
      if (irrecv.decode(&results)) {
        Serial.println(results.value, HEX);
        irrecv.resume(); // Receive the next value
      }
      delay(100);
    }
    Открыл монитор последовательного порта и при нажатии ЛЮБОЙ клавиши на пульте выводился ноль. Перепробовал множество пультов: у всех так, кроме одного (от телевизора) - у него все нормально, но все же изредка проскакивают нули. (Также пробовал пульт Car MP3) Приложил скрины с работающим пультом и с нулями. ненули.png нули.png
     
  2. Максим B

    Максим B Гуру

    У самого от телека philips проскакивают 0. Возможно из-за разных частот приемника-передатчика. А если delay увеличить??
     
  3. Salk

    Salk Гик

    А зачем здесь вообще delay?
    PHP:
    void loop()
    {
      //в results будут помещаться принятые и
      //декодированные ик команды
      decode_results results;
      //Если ик команда принята и успешно декодирована -
      //выводим полученный код в сириал монитор
      if (irrecv.decode(&results))
      {
        Serial.println(results.value);
        irrecv.resume();
      }
    }
    Попробуйте другую библиотеку, например от сюда:
    http://arduino-project.net/biblioteki-arduino/