I want to be able to send IR signals with the Arduino (I use an Uno right now) to my Hifi devices.
In the end I want to be able to send a trigger from my PC via CLI to the Arduino to send the command.
So I have to learn the IR commands with one sketch and need another to send them on a trigger request.
I have right now the issue, that I can not learn the propper commands for one device and for the other I send them too often in the end.
The devices I want to control are:
Denon DRM-800 Tape deck (works with the commands for a DRS-810 from my Harmony (I don't own a original remote)).
Cambridge Audio 650BD BluRay player (I can control it via Harmony anr original remote).
When I try to learn the commands via IRrecvDump from the IRremote library, it does not recognize the Decoding (result unknown), so I have to go with the RAW codes (right?).
I found these code, to get the propper RAW codes:
Please see the attached receive.ino (its too long for quoting).
The strange thing is that I do not receive the same commands for the both devices, if I press the buttons multiple times (if I try for ma AVR or TV I get always the same codes).
With the Denon, I had the issue first, that onbe keystroke sesults in multiple outputs, so I changed the GAP a little (like mentioned in the code) and about 47000 seems to work to receive codes that look not always complete different.
I get then these codes (one code is one stroke of the Stop Button):
13
For IR Scope:
+9250 -4100 +800 -1350 +850 -150 +2150 -1300 +850 -100 +2200 -1300 +850 -100 +2150 -1300 +850 -1350 +850 -100 +1100 -1300 +850 -1350 +850 -100 +1050 -1350 +800 -100 +1050 -1350 +850 -100 +2150 -1350 +850 -100 +1000 -1350 +800 -150 +1050 -1300 +850 -100 +1050 -1350 +850 -1350 +850 -100 +1050 -1300 +850 -100 +1050 -1300 +900
For Arduino sketch:
unsigned int raw[60] = {9250,4100,800,1350,850,150,2150,1300,850,100,2200,1300,850,100,2150,1300,850,1350,850,100,1100,1300,850,1350,850,100,1050,1350,800,100,1050,1350,850,100,2150,1350,850,100,1000,1350,800,150,1050,1300,850,100,1050,1350,850,1350,850,100,1050,1300,850,100,1050,1300,900,};
irsend.sendRaw(raw,60,38);
14
For IR Scope:
+9350 -4000 +850 -1350 +3150 -1250 +3200 -1200 +3250 -1200 +950 -1300 +2050 -1250 +850 -1350 +2100 -1200 +2050 -1300 +3200 -1200 +2050 -1300 +2050 -1250 +2100 -1200 +900 -1350 +2050 -1250 +2050 -1300 +850
For Arduino sketch:
unsigned int raw[36] = {9350,4000,850,1350,3150,1250,3200,1200,3250,1200,950,1300,2050,1250,850,1350,2100,1200,2050,1300,3200,1200,2050,1300,2050,1250,2100,1200,900,1350,2050,1250,2050,1300,850,};
irsend.sendRaw(raw,36,38);
15
For IR Scope:
+9300 -4050 +800 -1400 +850 -100 +2150 -1300 +850 -100 +2200 -1300 +850 -100 +2150 -1300 +850 -1400 +850 -100 +1050 -1300 +850 -1350 +850 -100 +1050 -1350 +800 -150 +1050 -1300 +850 -100 +2150 -1350 +800 -100 +1100 -1300 +850 -100 +1050 -1300 +900 -50 +1100 -1300 +800 -1400 +850 -100 +1050 -1350 +800 -100 +1100 -1300 +850
For Arduino sketch:
unsigned int raw[60] = {9300,4050,800,1400,850,100,2150,1300,850,100,2200,1300,850,100,2150,1300,850,1400,850,100,1050,1300,850,1350,850,100,1050,1350,800,150,1050,1300,850,100,2150,1350,800,100,1100,1300,850,100,1050,1300,900,50,1100,1300,800,1400,850,100,1050,1350,800,100,1100,1300,850,};
irsend.sendRaw(raw,60,38);
16
For IR Scope:
+9250 -4100 +800 -1400 +800 -100 +2200 -1300 +850 -100 +2150 -1300 +900 -50 +2200 -1300 +850 -1400 +800 -100 +1050 -1350 +850 -1350 +850 -100 +1050 -1300 +850 -100 +1050 -1350 +800 -100 +2200 -1300 +850 -100 +1100 -1300 +850 -100 +1000 -1350 +800 -150 +1050 -1300 +900 -1350 +850 -100 +1050 -1300 +850 -100 +1050 -1350 +800
For Arduino sketch:
unsigned int raw[60] = {9250,4100,800,1400,800,100,2200,1300,850,100,2150,1300,900,50,2200,1300,850,1400,800,100,1050,1350,850,1350,850,100,1050,1300,850,100,1050,1350,800,100,2200,1300,850,100,1100,1300,850,100,1000,1350,800,150,1050,1300,900,1350,850,100,1050,1300,850,100,1050,1350,800,};
irsend.sendRaw(raw,60,38);
17
For IR Scope:
+9300 -4050 +850 -1350 +850 -100 +2150 -1350 +850 -100 +2150 -1300 +850 -100 +2200 -1300 +850 -1350 +850 -100 +1050 -1350 +850 -1350 +800 -150 +1000 -1350 +850 -100 +1050 -1300 +900 -50 +2200 -1300 +850 -100 +1050 -1300 +850 -100 +1100 -1300 +850 -100 +1050 -1300 +850 -1400 +800 -100 +1050 -1350 +850 -100 +1050 -1300 +850
For Arduino sketch:
unsigned int raw[60] = {9300,4050,850,1350,850,100,2150,1350,850,100,2150,1300,850,100,2200,1300,850,1350,850,100,1050,1350,850,1350,800,150,1000,1350,850,100,1050,1300,900,50,2200,1300,850,100,1050,1300,850,100,1100,1300,850,100,1050,1300,850,1400,800,100,1050,1350,850,100,1050,1300,850,};
irsend.sendRaw(raw,60,38);
18
For IR Scope:
+9300 -4050 +800 -1350 +900 -100 +2150 -1300 +850 -150 +2150 -1300 +850 -100 +2100 -1400 +800 -1400 +800 -150 +1050 -1300 +850 -1350 +850 -100 +1050 -1350 +850 -100 +1000 -1350 +800 -150 +2150 -1300 +900 -100 +1000 -1350 +800 -150 +1050 -1300 +850 -100 +1050 -1350 +850 -1350 +850 -100 +1050 -1300 +850 -150 +1000 -1350 +800
For Arduino sketch:
unsigned int raw[60] = {9300,4050,800,1350,900,100,2150,1300,850,150,2150,1300,850,100,2100,1400,800,1400,800,150,1050,1300,850,1350,850,100,1050,1350,850,100,1000,1350,800,150,2150,1300,900,100,1000,1350,800,150,1050,1300,850,100,1050,1350,850,1350,850,100,1050,1300,850,150,1000,1350,800,};
irsend.sendRaw(raw,60,38);
19
For IR Scope:
+9300 -4050 +850 -1350 +800 -150 +2150 -1300 +850 -100 +2150 -1350 +800 -150 +2150 -1300 +900 -1350 +850 -100 +1000 -1350 +850 -1350 +850 -100 +1050 -1300 +900 -100 +1000 -1350 +850 -100 +1050 -50 +1050 -1350 +800 -150 +1050 -1300 +850 -100 +1050 -1300 +900 -100 +1000 -1350 +800 -1400 +850 -100 +1000 -1350 +850 -100 +1100 -1300 +850
For Arduino sketch:
unsigned int raw[62] = {9300,4050,850,1350,800,150,2150,1300,850,100,2150,1350,800,150,2150,1300,900,1350,850,100,1000,1350,850,1350,850,100,1050,1300,900,100,1000,1350,850,100,1050,50,1050,1350,800,150,1050,1300,850,100,1050,1300,900,100,1000,1350,800,1400,850,100,1000,1350,850,100,1100,1300,850,};
irsend.sendRaw(raw,62,38);
I try them all with my sending script (I post it below) but none of these siims to work.
Any idea how to capture the codes for the Denon propper?
This it what I receive for the Play button for the Cambridge (one code is one key stoke with a GAP of 50000):
5
For IR Scope:
+9200 -4000 +750 -1450 +800 -150 +1050 -100 +1050 -1300 +850 -150 +2200 -1300 +850 -150 +1050 -50 +1100 -1300 +850 -1400 +800 -150 +1050 -1350 +800 -1400 +800 -150 +1100 -1300 +850 -1350 +850 -150 +1050 -50 +1050 -100 +1100 -1300 +800 -200 +1000 -1350 +800 -200 +2200 -1300 +800 -1400 +850 -1400 +800 -150 +1050 -1350 +850 -100 +1050 -1350 +800 20286 +9250 -1750 +800
For Arduino sketch:
unsigned int raw[68] = {9200,4000,750,1450,800,150,1050,100,1050,1300,850,150,2200,1300,850,150,1050,50,1100,1300,850,1400,800,150,1050,1350,800,1400,800,150,1100,1300,850,1350,850,150,1050,50,1050,100,1100,1300,800,200,1000,1350,800,200,2200,1300,800,1400,850,1400,800,150,1050,1350,850,100,1050,1350,800,-20286,9250,1750,800,};
irsend.sendRaw(raw,68,38);
6
For Arduino sketch:
unsigned int raw[66] = {9200,4000,800,1400,800,150,2200,1350,850,100,1050,50,1100,1300,850,150,2200,1300,850,1400,800,150,1050,1350,800,1400,850,100,1100,1300,850,1400,800,150,1050,50,2200,1350,800,200,1050,1300,800,200,1000,100,1050,1350,800,1400,850,1400,850,100,1050,1350,800,150,1050,1350,800,-20286,9250,1750,800,};
irsend.sendRaw(raw,66,38);
7
For Arduino sketch:
unsigned int raw[66] = {9250,4000,800,1400,800,150,2200,1300,850,150,1050,50,1100,1300,850,150,1050,50,1100,1300,850,1400,750,200,1050,1350,800,1400,800,200,1000,1350,800,1400,850,150,2200,50,1050,1350,800,200,1000,1350,800,200,2150,1350,800,1400,850,1400,800,150,1050,1350,800,150,1050,1350,800,-20286,9200,1800,850,};
irsend.sendRaw(raw,66,38);
Strange is, that they all seam to work. with my sending script:
Please see the attached send.ino (its too long for quoting).
The good thing is, all the Cambridge codes results in the expected reactions, but the player did every thing three times.
So if I send next, he will skip three tracks instead of one.
Any idea how to fix that?
I know, they are RAW codes, but can I short them down?
So over all:
Denon: Codes work in no way.
Cambridge: Codes works always three times.
I'm quite new to this, but I really want to finish this project!
[/code]
Send.ino (9.87 KB)
receive.ino (1.26 KB)