Проблема с ИК приёмником помогите

Нужна помощь у меня есть 2 ИК приёмника:
module
nomodule

написал для них такой код

#include <IRremote.h>

const int RECV_PIN = 8;

IRrecv irrecv(RECV_PIN);
decode_results results;

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

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume();
  }
}

Но весь вывод с двух разных пультов состоит из этого:
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF

это выводится на нажатие любой кнопки, помогите как это исправить.

возьми пример из библиотеки попробуй

Что за плата ардуино?

Плата Arduino Uno ATME328P

пробовал подключать к Analog in на A5 то же самое

Дайте ссылку на купленный приемник

Скорее скетч из примеров одной версии библиотеки, а стоит другая версия. Лучше начать с примеров поставленной библиотеки или искать готовые примеры с версией под них.
Ещё может быть ошибка по выводам датчика.

заказывал с Pin Duo Duo

https://mobile.yangkeduo.com/goods2.html?goods_id=376312096179&page_from=23&pxq_secret_key=D2JKAU37I37YOJOF6DVF7I35O7GVMCLW47HN3VZBM55IB53B65NQ&_oak_share_snapshot_num=310&_oak_share_time=1710672998&share_uin=LJWDFVMME4LVGF25VWWDBKSQOA_GEXDA&refer_share_id=7eb1ba2f1caa4950b534de436feeb803&refer_share_uin=LJWDFVMME4LVGF25VWWDBKSQOA_GEXDA&refer_share_channel=copy_link&refer_share_form=text

и ещё один шел уже в комплекте когда я заказывал сам набор ардуино

Я не смог открыть ссылку (видимо регистрацию требует, я в китайском никакой). Приведите описание на английском/китайском/русском (что в описание товара)

Вот все что было указано в описании товара

не помогла эта информация? :melting_face:

Если кому интересно я нашел решение проблемы, вместо данного кода:

#include <IRremote.h>

const int RECV_PIN = 8;

IRrecv irrecv(RECV_PIN);
decode_results results;

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

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume();
  }
}

должен быть такой:

#include <IRremote.h>

const int RECV_PIN = 8;

void setup() {
  Serial.begin(9600);
  IrReceiver.begin(RECV_PIN);
}

void loop() {
  if (IrReceiver.decode()) {
    Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
    
    delay(500);

    IrReceiver.resume();
  }
}
1 лайк

Не интересно на 328-м чипе ИК приёмник сделать.
Интересно было мне сделать на ESP32, чтоб девайс выдавал изображение VGA на монитор, обрабатывал мышку/клавиатуру, управлял несколькими нагрузками разными, получал данные от пяти ds18b20 и ещё и ИК приёмник обрабатывал. И всё в реальном времени. Теперь не интересно, я это сделал.

#include <IRremoteESP8266.h>
#include <IRrecv.h>
const uint16_t kRecvPin = 4;//ПОРТ ИК ПРИЁМНИКА
IRrecv irrecv(kRecvPin);
decode_results results;
#include <arduino.h>
#include <stdio.h>
#include "fabgl.h"
fabgl::VGA8Controller DisplayController;//Запускаем графическую библиотеку с разрешение 8 цветов.
fabgl::Canvas        canvas(&DisplayController);
fabgl::PS2Controller PS2Controller;
int indicatorX = 20;
int indicatorY = 200;
int cursor     = 2;
......................................................................................

void IR() {
if (irrecv.decode(&results)){
//if (results.value==3778443399){CHAS++; if(CHAS>23) CHAS=0;}//+VOL
//if (results.value==100309605)//СТРЕЛКА ВВЕРХ
//{CHAS++; if(CHAS>23) CHAS=0;}
//if (results.value==3778476039){CHAS--;if(CHAS<0) CHAS=23;}//-VOL
//if (results.value==100305525)//СТРЕЛКА В НИЗ
//{CHAS--;if(CHAS<0) CHAS=23;}
//if (results.value==100319295 or results.value== 3778421469)//+CH
//{brightness=brightness+20; if (brightness>255) brightness=10;}
//if (results.value==100297365 or results.value==3778422999)//СТРЕЛКА В ЛЕВО
//if (results.value==100333575 or results.value==3778454109)//-CH
//{brightness=brightness-20; if (brightness<10) brightness=255;}
//if (results.value==100280535 or results.value==3778455639)//СТРЕЛКА В ПРАВО
//if (results.value==3778413819)//1
//if (results.value==3778446459)//2
//if (results.value==3778430139)//3
aa=results.value;
serialPrintUint64(results.value);
irrecv.resume(); // Receive the next value
canvas.selectFont(&fabgl::FONT_8x8);
canvas.setPenColor(RGB888(255,255,255));
canvas.drawTextFmt(20, 200,ru("Считан код ИК приeмника:"));
canvas.drawTextFmt(20, 210, " %d", results.value);
canvas.drawTextFmt(20, 220, " %d", aa);
}
}

осталось научится код на форуме вставлять?

Ладно, мой косяк…

Да-да. Тоже долго голову ломал, принимая от пульта непонятные каракули. Уже думал пульт в наборе гуано. Взял от ТВ-приставки. Та-же история. Пока на одном из форумов не наткнулся на чей-то пост, что с версии библиотеки выше 3.х.х что-то разрабы поломали и лучше использовать библиотеки более ранних версий. Поставил в итоге IRremote версии 2.2.3 и всё прекрасно заработало, сигналы пошли какие нужно, скетчи запустились. А на последних версиях этой бибилиотеки, даже их-же собственные примеры не работали.