Controle remoto universal para Arduino. Transmitindo dados na faixa infravermelha usando Arduino Conectando um receptor infravermelho ao Arduino

Existem muitos artigos na Internet sobre como fazer seu próprio controle remoto de TV usando Arduino, mas eu precisava de um controle remoto universal para controlar minha TV e meu reprodutor de mídia. A principal vantagem do meu controle remoto universal é que os botões do aplicativo do telefone Android têm dupla finalidade, mas veja o vídeo.



O controle remoto é muito conveniente porque quase os mesmos botões na tela são usados ​​para controlar a TV e o player. Uma diferença é que o " AV"no modo de controle de TV muda para um botão" " (parar) ao mudar para o modo de controle do reprodutor. As imagens mostram dois modos, à esquerda está o modo de controle da TV, à direita está o modo de controle do reprodutor.

Bem, agora vou contar um pouco sobre como criar esse controle remoto. Para o aparelho utilizei o controle remoto da ERGO TV e o controle remoto do media player DUNE HD TV101W.

Para receber dados dos controles remotos, utilizei um sensor infravermelho TSOP1138 (análogo ao TSOP4838) com frequência de operação de 38 kHz e conectei-o à placa Arduino conforme esquema:

Este esboço não será necessário para determinar a codificação da transmissão de dados e ler o código dos botões do controle remoto.

No esboço da linha int RECV_PIN = 11; indique nosso pino número 4

Após fazer o upload do sketch, abra o “monitor de porta” e, pressionando os botões do controle remoto, observe os dados recebidos.

A imagem mostra um exemplo de digitalização do botão liga / desliga do controle remoto da TV e do controle remoto do player. Agora criamos uma tabela para códigos de botão.

Consegui como na foto acima. Sob a inscrição televisão Códigos dos botões do controle remoto da TV; sob a inscrição Jogador- códigos do controle remoto do media player.

Agora desconectamos nosso receptor de sinal infravermelho da placa Arduino e conectamos a ele o módulo Bluetooth HC-05 e um LED infravermelho conforme diagrama da foto.

Depois disso, passamos diretamente para o esboço.

Esboço

#incluir IRenviar irenviar; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // códigos de botão para o controle remoto da TV if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40 ); ) if (x == 98) ( irsend.sendNEC(0x807FA857, 32); atraso(40); ) if (x == 99) ( irsend.sendNEC(0x807F708F, 32); atraso(40); ) se (x == 100) ( irsend.sendNEC(0x807FF00F, 32); atraso(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); atraso(40); ) se (x == 102) ( irsend.sendNEC(0x807FB04F, 32); atraso(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); atraso(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); atraso(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); atraso(40); ) if (x == 106) ( irsend.sendNEC(0x807F38C7 , 32); atraso (40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); atraso(40); ) if (x == 108) ( irsend.sendNEC(0x807FB847, 32); atraso(40); ) if (x == 109) (irsend.sendNEC(0x807F6897, 32); atraso(40); ) ) if (y == 2) ( //códigos dos botões do controle remoto do media player if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98) ( irsend.sendNEC(0xFDE01F, 32); atraso(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); atraso(40); ) if (x == 100) ( irsend.sendNEC (0xFDE817, 32); atraso (40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); atraso(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32 ); atraso (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); atraso(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); atraso( 40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); atraso(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); atraso(40); ) if (x == 107) (irsend.sendNEC(0xFD9867, 32); atraso(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); atraso(40); ) se (x = = 109) (irsend.sendNEC(0xFD20DF, 32); atraso(40); ) ) ) )


No esboço você precisará editar os códigos dos botões, nomeadamente nas linhas:

