Arduino, Internet das Coisas e Computação vestível |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Controle Remoto Ir + Módulo Sensor Receptor IrDescrição
Caracteristicas do controle
Características do receptor
Pinagem do receptor
Como funciona o controle remoto infravermelho
Biblioteca
|
// Projeto: Identifica código Hexadecimal das teclas do controle remoto // Autor: André Silveira // Data: 22/09/2019 #include |
2) Esquema com Controle Remoto Ir + Módulo Sensor Receptor IR
3) Esquema com Controle Remoto Ir, Sensor Receptor IR e resistor de 10 kΩ.
// Projeto: Identifica código Hexadecimal das teclas do controle remoto // Autor: André Silveira // Data: 22/09/2019 #include "IRremote.h" // Biblioteca IRemote int PINO_REC = 10; // Declara pino conectado ao Receptor IR IRrecv irrecv(PINO_REC); // Criando instância de objeto IRrecv decode_results results; // declarando os resultados void setup() { Serial.begin(9600); // Velocidade do Monitor serial Serial.println("Aperte uma tecla para descobrir o código Hexadecimal"); irrecv.enableIRIn(); // Inicializa a recepção de códigos } void loop() { // --- Se alguma tecla for apertada imprime seu código Hexadecimal --- // if (irrecv.decode(&results)) { // Tecla apertada Serial.println(results.value, HEX); // Imprime codigo Hexadecimal irrecv.resume(); // Reinicializa o receptor delay(10); } } |
O projeto usa Arduino Uno R3, Display LCD 16x2 (+ resistores de 200Ω), Controle Remoto Ir e Módulo Sensor Receptor IR (ou Sensor Receptor IR e resistor de 10 kΩ) e resistores de 120Ω para acender e apagar LEDs.
1) Esquema com Controle Remoto Ir + Módulo Sensor Receptor IR
2) Esquema com Controle Remoto Ir, Sensor Receptor IR e resistor de 10 kΩ.
// Projeto: Acende e apaga LEDs pelo controle remoto // Autor: André Silveira // Data: 22/09/2019 #include <LiquidCrystal.h> // Biblioteca LiquidCrystal #include <IRremote.h> // Biblioteca IRemote int PINO_REC = 10; // Declara pino conectado ao Receptor IR IRrecv irrecv(PINO_REC); // Criando instância de objeto IRrecv decode_results results; // declarando os results int Pino_Vermelho = 4; // Pino da cor vermelho do LED int Pino_Verde = 5; // Pino da cor verde do LED int Pino_Azul = 6; // Pino da cor azul do LED // Inicializa instancia de classe do LiquidCrystal LiquidCrystal lcd(A0,A1,A2,A3,A4,A5); void setup() { Serial.begin(9600); Serial.println("Aperte uma tecla"); irrecv.enableIRIn(); // Inicializa a recepção de códigos pinMode(Pino_Vermelho, OUTPUT); pinMode(Pino_Azul, OUTPUT); pinMode(Pino_Verde, OUTPUT); lcd.begin(2,16); ligaled(0,0,0,"Aperte uma tecla"); } void loop() { // --- Se alguma tecla foi apertada imprime o código Hexadecimal --- // results.value = 0; if (irrecv.decode(&results)) { Serial.print(" > Apertou: "); Serial.print(results.value, HEX); // imprime o HEX Code irrecv.resume(); // reinicializa o receptor } // --- Se alguma tecla for apertada testa o código Hexadecimal --- // switch (results.value) { case 0xFD30CF: Serial.print(" > Ligou Led Branco"); Serial.println(""); ligaled(255,255,255,"Ligou Led"); break; case 0xFD08F7: Serial.print(" > Ligou Led Vermelho"); Serial.println(""); ligaled(255, 0, 0,"Cor vermelha"); break; case 0xFD8877: Serial.print(" > Ligou Led Verde"); Serial.println(""); ligaled(0, 255, 0,"Cor verde"); break; case 0xFD48B7: Serial.print(" > Ligou Led Azul"); Serial.println(""); ligaled(0, 0, 255,"Cor azul"); break; case 0xFD28D7: Serial.print(" > Desligou Led"); Serial.println(""); ligaled(0, 0, 0,"Desligou Led"); break; case 0: // --- Tecla não digitada break; default: Serial.print(" > Tecla invalida"); Serial.println(""); lcd.clear(); lcd.setCursor(0,0); lcd.print("0 1 2 3 4"); lcd.setCursor(0,1); lcd.print("Tecla errada"); delay(400); break; } delay(100); } // --- Função que liga ou desliga os Leds --- // void ligaled(int r, int g, int b, String mensagem) { analogWrite(Pino_Vermelho, r); analogWrite(Pino_Verde, g); analogWrite(Pino_Azul, b); lcd.clear(); lcd.setCursor(0,0); lcd.print("0 1 2 3 4"); lcd.setCursor(0,1); lcd.print(mensagem); } |
[Voltar] |
[Avançar] |