Control an AC bulb using any infrared remote with an Arduino and relay
In this tutorial, we will learn how to use an infrared remote control to operate an AC bulb via an Arduino and a relay module. This project involves decoding the signals from the remote and using them to control the relay, which in turn will switch the AC bulb on and off. By the end of this tutorial, you will be able to use any infrared remote to control your light fixture.
We will be using an infrared receiver to capture the signals from the remote, and the Arduino will interpret these signals to perform specific actions. The code provided will allow you to select the type of remote (black or white) and whether you are using a PCB or bare module for the receiver. Make sure to watch the associated video for additional details and clarifications (in video at 0:00).
Hardware Explained
For this project, the main components include the Arduino board, an infrared receiver module, and a relay module. The infrared receiver is responsible for capturing the signals from the remote control and sending them to the Arduino. The relay module acts as a switch to control the AC bulb, allowing it to turn on and off based on the received signals.
The infrared receiver typically operates at a frequency of 38 kHz and can detect signals from a distance of approximately 10 to 15 meters. Once the Arduino receives the signal, it decodes it and uses the relay to control the power to the bulb.
Wiring Instructions

Begin wiring by connecting the infrared receiver module to the Arduino. The VCC pin of the receiver connects to the 5V pin on the Arduino, and the ground pin connects to a GND pin. The signal pin from the infrared receiver should be connected to digital pin 11 on the Arduino.
Next, connect the relay module. The control pin of the relay should be wired to digital pin 2 on the Arduino. Also, connect the relay's VCC and GND pins to the Arduino's 5V and GND, respectively. Finally, wire the AC bulb to the relay according to the relay's specifications to ensure safe operation.
Code Examples & Walkthrough
In the setup phase of the program, we initialize the serial communication and set up the relay pin. The identifier RECV_PIN is set to 11, which is where the infrared receiver's signal pin is connected. This allows us to receive data from the remote control.
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(RELAY_PIN, OUTPUT); // define a pin for relay as OUTPUT
digitalWrite(RELAY_PIN, HIGH); // set relay to OFF at the beginning
}
In the loop function, we continuously check for incoming signals from the remote. When a signal is detected, the value is decoded, and the corresponding action is taken based on the key pressed.
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX); // Print the received value
robojaxValidateCode(results.value); // Validate the code
irrecv.resume(); // Receive the next value
}
delay(100);
}
The robojaxValidateCode function checks the received code against known values for the remote. Depending on which key is pressed, it will execute the corresponding action using the relay.
void robojaxValidateCode(int cd) {
if (type == 'W' && !PCB) {
// Check White remote codes
for (int i = 0; i < sizeof(whiteRemote) / sizeof(int); i++) {
if (whiteRemote[i] == cd) {
Serial.print("Key pressed: ");
Serial.println(whiteRemoteKey[i]);
relayAction(whiteRemoteKey[i]); // Take action
}
}
}
}
In this function, the code checks if the pressed key corresponds to the defined array values. If a match is found, it calls the relayAction function to either turn the relay on or off, depending on the key pressed.
Demonstration / What to Expect
After completing the wiring and uploading the code, you can use your infrared remote to control the AC bulb. Press the designated keys on the remote, and the relay should activate or deactivate the bulb accordingly. Make sure to test each key to see its response (in video at 5:00).
Video Timestamps
- 00:00 Start
- 00:49 Introduction
- 02:00 Wiring and connection
- 05:27 Arduino code explained
- 09:51 Demonstration of controlling AC bulb with different remote
- 13:13 Using your TV remote to control AC bulb
|||您可能需要的东西
-
亚马逊
-
易趣
资源与参考
尚无可用资源。
文件📁
没有可用的文件。