Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A comunicação infravermelha (IR) é uma tecnologia amplamente utilizada em dispositivos de controle remoto, como televisores, aparelhos de som e ar-condicionado. A sua importância reside na capacidade de transmitir dados sem fio através de sinais de luz infravermelha, que são invisíveis ao olho humano. No contexto do Arduino, a comunicação IR pode ser implementada de maneira simples e eficaz para criar projetos de automação residencial, controle remoto de dispositivos e muito mais. Este artigo abordará como configurar e utilizar a comunicação infravermelha com Arduino, incluindo exemplos práticos e códigos comentados.
Project: Neste projeto, vamos criar um sistema de controle remoto utilizando um sensor de receptor IR e um controle remoto IR. O objetivo é controlar um LED através do sinal enviado pelo controle remoto. O projeto demonstrará como decodificar os sinais IR recebidos e executar ações específicas com base nesses sinais.
Components List:
Examples:
// Inclui a biblioteca IRremote
#include <IRremote.h>
// Define o pino do receptor IR
const int RECV_PIN = 11;
// Cria um objeto IRrecv
IRrecv irrecv(RECV_PIN);
// Cria um objeto decode_results para armazenar os resultados
decode_results results;
void setup() {
// Inicializa a comunicação serial
Serial.begin(9600);
// Inicializa o receptor IR
irrecv.enableIRIn();
}
void loop() {
// Verifica se um sinal IR foi recebido
if (irrecv.decode(&results)) {
// Imprime o valor do código IR recebido
Serial.println(results.value, HEX);
// Reinicia o receptor IR para receber o próximo sinal
irrecv.resume();
}
}
Comentário:
IRremote
é utilizada para lidar com a comunicação IR.IRrecv
é criado para receber os sinais IR.setup()
, a comunicação serial é inicializada e o receptor IR é habilitado.loop()
, verifica-se se um sinal IR foi recebido, imprime-se o valor do código IR em hexadecimal e o receptor é reiniciado para receber novos sinais.#include <IRremote.h>
const int RECV_PIN = 11;
const int LED_PIN = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(LED_PIN, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
// Verifica se o código IR corresponde ao botão "ON" do controle remoto
if (results.value == 0xFFA25D) {
digitalWrite(LED_PIN, HIGH); // Liga o LED
}
// Verifica se o código IR corresponde ao botão "OFF" do controle remoto
if (results.value == 0xFFE21D) {
digitalWrite(LED_PIN, LOW); // Desliga o LED
}
irrecv.resume();
}
}
Comentário:
setup()
, configura-se o pino do LED como saída.loop()
, verifica-se se o código IR recebido corresponde aos botões "ON" e "OFF" do controle remoto e, em seguida, liga ou desliga o LED conforme o código.