DIY Inventor
Published

LED Strip using Infrared (IR) Remote

Make LED Strip and Glow LED using Various Function using Infrared (IR) Remote and See Values in Serial Monitor

BeginnerFull instructions provided2,478
LED Strip using Infrared (IR) Remote

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Infrared Receiver, Remote Control
Infrared Receiver, Remote Control
TSOP1738
×1
JustBoom IR Remote
JustBoom IR Remote
×1
5 mm LED: Red
5 mm LED: Red
×4
5 mm LED: Yellow
5 mm LED: Yellow
×4
LED, Blue Green
LED, Blue Green
×4
Breadboard (generic)
Breadboard (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Github IRremote.h Library

Story

Read more

Custom parts and enclosures

Systematic

Schematics

Circuit Diagram

Connection of TSOP1738

Connect the First pin from the left of TSOP1738 (OUT pin) with pin 9 of Arduino.
Hook the Middle pin (GND pin) with the GND pin of Arduino.
Connect the third and the last pin (VCC pin)with 5V pin of Arduino.

Connection of LED's

Connect the all 4 Red LED (Anode pin/ 5v) with pin 6 of Arduino
Connect the all 4 Yellow LED (Anode pin/ 5v) with pin 7 of Arduino
Connect the all 4 Blue LED (Anode pin/ 5v) with pin 8 of Arduino
Connect the all LED (Cathode pin/ GND) with pin GND of Arduino

Code

Code

C/C++
#include <IRremote.h>
int RECV_PIN = 9;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int RED = 6;
const int YELLOW = 7;
const int BLUE = 8;
int counter;

int Random = 0;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
  pinMode(RED,OUTPUT);
pinMode(YELLOW,OUTPUT);
pinMode(BLUE,OUTPUT);
  }




void loop()
{
if (irrecv.decode(&results))
{
switch (results.value)
{
  
  
  
  
  case 0xFD00FF :
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
  Serial.println("ALL LED OFF");
  break;
 
  case 0xFD08F7:
digitalWrite(RED,HIGH);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
  Serial.println("RED ON");
  break;
  
  case 0xFD8877 :
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
digitalWrite(BLUE,LOW);
 Serial.println("YELLOW ON");
  break;
 
  
  case 0xFD48B7 :
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,HIGH);
  Serial.println("BLUE ON");
  break;
  
 case 0xFD28D7 :
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);

  
  digitalWrite(RED,HIGH);
    delay(1000);
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
  delay(1000);
digitalWrite(YELLOW,LOW);
  digitalWrite(BLUE,HIGH);

 delay(1000);
digitalWrite(BLUE,LOW);

  Serial.println("BLINKING FASTLY 1 SEC");
  break;
  
  
 case 0xFDA857  :
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);

  
  digitalWrite(RED,HIGH);
    delay(3000);
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
  delay(3000);
digitalWrite(YELLOW,LOW);
  digitalWrite(BLUE,HIGH);

  delay(3000);
digitalWrite(BLUE,LOW);

  Serial.println("BLINKING FASTLY 3 SEC");
  break;
 
  
  
 case 0xFD6897   :
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);

  
  digitalWrite(RED,HIGH);
    delay(5000);
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
  delay(5000);
digitalWrite(YELLOW,LOW);
  digitalWrite(BLUE,HIGH);

  delay(5000);
digitalWrite(BLUE,LOW);

  Serial.println("BLINKING FASTLY 5 SEC");
  break;
 
 case 0xFD18E7    :
digitalWrite(RED,HIGH);
    digitalWrite(YELLOW,HIGH);

digitalWrite(BLUE,HIGH);
    Serial.println("ALL ON ");
  break;
  
   case 0xFD58A7     :
digitalWrite(5, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  digitalWrite(6, LOW);
  digitalWrite(7,HIGH);
  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  digitalWrite(7,LOW);
  digitalWrite(5, HIGH);
  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  digitalWrite(6, LOW);
  digitalWrite(7,HIGH);
  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  digitalWrite(7,LOW);
  digitalWrite(5, HIGH);
  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  digitalWrite(7,HIGH);
  delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
  digitalWrite(7,LOW);
  delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
  digitalWrite(6, LOW);
  delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
  digitalWrite(5, LOW);
  digitalWrite(5, HIGH);
  delay(200); // Wait for 200 millisecond(s)
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  delay(200); // Wait for 200 millisecond(s)
  digitalWrite(6, LOW);
  digitalWrite(7,HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(5, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7,LOW);

  delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
  digitalWrite(7,LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);

  delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
  for (counter = 0; counter < 10; ++counter) {
    delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
    digitalWrite(7,LOW);
    delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
    digitalWrite(6, LOW);
    delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
    digitalWrite(5, LOW);
    digitalWrite(5, HIGH);
    delay(200); // Wait for 200 millisecond(s)
    digitalWrite(5, LOW);
    digitalWrite(6, HIGH);
    delay(200); // Wait for 200 millisecond(s)
    digitalWrite(6, LOW);
    digitalWrite(7,HIGH);
  }
  digitalWrite(6, HIGH);
  digitalWrite(5, HIGH);
  delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
  digitalWrite(7,LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(7,HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(7,LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);

  break;

 

  
    
  
  default:
Serial.print("Undefined code received: 0x");
Serial.println(results.value, HEX);
break;
}
irrecv.resume();
}
}
  

Credits

DIY Inventor

DIY Inventor

0 projects • 15 followers
Hello Guys, My name is Krishna Agarwal , and I'm passionate about Making DIY Projects. Here I make Arduino and Robotics related projects.

Comments