Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
385 views
in Technique[技术] by (71.8m points)

Trying to replicate an IR signal from a remote with a unknown protocol on ESP8266 using Arduino

I have some problems with resending IR signals from a remote to control my shutters.

I recorded the raw IR codes, but even another Arduino does not recieve anything. It does not print any data.

I am a bit confused about the library ESP8266irRemote. It needs a frequency for sending raw ir data. As the timings are given in ms, I do not understand what this frequncy is supposed to be. Where could I read this frequency from? What are some default values? -- EDIT cleared up, it is the carrier frequency. Seems like the default of 38kHz should be right.

And why could it be that my Arduino does not recieve anything? If I simply use an example for a Samsung TV, it receives everything fine.

Thanks for any help!

EDIT:

uint16_t up3[95] = {444, 1190,  442, 1190,  1256, 376,  1258, 374,  440, 1190,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  1282, 350,  440, 1192,  440, 1192,  440, 1190,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  438, 1194,  1256, 374,  1258, 374,  1256, 19240,  440, 1192,  440, 1192,  1282, 350,  1256, 376,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  1256, 374,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  438, 1192,  440, 1192,  438, 1192,  440, 1192,  440, 1192,  464, 1168,  1256, 376,  1256, 376,  1256};  // UNKNOWN 87FDCA19
uint16_t stop3[95] = {1288, 346,  448, 1182,  1214, 418,  1222, 410,  444, 1188,  438, 1194,  466, 1164,  448, 1184,  440, 1192,  438, 1192,  1258, 374,  380, 1252,  448, 1182,  466, 1166,  448, 1184,  466, 1166,  448, 1182,  404, 1228,  468, 1164,  378, 1252,  1280, 350,  1256, 376,  448, 1184,  1264, 19234,  1220, 414,  402, 1230,  1284, 348,  1252, 380,  406, 1226,  378, 1252,  404, 1228,  404, 1228,  404, 1228,  438, 1192,  1266, 366,  468, 1164,  406, 1226,  446, 1186,  448, 1184,  448, 1184,  378, 1252,  448, 1184,  400, 1232,  448, 1184,  1264, 368,  1254, 376,  468, 1164,  1264};  // UNKNOWN 6CE4F608
uint16_t dwn3[95] = {398, 1252,  1280, 352,  1284, 348,  1250, 380,  446, 1188,  462, 1170,  432, 1198,  378, 1254,  446, 1186,  442, 1188,  1282, 348,  402, 1230,  464, 1166,  434, 1196,  446, 1186,  446, 1186,  434, 1198,  462, 1168,  446, 1186,  446, 1186,  378, 1252,  400, 1230,  1218, 414,  378, 20118,  466, 1168,  1216, 414,  1262, 370,  1194, 436,  398, 1232,  398, 1232,  380, 1252,  464, 1168,  464, 1166,  466, 1164,  1196, 436,  400, 1232,  444, 1188,  400, 1230,  446, 1188,  466, 1164,  378, 1254,  446, 1186,  444, 1186,  466, 1166,  402, 1230,  458, 1172,  1282, 348,  464};  // UNKNOWN 2744EDAC
uint16_t up2[95] = {466, 1186,  444, 1186,  1262, 370,  444, 1186,  1260, 370,  446, 1186,  444, 1186,  446, 1186,  468, 1162,  446, 1186,  1262, 370,  444, 1188,  444, 1186,  444, 1188,  444, 1188,  444, 1186,  446, 1186,  444, 1188,  444, 1186,  444, 1188,  1262, 368,  1262, 370,  444, 1186,  1262, 19236,  446, 1186,  446, 1186,  1260, 370,  444, 1188,  1262, 370,  444, 1186,  446, 1186,  446, 1186,  446, 1186,  444, 1186,  1262, 370,  446, 1186,  444, 1188,  444, 1188,  446, 1186,  446, 1184,  446, 1186,  446, 1186,  446, 1186,  446, 1184,  1262, 370,  1260, 372,  446, 1186,  1260};  // UNKNOWN 2D1A9455
uint16_t stop2[95] = {1260, 374,  442, 1190,  1256, 376,  440, 1190,  1258, 374,  440, 1190,  440, 1192,  442, 1190,  440, 1192,  440, 1192,  1256, 374,  440, 1190,  440, 1192,  440, 1190,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  1256, 374,  1258, 374,  1256, 19240,  1258, 374,  440, 1192,  1256, 374,  440, 1192,  1256, 374,  440, 1192,  440, 1192,  440, 1190,  440, 1190,  440, 1192,  1256, 374,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1190,  440, 1192,  440, 1192,  440, 1190,  440, 1192,  1256, 374,  1256, 376,  1256};  // UNKNOWN B54FF968
uint16_t dwn2[95] = {478, 1156,  1288, 342,  1288, 344,  450, 1182,  1288, 342,  450, 1182,  476, 1154,  452, 1180,  450, 1180,  450, 1182,  1290, 342,  450, 1182,  476, 1156,  478, 1154,  478, 1154,  474, 1158,  450, 1182,  450, 1182,  474, 1156,  450, 1180,  1292, 340,  476, 1156,  474, 1158,  450, 20048,  476, 1156,  1290, 340,  1266, 366,  450, 1182,  1266, 364,  450, 1182,  476, 1156,  476, 1156,  450, 1182,  474, 1156,  1266, 366,  450, 1182,  474, 1156,  476, 1156,  476, 1156,  474, 1156,  450, 1182,  450, 1182,  474, 1158,  474, 1158,  1266, 366,  450, 1180,  450, 1182,  450};  // UNKNOWN 983238A8
    
IRsend irsend(4);

void setup() {
  // put your setup code here, to run once:
  irsend.begin();
}
    
void loop() {
  // put your main code here, to run repeatedly:
  irsend.sendRaw(dwn3, 95, 999);
  delay(10000);
}

That's the code I used. I recoded the raw arrays using the raw dump example provided with the esp8266ir library.

I cut the import part, but be assured, the correct headers were imported. The code compiles without any issue.

Thanks for the suggested edit. I am sorry about the first, not well organized question.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

As you did not provide any code and not much information in general I can only guess.

Possible issues:

wrong emitter wavelength

wrong carrier frequency, typically between 30 and 60kHz. 38kHz is most common.

or some error in sending what you have recorded.

I suggest you first find out how a IR remote control works befor you attempt to build one yourself.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...