Se (x == 97) (irsend.sendNEC(0x807F08F7, 32); atraso(40);
Altere o valor 807F08F7 para:

If (y == 1) ( //códigos de botão para o controle remoto da TV if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
Onde 12345678 é o código do seu botão.

Após editar o esboço usando seus códigos de botão, carregue o esboço na placa Arduino e prossiga com a instalação do aplicativo em seu telefone.

Ligamos o Bluetooth no telefone, procuramos nosso dispositivo, criamos um par e iniciamos o aplicativo Pulto no telefone.

Ao iniciar teremos uma tela com um ícone de bluetooth vermelho no canto inferior direito, que sinaliza que não estamos conectados ao nosso dispositivo.

Depois disso, clique neste ícone. Deveremos ver uma janela com uma lista de todos os dispositivos bluetooth disponíveis, onde selecionamos nosso dispositivo para conectar.

Agora estamos de volta à tela principal e já podemos controlar a TV:

Para mudar para o modo de controle, precisamos pressionar o botão rotulado "Jogador". Como eu disse anteriormente, nosso botão denominado "AV" mudará para um botão " ":

Para desconectar do nosso dispositivo, basta manter pressionado o botão “Power” por alguns segundos.

Bem, algumas fotos do meu dispositivo finalizado.

Acabou muito bem, ao que parece. Estou aguardando comentários sobre o artigo.

Ele envia um pacote de dados codificados e modulados para o LED IR e, quando o botão é pressionado, repete também os pacotes.

  • A luz infravermelha invisível do LED IR atinge o módulo receptor Trima IR, onde é convertida em pulsos elétricos demodulados.
  • A biblioteca iarduino_IR lê e decodifica continuamente pulsos do receptor IR (usando o segundo temporizador de hardware Arduino)
  • No código do loop, verificamos os dados decodificados pela biblioteca com aqueles atribuídos ao dispositivo (lâmpada) e se coincidirem, então alteramos o estado (“1”/“0”) na entrada do módulo Trema Solid State Relé, portanto, liga ou desliga o aparelho (lâmpada).
  • O dispositivo pode ser útil se você atribuir botões não utilizados no controle remoto da televisão (por exemplo, os botões coloridos do teletexto) para controlar a iluminação da sala.

    Em vez de lâmpadas incandescentes, você pode conectar qualquer dispositivo de rede ~220 V com consumo de corrente de até 2 A.

    Nós vamos precisar:

    • Controle remoto ir x 1pcs (qualquer controle remoto IR de TV serve)
    • Dispositivos (lâmpadas) que controlaremos x 3 peças.

    Para implementar o projeto precisamos instalar a biblioteca:

    • Biblioteca iarduino_IR para trabalhar com transceptores IR
      IMPORTANTE: a biblioteca usa um segundo temporizador de hardware,
      NÃO EMITE SINAIS PWM PARA 3 OU 11 SAÍDAS!

    Você pode descobrir como instalar bibliotecas na página Wiki - Instalando bibliotecas no Arduino IDE.

    Vídeo:

    Diagrama de conexão:

    Este circuito usa apenas módulos digitais; eles podem ser conectados a qualquer pino do Arduino (digital e analógico). Por exemplo, conectamos todos os módulos às saídas analógicas. Nem todo mundo sabe que os pinos analógicos do Arduino podem funcionar como pinos digitais normais, permitindo receber (de um receptor IR) e transmitir (para relés de estado sólido) sinais digitais na forma de “0” e “1” lógicos.

    Se você conectar dispositivos a outros pinos, seus números deverão ser indicados na segunda (declaração do objeto IR) e na terceira (declaração da matriz pinRelay) linhas do esboço. O código do programa é escrito de forma que você possa conectar tantos relés quantos forem os pinos livres em seu Arduino, simplesmente listando os números dos pinos na terceira linha do esboço (declaração do array pinRelay).

    Algoritmo de trabalho:

    • No início, o esboço atribui o código do botão remoto IR a cada relé de estado sólido sequencialmente. Primeiro, o LED pisca e o circuito do relé de estado sólido é fechado, cuja saída é indicada primeiro. Se você pressionar qualquer botão no controle remoto IR, o código desse botão será atribuído a esse relé e o próximo começará a piscar, e assim por diante, até que todos os relés tenham sido atribuídos a botões no controle remoto IR.
    • Após consultaFunções dos botões, todos os relés estão desligados. Se você pressionar o botão do controle remoto IR, o relé ao qual o código deste botão está atribuído será ligado. Se você pressionar o botão indicado novamente, o relé será desligado. O dispositivo não responderá ao pressionar botões cujo código não foi atribuído a nenhum relé.
    • Se Se você não quiser atribuir códigos de botão a cada inicialização, indique-os explicitamente ao declarar o array varRelay e remova os loops for e while do código de configuração.
    • Descubra o código de cada botão você pode escrever a seguinte linha: if(IR.check())(Serial.println(IR.data);)

    Código do programa:

    #incluir // conecta a biblioteca para trabalhar com o receptor IR iarduino_IR_RX IR(A5); // declara um objeto IR para trabalhar com um receptor IR (indicando qualquer pino ao qual o receptor IR está conectado) const uint8_t pinRelay = (A1,A2,A3); // declara um array indicando os números de quaisquer pinos (digitais ou analógicos) aos quais os relés de estado sólido estão conectados const uint8_t allRelay = sizeof(pinRelay); //declara uma constante passando seu número de elementos no array pinRelay (número de relés) uint32_t varRelay; // declara um array com códigos (comandos) do receptor IR incluindo relés bool modRelay; // declara um array com estados de relé uint8_t setRelay; // declara uma variável com o número de relés para os quais o comando do receptor IR é escrito void setup())( IR.begin(); // inicializa o trabalho com o transceptor IR for(uint8_t i=0; i O módulo receptor IR em combinação com um controle remoto IR permitirá que você implemente facilmente o controle remoto da placa Arduino.

    Nada mais é do que um receptor IR VS1838B com o chicote recomendado pelo fabricante instalado na placa.

    Para trabalhar com este módulo pronto para uso, você precisa de um controle remoto com frequência de 38 kHz.

    A vantagem desta placa é o conector push-in, que permite substituir o receptor IR por outro operando na frequência necessária para o seu projeto sem necessidade de solda.

    Principais características técnicas:

    Tensão de alimentação: 2,7 - 5,5V

    Frequência de modulação: 38kHz

    Faixa de temperatura: - 20 ... + 80°C

    Interface: Digital

    Conectando ao Arduino

    O módulo está equipado com um conector de três pinos de 2,54 mm

    : conecta-se ao pino GND

    : conecta-se à saída de +5V

    : conecta-se ao pino digital (D2 no exemplo)

    Um exemplo de trabalho no ambiente Arduino

    Para trabalhar com este módulo você precisa instalar a biblioteca IRRemote

    Baixe, descompacte e coloque na pasta bibliotecas da pasta Arduino. Se o Arduino IDE estava aberto no momento da adição da biblioteca, reinicie o ambiente.

    Lendo botões do controle remoto

    Para ler as leituras do controle remoto, preencha o desenho abaixo. Ele enviará a codificação dos botões pressionados para a porta.

    Como exemplo usaremos o controle remoto, como na foto, pois Este tipo de controle remoto está incluído no conjunto

    Você pode ler sobre as diferenças na lógica operacional de vários controles remotos no artigo original de um membro de nossa comunidade sob o apelido

    Código de amostra:

    #incluir intRECV_PIN = 2; IRrecv irrecv(RECV_PIN); //Cria um objeto para receber um sinal de uma porta específica resultados de decode_resultados; //Variável que armazena o resultado vazio configurar () { Serial //Começa a receber) vazio laço() ( if (irrecv.decode(&resultados)) //Ao receber um sinal... { Serial.println(resultados.valor); //...envia seu valor para a porta serial irrecv.resume(); ) )

    Você deverá ver o seguinte no monitor de porta:

    Ao segurar cada botão por quase um segundo, obtemos cerca de 10 códigos. O primeiro é o código do botão. E depois disso, um código padrão começa a aparecer, informando que o botão está travado.

    Controlando placa Arduino com controle remoto

    Vamos fazer com que o LED da placa Arduino (D13) acenda quando o primeiro botão for codificado e apague quando o segundo botão for codificado.

    Código de amostra:

    // Testado no Arduino IDE 1.0.3#incluir intRECV_PIN = 2; LED interno = 13; IRrecv irrecv(RECV_PIN); resultados de decode_resultados; vazio configurar () { Serial.begin(9600); irrecv.enableIRIn(); // Inicia o receptor pinMode(LED, SAÍDA); ) vazio laço() ( if (irrecv.decode(&resultados)) ( Serial.println(resultados.valor); if (resultados.valor == 16769565) // Ao receber a codificação 1(digitalWrite(LED, ALTO); //Acende o LED) if (resultados.valor == 16761405) // Ao receber a codificação 2(digitalWrite(LED, BAIXO); //Desliga o LED) irrecv.resume(); // Obtém o próximo valor } }

    Bom dia a todos (ou noite, como desejarem), vamos começar com uma introdução lírica. Hoje em dia muitas pessoas têm casas TV com controle remoto, sintonizador, DVD player . Muitas pessoas (e famílias) não conseguem imaginar a sua vida doméstica sem um controle remoto nas mãos. Concordo - como é bom ser o mestre dos eletrodomésticos e a qualquer momento ditar sua vontade para essas peças de hardware. Neste artigo, gostaríamos de examinar mais profundamente a tecnologia de controle remoto e dar alguns exemplos de aplicação para nossas necessidades.

    Então, o que precisamos como componentes para nosso experimento? Como opção módulos de controle remoto IR e receptores IR prontos são vendidos. Mas não queremos esperar e pagar, então agiremos de forma mais agressiva. Tomemos como base um controle remoto de origem desconhecida, temos também um pedaço de placa de um sintonizador chinês no qual está soldado um receptor infravermelho. Na foto abaixo você pode ver esses componentes. Para ser honesto, o controle remoto foi encontrado entre lixo desnecessário na mesa do escritório, e a placa com o receptor IR foi retirada da oficina de rádio mais próxima.

    Pois bem, como eu costumava dizer canibal - "Avançar para Cartago" . Só precisamos dessoldar o receptor e conectá-lo à placa Arduíno de acordo com o seguinte esquema...

    • Conectando um receptor IR

    Receptor infravermelho que foi soldado na placa não possui nenhuma marcação, é apenas mais um componente de rádio chinês desconhecido, do qual milhares foram produzidos. Em suma, podemos dizer - num edifício combinafotodiodo, pré-amplificador e driver . A saída é formada por um normalSinal TTL sem preenchimento, adequado para processamento posterior pelo microcontrolador. A frequência da portadora é possivelmente (!) 36 kHz, mas agora isso não é tão importante... Vamos apenas tentar conectá-lo à placaArduíno , o diagrama condicional fornecerá a pinagem desejada deste dispositivo. No diagrama abaixo, destacado em vermelho está o formato do corpo em que o nosso é feitoReceptor infravermelho , destacado em verde - pinagem pela qual está conectado à placaArduíno .

    Atenção!!! Na Internet existem muitos diagramas de pinagem para dispositivos desse tipo (TSOP). As pinagens fornecidas neste artigo podem não coincidir com as encontradas na Internet, mas é assim que tudo está conectado a nós. Se o receptor IR começar a esquentar ao ser conectado, desligue imediatamente o circuito montado, isso significa que a pinagem da conexão não corresponde à real e você terá que selecioná-la quase ao acaso. Foi exatamente isso que fizemos, pois os circuitos encontrados na Internet não eram adequados para o nosso receptor IR. Aqui, em geral, o principal é não queimar a placa Arduino, proceda com cautela!!!

    • Biblioteca IRremote

    Então tudo está conectado. Existe uma biblioteca para ler códigos do controle remoto IRremote.h, é com a sua ajuda que estudaremos o nosso telecomando, ou melhor, os códigos dos botões. No futuro, usaremos os códigos lidos para nossos próprios propósitos. O esboço com o qual serão lidos os códigos dos botões é apresentado nos exemplos desta biblioteca, é denominado IRrecvDemo. Atenção!!! Ao compilar o sketch ocorre um erro, logo no início é necessário adicionar mais duas bibliotecas de plug-ins:

    #include "boarddefs.h" //Biblioteca adicional #include "IRremote.h" #include "IRremoteInt.h" //Biblioteca adicional int RECV_PIN = 2; //Pino para conexão do sinal de saída do receptor IR //Cria uma instância da classe IRrecv, passando como parâmetro o pino para conexão do sinal do receptor IR IRrecv irrecv(RECV_PIN); resultados de decode_resultados; //Variável para salvar o código recebido do botão pressionado void setup() ( Serial.begin(9600); irrecv.enableIRIn(); //Ativando o funcionamento do receptor IR ) void loop() ( if (irrecv.decode( &results)) //Se um evento ocorreu/o botão foi pressionado ( Serial.println(results.value, HEX); //Envia o código do botão pressionado em formato hexadecimal para o monitor de porta irrecv.resume(); // Leia o próximo valor/botão ) delay(100 ); )

    Depois que o esboço for carregado no quadroArduíno(nós usamos ArduinoNano no escudo Escudo sem fio de E/S para Nano ), pode ser aberto monitor de porta e veja quais códigos aparecem quando você pressiona os botões do controle remoto. O resultado do esboço é mostrado na imagem abaixo:

    Aliás, como monitor de porta Usamos nosso software comprovado, se alguém estiver interessado, você pode ler o artigo e baixar o Serial Monitor Pro.

    #define KEY_ONOFF 0x807F807F //Botão liga/desliga #define KEY_MUTE 0x807F48B7 //Botão Mudo #define KEY_1 0x807F00FF //Botão 1 #define KEY_2 0x807FE01F //Botão 2 #define KEY_3 0x807F609F //Botão K 3 #define KEY_4 0x 807F20DF //Botão 4 #define KEY_5 0x807FD02F //Botão 5 #define KEY_6 0x807F50AF //Botão 6 #define KEY_7 0x807F10EF //Botão 7 #define KEY_8 0x807FF00F //Botão 8 #define KEY_9 0x807F708F //Botão 9 #define KEY_0 0x8 07FC837 //Botão 0

    E agora, em geral, está tudo pronto para o teste final - este será um teste elementar de controle de liga/desliga dos módulos de relé. Aqui está uma pequena tarefa:

    • Usamos dois módulos de relé
    • Ligamos o relé nº 1 ao botão “1” do controle remoto
    • O relé nº 2 está vinculado ao botão “2” do controle remoto
    • A ativação de qualquer um dos módulos de relé é feita pressionando o botão ao qual está atribuído
    • O desligamento de qualquer um dos módulos de relé também é feito pressionando o botão ao qual está atribuído
    • Pressionar o botão Liga/Desliga desliga incondicionalmente ambos os módulos de relé (se eles estavam ligados ou um deles está ligado)

    Um esboço que implementa a tarefa acima:

    #include "boarddefs.h" //Biblioteca adicional #include "IRremote.h" #include "IRremoteInt.h" //Biblioteca adicional #define KEY_ONOFF 0x807F807F //Botão liga/desliga #define KEY_1 0x807F00FF //Botão 1 #define KEY_2 0x807FE01F //Botão 2 #define RELOUT1 3 //Porta de saída para relé 1 #define RELOUT2 4 //Porta de saída para relé 2 int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); resultados de decode_resultados; booleano estático REL1_ONOFF = falso; booleano estático REL2_ONOFF = falso; void setup() ( pinMode(RELOUT1, OUTPUT); pinMode(RELOUT2, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Inicia o receptor ) void loop() ( if (irrecv.decode(&results )) ( switch(resultados.valor) ( ​​case(KEY_ONOFF): REL1_ONOFF = falso; REL2_ONOFF = falso; break; case(KEY_1): if(REL1_ONOFF) REL1_ONOFF = false; else REL1_ONOFF = true; break; case(KEY_2 ): if(REL2_ONOFF) REL2_ONOFF = false; else REL2_ONOFF = true; break; ) irrecv.resume(); ) digitalWrite(RELOUT1, REL1_ONOFF); digitalWrite(RELOUT2, REL2_ONOFF); delay(100); )

    E no final do artigo há um vídeo que demonstra o trabalho dos dois esboços. Se desejar e tiver imaginação criativa, você pode ampliar a frota de plug-ins e gerenciar tudo de forma mais avançada. Em nosso artigo tentamos dar um exemplo básico do uso dessa tecnologia. Obrigado pela atenção e divirta-se assistindo!!!

    Ative o javascript para que os comentários funcionem.

    Existem muitos artigos na Internet sobre como fazer seu próprio controle remoto de TV usando Arduino, mas eu precisava de um controle remoto universal para controlar minha TV e meu reprodutor de mídia. A principal vantagem do meu controle remoto universal é que os botões do aplicativo do telefone Android têm dupla finalidade, mas veja o vídeo.



    O controle remoto é muito conveniente porque quase os mesmos botões na tela são usados ​​para controlar a TV e o player. Uma diferença é que o " AV"no modo de controle de TV muda para um botão" " (parar) ao mudar para o modo de controle do reprodutor. As imagens mostram dois modos, à esquerda está o modo de controle da TV, à direita está o modo de controle do reprodutor.

    Bem, agora vou contar um pouco sobre como criar esse controle remoto. Para o aparelho utilizei o controle remoto da ERGO TV e o controle remoto do media player DUNE HD TV101W.

    Para receber dados dos controles remotos, utilizei um sensor infravermelho TSOP1138 (análogo ao TSOP4838) com frequência de operação de 38 kHz e conectei-o à placa Arduino conforme esquema:

    Este esboço não será necessário para determinar a codificação da transmissão de dados e ler o código dos botões do controle remoto.

    No esboço da linha int RECV_PIN = 11; indique nosso pino número 4

    Após fazer o upload do sketch, abra o “monitor de porta” e, pressionando os botões do controle remoto, observe os dados recebidos.

    A imagem mostra um exemplo de digitalização do botão liga / desliga do controle remoto da TV e do controle remoto do player. Agora criamos uma tabela para códigos de botão.

    Consegui como na foto acima. Sob a inscrição televisão Códigos dos botões do controle remoto da TV; sob a inscrição Jogador- códigos do controle remoto do media player.

    Agora desconectamos nosso receptor de sinal infravermelho da placa Arduino e conectamos a ele o módulo Bluetooth HC-05 e um LED infravermelho conforme diagrama da foto.

    Depois disso, passamos diretamente para o esboço.

    Esboço

    #incluir IRenviar irenviar; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // códigos de botão para o controle remoto da TV if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40 ); ) if (x == 98) ( irsend.sendNEC(0x807FA857, 32); atraso(40); ) if (x == 99) ( irsend.sendNEC(0x807F708F, 32); atraso(40); ) se (x == 100) ( irsend.sendNEC(0x807FF00F, 32); atraso(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); atraso(40); ) se (x == 102) ( irsend.sendNEC(0x807FB04F, 32); atraso(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); atraso(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); atraso(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); atraso(40); ) if (x == 106) ( irsend.sendNEC(0x807F38C7 , 32); atraso (40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); atraso(40); ) if (x == 108) ( irsend.sendNEC(0x807FB847, 32); atraso(40); ) if (x == 109) (irsend.sendNEC(0x807F6897, 32); atraso(40); ) ) if (y == 2) ( //códigos dos botões do controle remoto do media player if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98) ( irsend.sendNEC(0xFDE01F, 32); atraso(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); atraso(40); ) if (x == 100) ( irsend.sendNEC (0xFDE817, 32); atraso (40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); atraso(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32 ); atraso (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); atraso(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); atraso( 40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); atraso(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); atraso(40); ) if (x == 107) (irsend.sendNEC(0xFD9867, 32); atraso(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); atraso(40); ) se (x = = 109) (irsend.sendNEC(0xFD20DF, 32); atraso(40); ) ) ) )


    No esboço você precisará editar os códigos dos botões, nomeadamente nas linhas:

    Se (x == 97) (irsend.sendNEC(0x807F08F7, 32); atraso(40);
    Altere o valor 807F08F7 para:

    If (y == 1) ( //códigos de botão para o controle remoto da TV if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
    Onde 12345678 é o código do seu botão.

    Após editar o esboço usando seus códigos de botão, carregue o esboço na placa Arduino e prossiga com a instalação do aplicativo em seu telefone.

    Ligamos o Bluetooth no telefone, procuramos nosso dispositivo, criamos um par e iniciamos o aplicativo Pulto no telefone.

    Ao iniciar teremos uma tela com um ícone de bluetooth vermelho no canto inferior direito, que sinaliza que não estamos conectados ao nosso dispositivo.

    Depois disso, clique neste ícone. Deveremos ver uma janela com uma lista de todos os dispositivos bluetooth disponíveis, onde selecionamos nosso dispositivo para conectar.

    Agora estamos de volta à tela principal e já podemos controlar a TV:

    Para mudar para o modo de controle, precisamos pressionar o botão rotulado "Jogador". Como eu disse anteriormente, nosso botão denominado "AV" mudará para um botão " ":

    Para desconectar do nosso dispositivo, basta manter pressionado o botão “Power” por alguns segundos.

    Bem, algumas fotos do meu dispositivo finalizado.

    Acabou muito bem, ao que parece. Estou aguardando comentários sobre o artigo.