Close
0%
0%

Arduino based universal TV Remote.

We can control Tv or any IR system using this, Arduino made this very simple to program and run different instructions

Similar projects worth following
Hello guys, today in this tutorial we will learn, how to make a Universal Tv (IR) Remote. Though this we can control appliances that have IR receiver. Any of IR remote control device can be controlled using this. Suppose you have a Tv, if someone is watching and you don’t have control over remote. But you want to change channel in this condition you can use this remote.

Hello guys, today in this tutorial we will learn, how to make a Universal Tv (IR) Remote. Though this we can control appliances that have IR receiver. Any of IR remote control device can be controlled using this. Suppose you have a Tv, if someone is watching and you don’t have control over remote. But you want to change channel in this condition you can use this remote.

This condition is quite popular in Indian homes in our time. Or you can just learn, how to make your own one Universal all in one remote control. In last we will make a working pcb and order it from our sponsor JLCPCB.

JLCPCB is China’s No.1 pcb manufacturer and provide 2-layer pcb in just $2.

mini_20211117_123330.jpg

Features:

1) Made using Arduino (programmable).

2) Can be used with any appliances (TV/ Ac/ home theater/ radio/ Home automation).

3) Have 11 buttons for different actions to be performed.

4) Small size

5) Rechargeable

6) DIY project

Working concept:

To make a universal remote, first we should know some important concepts of Infrared remote and receiver. let's understand this with a simple example.

Example:

To change a channel in Tv, IR remote will transmit a code and this code is received by TV then decoded by TV’s microcontroller and processed / channel got changed. So, to make our one we have to first know the code that is transmitted by remote. This process is called decoding, we have to make our own remote decoding system. Then we write down all the decoded values of buttons like, CH+, CH-, VOL+, VOL-, POWER, Settings.

We will feed these values in our Arduino control universal remote and complete this project.

See these tutorials first:

1) How to decode IR Remote using Arduino.

2) How to make a remote-control electric board.

ice_screenshot_20211027-205745.png

Before going deep in this lecture, please complete these 2 tutorials so that terms like- (Decoding, IR receiver and transmitting, etc.) be more cleared to you.

Breadboard Circuit diagram:

ice_screenshot_20211027-205727.png

Components used:

1) Arduino

2) IR led

3) Tactile buttons

4) 1k resistor x11

5) 220 ohms resistor

6) PCB and wires

7) Battery (3.7v)

Circuit diagram:

Schematic_Universal IR remote_2021-11-16.png

Circuit explanation:

Making this circuit with Arduino is very simple, but if you are using Arduino’s Atmega328p chip then, you have to make general connection for clock and reset as shown in circuit diagram. Also, the ICSP (programming serial pins) are given in the schematics to upload the sketch/ change the control signals.

IR led positive terminal is connected with D3(digital pin 3) using 1k/220 ohms resistor and negative terminal is grounded. 11 Tactile switch buttons are used in this project for 11 different instructions to be processed. Each one is connected to different digital pins from D2 to D13. One terminal of each is connected with ground with 1k resistor. 2 pin headers is to supply power to the circuit and Arduino.

Code:

//sagar saini : hackster saini_sagar_7294 follow us on instagram, hackaday profile link:https://hackaday.io/project/182316-arduino-based-ir-remote-decoder
//
//Universal IR Remote Controller

#include <IRremote.h>
#include "LowPower.h"

IRsend irsend;

const int b1  = 2;
const int b2  = 4;
const int b3  = 5;
const int b4  = 6;
const int b5  = 7;
const int b6  = 8;
const int b7  = 9;
const int b8  = 10;
const int b9  = 11;
const int b10 = 12;

int timer;
int modeCounter = 0;

void wakeUp() {  timer = 0;
}

void setup() {  pinMode(b1, INPUT);  pinMode(b2, INPUT);  pinMode(b3, INPUT);  pinMode(b4, INPUT);  pinMode(b5, INPUT);  pinMode(b6, INPUT);  pinMode(b7, INPUT);  pinMode(b8, INPUT);  pinMode(b9, INPUT);  pinMode(b10, INPUT);
}

void loop() {  attachInterrupt(0, wakeUp, HIGH);  while (timer < 10000) {    if (digitalRead(b1) == HIGH) {      timer = 0;      delay(50);      irsend.sendNEC(0x0000, 32);     //Enter Remote Hex Value    }
    if (digitalRead(b2) == HIGH) {      timer = 0;      delay(50);      irsend.sendNEC(0x0000, 32);     //Enter Remote Hex Value    }
 if (digitalRead(b3) == HIGH) { timer = 0; delay(50); irsend.sendNEC(0x0000, 32); //Enter...
Read more »

Portable Network Graphics (PNG) - 143.54 kB - 11/17/2021 at 08:09

Preview
Download

ino - 2.33 kB - 11/17/2021 at 08:09

Download

Zip Archive - 10.56 kB - 11/17/2021 at 08:09

Download

Portable Network Graphics (PNG) - 222.40 kB - 11/17/2021 at 08:09

Preview
Download

Portable Network Graphics (PNG) - 106.43 kB - 11/17/2021 at 08:09

Preview
Download

View all 7 files

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates