Dear all
I could figure out what are the codes that I need to send to turn on and off the projector and was able to reset the lamp with my Arduino circuit. Here is how you have to do it:
- Download and install the Arduino software
- Download and install the Multi-Protocol Infrared Remote Library. Just download the files and copy the folder "IRremote" inside the "libraries" folder of your Arduino installation directory.
- Setup your Arduino board as shown here. You only need One IR diode and a resistance (I didn't have to use the resistance, but you may need it). You don't need the receiver circuit.
- Open Arduino and put this code on it:
#include
#include
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
Serial.println("Begin Sending");
time_t t1 = now();
for (int i = 0; i < 150; i++)
{
irsend.sendNEC(0x189710EF, 32); //ON
}
time_t t2 = now();
Serial.println("End Sending");
Serial.print("Running time: ");
Serial.print(t2 - t1);
}
}
- Upload the code to your Arduino, then start the "Serial Monitor" and send some character, ie: '1'. It doesn't matter what you send, the software will start sending the signal several times. If the final input you see is: "Running time: 12", then you are done. If not, modify the value of the upper limit of the variable "i" till you get a running time superior to "10", ie: put "i<200". In order to see if the LED is sending something, take a digital camera (the one on a smart phone will work) and point it to it. If you see a blinking white light, then the LED is sending.
- Point the IR LED from your circuit to the Infrared receiver on the Plus projector.
- Turn on the projector by pressing the red "POWER" button.
- Press the "MENU" button, then enter to the "POWER MENU" and highlight "LAMP USAGE".
- Begin sending the signal from your Arduino.
That's it. You will see "LAMP USAGE: 0"
Anyway, for the interested in knowing how to get the codes, here it is:
First at all, I used the codes posted by 3FG:
File - Plus U2 Series ProjectorsThen, I tried different combinations of the “on” function (Decimal: 8) as pointed by 3FG. It turns that the custom code is: 1897, which is 18E9 but from right to left, then reversed. So the original binary is:
0001 1000 1110 1001 = 18E9
Then from right to left we get:
1001 0111 0001 1000 = 9718
Then we invert the order of the hexadecimal number and it gave us: 1897
Then to get the function code of the on function (Decimal: 8), we mixed its hexadecimal code with its complement like this: 08F7, then we reversed it as follows:
Original binary: 0000 1000 1111 0111 = 08F7
From right to left: 1110 1111 0001 0000 = EF10
Finally we invert that number and we get the function code: 10EF
So the code we need for the arduino is: irsend.sendNEC(0x189710EF, 32);
Thanks to DrNeon for giving me the idea of the Arduino board and to 3FG for its helpful post.
I also want to thank Mr. "Technical Support" :-) from the Plus company for his help.
Best regards
Josef
Last edited by jmeile on September 12, 2014 02:50.