ARDUINO Проблемы с ИК Приёмником

kksihtk

✩✩✩✩✩✩✩
27 Май 2024
1
0
Всем доброго времени суток! Я столкнулся с проблемой, с которой борюсь не первый вечер. Суть проблемы: при чтении с ИК Приёмника IR1838b, приходят случайные значения. Данные вывожу в серийный порт.

Код:
Код:
#include "IRremote.h"

const int irPin = 5;
IRrecv irrecv(irPin);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
}

void loop()
{
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC);
    irrecv.resume();
  }
}
Пример вывода:
Вывод:
2572520646
2792848690
2717875178
3001129232
1264155600
(Нажимаю на одну и туже кнопку.)

Много искал в интернете по поводу этой проблемы. На разных форумах видел что были похожие проблемы, люди их как-то исправляли, но забывали написать как. Надеюсь на помощь, заранее спасибо!

Уточню, пульт и приемник из одного комплекта, с другими различными пультами также. Это явно не дефект приемника, потому что уже второй проверяю.
 
Изменено:

gsmtest

✩✩✩✩✩✩✩
3 Июн 2024
4
0
Тоже баловался с Ик посмотри может подойдет
ArduinoIDE:
#include <IRremote.h> // подключаем библиотеку
 
int ledPin = 13; // светодиод
int reciverPin = 11; // пин, к котрому подключен ИК-приемник
IRrecv irrecv(reciverPin);
 
decode_results results;
 
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // запуск приемника
  pinMode(ledPin, OUTPUT);
}
 
void loop() {
  // постоянно считываем данные с приемника
  if (irrecv.decode(&results)) {
    // выводим в консольку, что получили, число в 16-ричном виде
    Serial.println(results.value, HEX);
    // проверяем сигналы - и если это те, что нам нужны, то вкл или выкл светодиод
    if(results.value == 0x926DC837) digitalWrite(13, HIGH);
    if(results.value == 0x926D48B7) digitalWrite(13, LOW);
    irrecv.resume(); // готовы принимать следующий сигнал
  }
}