Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

IR+Receiver: Controlling Devices with Infrared Remote Control

Importance and Utility of IR+Receiver

The IR+Receiver module is an essential component in many electronic projects, especially those involving remote control functionality. With this module, you can receive and decode infrared signals from a remote control, allowing you to control various devices remotely. This technology is widely used in home automation, robotics, and other applications where wireless control is required.

Project: In this example project, we will create a simple circuit that can receive and decode infrared signals from a remote control. The objective is to control an LED using the remote control's buttons. By pressing different buttons on the remote control, we can turn the LED on or off, change its brightness, or even make it blink.

List of Components:

Examples:

Example 1: Basic IR Receiver Setup

#include <IRremote.h>

const int receiverPin = 11;

IRrecv irrecv(receiverPin);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the IR receiver
}

void loop() {
  if (irrecv.decode(&results)) { // If an IR signal is received
    Serial.println(results.value, HEX); // Print the received value in hexadecimal
    irrecv.resume(); // Receive the next value
  }
}

In this example, we use the IRremote library to simplify the process of receiving and decoding infrared signals. The IRrecv object is created, and the IR receiver pin is specified. In the setup() function, we initialize the serial communication and enable the IR receiver. In the loop() function, we continuously check for incoming IR signals. If a signal is received, we print its hexadecimal value to the serial monitor.

Example 2: Controlling an LED with IR Remote Control

#include <IRremote.h>

const int receiverPin = 11;
const int ledPin = 13;

IRrecv irrecv(receiverPin);
decode_results results;

void setup() {
  pinMode(ledPin, OUTPUT);
  irrecv.enableIRIn();
}

void loop() {
  if (irrecv.decode(&results)) {
    switch (results.value) {
      case 0xFFA25D: // Power button
        digitalWrite(ledPin, HIGH);
        break;
      case 0xFF629D: // Volume up button
        analogWrite(ledPin, 128);
        break;
      case 0xFFE21D: // Volume down button
        analogWrite(ledPin, 64);
        break;
      case 0xFF22DD: // Play/pause button
        digitalWrite(ledPin, !digitalRead(ledPin));
        break;
      default:
        break;
    }
    irrecv.resume();
  }
}

In this example, we extend the previous code to control an LED based on the received IR signals. We define the LED pin and set it as an output in the setup() function. In the loop() function, we use a switch statement to perform different actions based on the received IR signal. For example, pressing the power button turns the LED on, pressing the volume up button sets the LED brightness to 50%, pressing the volume down button sets the brightness to 25%, and pressing the play/pause button toggles the LED state.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.