Maintenance: Project Hub will be unavailable on Monday 24 (9AM to 6PM CET) while we deploy critical improvements
Components and supplies
LED (generic)
Arduino UNO
Infrared Receiver
Apps and platforms
Arduino IDE
Project description
Code
Project code
arduino
1#include <IRremote.h> 2 3 4const int receiver = 11; 5const int led = 9; 6 7IRrecv ir_receiver(receiver); 8decode_results results; 9 10void setup() 11{ 12 Serial.begin(9600); 13 ir_receiver.enableIRIn(); 14 pinMode(led, OUTPUT); 15} 16 17 18void loop() 19{ 20 if (ir_receiver.decode(&results)) 21 22 { 23 Serial.println(results.value, HEX); 24 translateIR(); 25 ir_receiver.resume(); 26 delay(200); 27 } 28 29} 30 31void translateIR() 32 33{ 34 int sensorValue=0; 35 sensorValue = digitalRead(led); 36 37 switch(results.value){ 38 39 case 0x20DF10EF: 40 if (sensorValue==0){ 41 42 Serial.println(" ON "); 43 digitalWrite(led, HIGH); 44 break; 45 } 46 if (sensorValue==1){ 47 48 Serial.println(" OFF "); 49 digitalWrite(led, LOW); 50 break; 51 } 52 53 case 0x20DFD02F: 54 if (sensorValue==0){ 55 Serial.println(" BLINK "); 56 for(int i=1;i<5;i++){ 57 digitalWrite(led, HIGH); 58 delay(500); 59 digitalWrite(led, LOW); 60 delay(500); 61 } 62 break; 63 } 64 default: 65 Serial.println(" other button "); 66 } 67}
Infrared Receiver Code
arduino
1#include <IRremote.h> 2 3const int receiver=11; 4 5IRrecv ir_receiver(receiver); 6decode_results results; 7 8void setup() { 9 Serial.begin(9600); 10 ir_receiver.enableIRIn(); 11} 12 13void dump(const decode_results* results) { 14 const int protocol=results->decode_type; 15 Serial.print("Protocol: "); 16 if (protocol==UNKNOWN){ 17 Serial.println("not recognized."); 18 } 19 else{ 20 if(protocol==NEC){ 21 Serial.println("NEC"); 22 } 23 else if(protocol==SONY){ 24 Serial.println("SONY"); 25 } 26 else if(protocol==RC5){ 27 Serial.println("RC5"); 28 } else if(protocol==RC6){ 29 Serial.println("RC6"); 30 } 31Serial.print("Value: "); 32Serial.print(results->value, HEX); 33Serial.print("("); 34Serial.print(results->bits, DEC); 35Serial.print(" bits)"); 36} 37} 38 39void loop() { 40 if(ir_receiver.decode(&results)) { 41 dump(&results); 42 ir_receiver.resume(); 43 } 44}
Project code
arduino
1#include <IRremote.h> 2 3 4const int receiver = 11; 5const int led = 9; 6 7IRrecv ir_receiver(receiver); 8decode_results results; 9 10void setup() 11{ 12 Serial.begin(9600); 13 ir_receiver.enableIRIn(); 14 pinMode(led, OUTPUT); 15} 16 17 18void loop() 19{ 20 if (ir_receiver.decode(&results)) 21 22 { 23 Serial.println(results.value, HEX); 24 translateIR(); 25 ir_receiver.resume(); 26 delay(200); 27 } 28 29} 30 31void translateIR() 32 33{ 34 int sensorValue=0; 35 sensorValue = digitalRead(led); 36 37 switch(results.value){ 38 39 case 0x20DF10EF: 40 if (sensorValue==0){ 41 42 Serial.println(" ON "); 43 digitalWrite(led, HIGH); 44 break; 45 } 46 if (sensorValue==1){ 47 48 Serial.println(" OFF "); 49 digitalWrite(led, LOW); 50 break; 51 } 52 53 case 0x20DFD02F: 54 if (sensorValue==0){ 55 Serial.println(" BLINK "); 56 for(int i=1;i<5;i++){ 57 digitalWrite(led, HIGH); 58 delay(500); 59 digitalWrite(led, LOW); 60 delay(500); 61 } 62 break; 63 } 64 default: 65 Serial.println(" other button "); 66 } 67}
Downloadable files
circuit diagram
circuit diagram
circuit diagram
circuit diagram
Comments
Only logged in users can leave comments