Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
Tutorial ESP32 29/55 - Lendo a tecla pressionada do controle remoto IR com ESP32 | Kit de Aprendizagem IoT ESP32 da SunFounder
Neste tutorial, aprenderemos a detectar sinais infravermelhos (IR) usando o módulo ESP32 e um receptor IR compatível. Quando pressionamos um botão no controle remoto, o ESP32 reconhecerá o sinal e executará ações específicas, como acionar um buzzer para teclas específicas. Este projeto é ideal para aqueles que desejam integrar capacidades de controle remoto em suas aplicações ESP32 (no vídeo às :15).
remoto
O ESP32 é um microcontrolador poderoso que combina capacidades de Wi-Fi e Bluetooth, tornando-o adequado para uma ampla gama de aplicações de IoT. Neste projeto, usaremos um receptor IR para interpretar sinais de um controle remoto. As teclas pressionadas serão processadas no código, permitindo que realizemos ações com base nos comandos recebidos.
Hardware Explicado
Os principais componentes para este projeto incluem o microcontrolador ESP32, um módulo receptor IR e um buzzer. O ESP32 atua como o cérebro da operação, processando os sinais recebidos do receptor IR. O receptor IR detecta os sinais infravermelhos do controle remoto e os converte em sinais elétricos que o ESP32 pode entender.
ir_receiver_sl838
O receptor IR geralmente tem três pinos: VCC (alimentação), GND (terra) e OUT (sinal). O pino VCC está conectado a uma fonte de energia (3,3V ou 5V), enquanto o GND está conectado à terra. O pino OUT envia o sinal decodificado para o ESP32, que pode então ser usado para acionar várias ações, como ativar um buzzer quando uma tecla específica é pressionada.
Detalhes da Ficha Técnica
Fabricante
Afiado
Número da peça
GP1UXC41
Tensão lógica/IO
3,3 - 5,0 V
Tensão de alimentação
3,3 V (típ.)
Corrente de saída (por canal)
20 mA (máx)
Corrente de pico (por canal)
50 mA (máx)
Orientações sobre frequência PWM
38 kHz
Limiares de lógica de entrada
0,3 Vcc (alto), 0,2 Vcc (baixo)
Queda de tensão / RDS(on)saturação
0,5 V (máx)
Limites térmicos
85 °C (máx)
Pacote
TO-92
Notas / variantes
Disponível em várias configurações
Garanta o fornecimento de energia correto para evitar danos.
Use fios curtos para minimizar a interferência de sinal.
Verifique a orientação do receptor IR antes de conectar.
Confirme que a bateria do controle remoto está funcionando.
Use resistores pull-up se necessário para estabilidade.
Instruções de Fiação
ESP32-29-IR-remote-wiring
Para conectar o receptor IR ao ESP32, comece identificando os três pinos do receptor IR: VCC, GND e OUT. Conecte o pino VCC a uma fonte de 3,3V no ESP32. Em seguida, conecte o pino GND a um dos pinos de terra (GND) no ESP32. Por fim, conecte o pino OUT ao pino GPIO 14 no ESP32, que é designado para o receptor IR no código.
ESP32-29-IR-esquema de controle remoto
Uma vez feitas as conexões, certifique-se de que a fiação está segura. Se você estiver usando uma placa de ensaio, insira o receptor IR de modo que o lado plano esteja voltado para você e a protuberância esteja do lado oposto. Esta orientação ajudará você a identificar corretamente os pinos. Certifique-se de verificar as conexões antes de ligar o ESP32.
Exemplos de Código e Passo a Passo
IR_receiver_lib
instale oIRremoteESP8266biblioteca por David Conran, Sebastien.
No código, definimos o pino do receptor IR usando a constante.IR_RECEIVE_PIN, que está definido para 14. Também criamos uma instância deIRrecvpara lidar com os sinais IR.
Dentro doloop()função, verificamos se um sinal IR foi recebido. Se sim, decodificamos o valor da tecla e o imprimimos no monitor serial.
if (irrecv.decode(&results)) {
String key = decodeKeyValue(results.value);
Serial.println(key);
irrecv.resume();
}
Este trecho de código mostra como decodificamos o sinal recebido e imprimimos o valor da chave correspondente no monitor serial.decodeKeyValue()a função mapeia o sinal recebido para valores de botão específicos, como "0", "1", "EQ" e outros. Você pode encontrar o código completo carregado abaixo do artigo.
Demonstração / O que Esperar
Uma vez que a fiação esteja completa e o código esteja carregado, pressionar um botão no controle remoto deve exibir o valor da tecla correspondente no monitor serial. Por exemplo, pressionar o botão "2" imprimirá "2" no monitor. Se a tecla não for reconhecida, retornará "ERROR". O buzzer soará quando a tecla designada (por exemplo, "EQ") for pressionada, fornecendo feedback imediato.
Tenha cuidado com armadilhas comuns, como polaridade invertida em suas conexões ou uso de níveis de tensão incorretos. Certifique-se de que o controle remoto funcione corretamente e tenha uma bateria em funcionamento antes de testar sua configuração (no vídeo às 15:30).
Marcações de Vídeo
00:00 Iniciar
2:05 Introdução ao receptor IR
Fiação explicada:24
Código Arduino para receptor IR explicado
10:06 Selecionando a placa ESP32 e a porta COM no Arduino IDE
11:48 Demonstração do Projeto
13:09 Buzzer ativo conectado diretamente ao ESP32
14:40 tomando uma ação quando uma tecla é pressionada
15:30 Código Arduino para tomar ação
16:54 Demonstração de tecla pressionada e campainha
Imagens
IR_receiver_lib
ir_receiver_sl838
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
IR_receiver_lib
ir_receiver_sl838
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
830-ESP32 Tutorial 29/55- Arduino code for fading Infrared remote