| Sinal mĂłdulo | Arduino | RPi GPIO (BCM) | Tipo | Notas |
|---|---|---|---|---|
| SIG | D11 | GPIO18 | Digital IN | Dados IR desmodulados â 38 kHz |
| VCC | 5V | 3.3V | â | |
| GND | GND | GND | â |
Imprime o cĂłdigo hex de cada botĂŁo pressionado.
#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();
}
}BotĂ”es 1â7 do comando seleccionam as 7 cores bĂĄsicas.
#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();
}
}