InĂ­cioâ€șMĂłdulosâ€șRecetor IR
⏀ Intermédio

đŸ“» Recetor IR

⏱ 30 minđŸ§© Recetor IR · Digital · Lib IRremote

Nesta pĂĄgina

📌 Pinagem e LigaçÔes

Sinal mĂłduloArduinoRPi GPIO (BCM)TipoNotas
SIGD11GPIO18Digital INDados IR desmodulados — 38 kHz
VCC5V3.3V—
GNDGNDGND—
â„č
Biblioteca necessĂĄria: IRremote (shirriff/Arduino-IRremote) — instala em Gerir Bibliotecas. O receptor VS1838B desmodula automaticamente o sinal IR a 38 kHz. Cada botĂŁo de qualquer comando remoto tem um cĂłdigo hexadecimal Ășnico.

Capturar e Mapear BotÔes

Imprime o cĂłdigo hex de cada botĂŁo pressionado.

ex1_ir_rx.ino
#include <IRremote.h>
#define IR_PIN 11
IRrecv rx(IR_PIN);
void setup(){
  Serial.begin(9600); rx.enableIRIn();
  Serial.println("Aponta o comando e prime um botao...");
}
void loop(){
  if(rx.decode()){
    Serial.print("Codigo: 0x");
    Serial.println(rx.decodedIRData.decodedRawData,HEX);
    rx.resume();
  }
}

Controlar LED RGB com IR

BotĂ”es 1–7 do comando seleccionam as 7 cores bĂĄsicas.

ex2_ir_rx.ino
#include <IRremote.h>
#define IR_PIN 11
#define R 9
#define G 10
#define B 11
// Substitui pelos cĂłdigos do teu comando
unsigned long cod[]={0xFF30CF,0xFF18E7,0xFF7A85,
                     0xFF10EF,0xFF38C7,0xFF5AA5,0xFF42BD};
int cors[][3]={{255,0,0},{0,255,0},{0,0,255},
              {255,255,0},{255,0,255},{0,255,255},{255,255,255}};
IRrecv rx(IR_PIN);
void setup(){rx.enableIRIn();pinMode(R,OUTPUT);pinMode(G,OUTPUT);pinMode(B,OUTPUT);}
void loop(){
  if(rx.decode()){
    unsigned long c=rx.decodedIRData.decodedRawData;
    for(int i=0;i<7;i++) if(c==cod[i]){
      analogWrite(R,cors[i][0]); analogWrite(G,cors[i][1]); analogWrite(B,cors[i][2]); break;
    }
    rx.resume();
  }
}

🏆 Para ir mais longe

PR.FT6_15 · Kit B 37 · Arduino · Raspberry Pi · Início · led.dge.medu.pt