Índice:

Controle remoto universal controlado por gestos com Node-MCU: 12 etapas
Controle remoto universal controlado por gestos com Node-MCU: 12 etapas

Vídeo: Controle remoto universal controlado por gestos com Node-MCU: 12 etapas

Vídeo: Controle remoto universal controlado por gestos com Node-MCU: 12 etapas
Vídeo: 12 Channels ESPNOW Wireless Transmitter Receiver using ESP32 | DIY 👌 2024, Novembro
Anonim
Controle remoto universal controlado por gestos com Node-MCU
Controle remoto universal controlado por gestos com Node-MCU

Olá a todos e sejam bem vindos a este projeto! Eu sou uma pessoa muito preguiçosa e o pesadelo de uma pessoa preguiçosa é estar assistindo TV quando você percebe que o controle remoto está muito longe! Percebi que meu controle remoto nunca estará muito longe se eu o tiver em mãos o tempo todo. Isso me inspirou a criar LAZr, o controle remoto universal controlado por gestos.

Neste projeto, estarei criando uma luva equipada com sensores capazes de detectar gestos com as mãos e enviar sinais para uma TV ou outro aparelho com um simples movimento do dedo.

Espero que gostem deste projeto e votem nele no Epilog Laser Contest!

Etapa 1: as peças

As partes
As partes

Este projeto contém as seguintes partes:

Uma luva ($ 5,00)

Node-MCU / ESP8266 ($ 3,00)

Este é o microcontrolador e o cérebro deste projeto. Tem a capacidade de se conectar a WiFi, o que o torna muito útil em aplicações de automação residencial e em projetos como este, já que o controle de WiFi pode ser implementado neste projeto.

5 sensores Flex ($ 7,00 cada)

Esses sensores medem a curvatura, semelhante a como um LDR (Light Dependent Resistor) mede os níveis de luz. Eles são usados para medir a flexão dos dedos e os gestos com as mãos.

Transmissor IR ($ 0,30)

Este componente transmite sinais IR para dispositivos como TVs, DVD players, etc.

Receptor IR ($ 1,00)

Este componente recebe sinais IR enviados por controles remotos. É necessário para decodificar sinais de controles remotos. Esses sinais podem então ser usados para controlar o aparelho a partir da luva. Eu recomendo o TSOP4838, pois testei com sucesso com TVs Sharp, Samsung e Apple.

5 resistores de 10k Ohm ($ 0,01 cada)

Esses resistores são necessários para cada um dos sensores Flex.

Resistor de 220 Ohm ($ 0,01 cada)

Esses resistores são necessários para cada um dos sensores Flex.

Transistor ($ 0,39)

O transistor é usado para transmissão de infravermelho.

74HC4051N Multiplexer IC ($ 0,22)

Como o Node-MCU tem apenas uma porta analógica, este IC é usado para "dividir" o pino analógico em vários, que são conectados aos sensores flex. Mais sobre isso mais tarde.

Muitos cabos de ligação! (Se você decidir usar uma placa de ensaio)

As seguintes partes são opcionais, mas são úteis se usadas:

Soquete IC de 16 pinos

Cabeçalhos femininos

Etapa 2: O Multiplexador IC (74HC4051N)

O Multiplexador IC (74HC4051N)
O Multiplexador IC (74HC4051N)

Embora o Node-MCU seja embalado com excelentes recursos, como WiFi e compatibilidade com Arduino IDE, ele tem suas desvantagens. Possui apenas um pino analógico, o que é insuficiente para este projeto. Como a luva tem cinco sensores flex, são necessárias cinco entradas analógicas para funcionar. Uma solução simples e barata para este problema é usar um Multiplexer IC (74HC4051N). Este IC é capaz de converter uma entrada analógica em oito!

Como funciona?

O IC funciona ativando uma entrada analógica, lendo-a e desligando-a. Em seguida, ele liga a próxima entrada analógica. Ao fazer isso, ele lê apenas um sensor por vez, enviando-o para o pino analógico do microcontrolador. O IC é capaz de ligar, ler e desligar as entradas analógicas tão rapidamente que parece que está lendo todas ao mesmo tempo. Isso é semelhante a como as telas do computador e do smartphone funcionam; Cada pixel não pode ter seu próprio pino designado (isso seria um desastre!), Então ele liga e desliga os pixels tão rápido que nossos olhos percebem todos eles como ligados ao mesmo tempo. Para funcionar, o IC precisa de três pinos digitais. Ao alterar as combinações dos estados ligado e desligado dos pinos, o IC pode ligar e desligar todas as 8 entradas analógicas.

Etapa 3: Layout da placa de ensaio

Layout da placa de ensaio
Layout da placa de ensaio

O layout do dispositivo é mostrado na imagem acima.

IMPORTANTE: Anote o tipo de transistor que você está usando, o pino do coletor do transistor deve se conectar ao LED IR, e não ao pino GND.

Etapa 4: Recebendo sinais

Para que a luva saiba o sinal correto a enviar, os sinais devem ser recebidos do controle remoto da sua TV / aparelhos e programados no código da luva. Para receber esses sinais, é necessário um receptor IR.

Nota: dê uma olhada no número do modelo do controle remoto da sua TV e tente encontrar as especificações do sinal online. Alguns receptores e transmissores de infravermelho não funcionam com alguns controles remotos, portanto, é importante encontrar um transmissor / receptor com a frequência correspondente à sua TV. Estou usando um receptor infravermelho 4838 que funciona com o controle remoto da minha TV Samsung.

Etapa 5: Código para receber sinais

Código para receber sinais
Código para receber sinais
Código para receber sinais
Código para receber sinais

Para usar o código, a biblioteca IRremoteESP8266 deve ser baixada. O link de download está abaixo:

IRremoteESP8266

No IDE do Arduino, vá para Sketch> Incluir biblioteca> Adicionar biblioteca. ZIP. Localize as duas bibliotecas baixadas e adicione-as ao IDE. Para acessar o código para receber sinais IR, vá em Arquivo> Exemplos> IRremoteESP8266> IRrecvDumpV2. No código, altere o valor kRecvPin de 14 para 5. Isso garante que o Node-MCU está lendo o pino correto (D1).

Depois de fazer a fiação das conexões da placa de ensaio, carregue este código para o seu Node-MCU e abra o seu monitor serial (defina a taxa de transmissão para 115200). Se você pressionar um botão no controle remoto da TV, os sinais serão impressos no monitor serial. Sucesso!

Você verá um longo conjunto de números com o valor rawData. Registre esses números e certifique-se de registrar o botão pressionado para obter esses números. Você precisará deles mais tarde.

Etapa 6: Esquemático de PCB

Esquema PCB
Esquema PCB

O esquema PCB foi criado no Autodesk Eagle e é mostrado na imagem acima. Todos os arquivos Eagle estão neste Instructable e podem ser baixados na próxima etapa.

Etapa 7: O Design PCB

O Design PCB
O Design PCB

Aqui está meu design de PCB. Todos os arquivos Eagle para esta placa de circuito estão abaixo, então você pode usar ou modificar este projeto para construir sua própria placa de circuito impresso! Eu adicionei pads SMD para as 3 entradas analógicas extras, bem como a porta 3V3 e GND. Isso me permitirá expandir este sistema se eu precisar, economizando recursos e tempo e tornando o PCB versátil.

Etapa 8: juntando tudo

Juntando tudo
Juntando tudo

Depois de esperar alguns dias, finalmente recebi meus PCBs pelo correio. Agora é a hora da parte divertida, soldar tudo junto! Seguindo o esquema, soldar o PCB foi bastante fácil. No meu projeto, usei um soquete IC e conectores fêmeas para meu IC multiplexador e Node-MCU. Isso é para que eu possa remover esses chips se eu precisar substituí-los ou reutilizá-los. Se você quiser um formato mais fino, sinta-se à vontade para soldar os chips diretamente na placa, mas lembre-se de que será muito difícil removê-los mais tarde.

Etapa 9: juntando a luva

Juntando a Luva
Juntando a Luva

Para instalar os sensores flexíveis na luva, colei pequenos tubos de borracha nos dedos da luva e coloquei os sensores neles. Dessa forma, os sensores tinham algum espaço de manobra e podiam ser removidos quando necessário. Para segurar o PCB, montei-o na luva usando um pouco de fita velcro. Mais uma vez, montar isso depende de você. Você pode ser criativo!

Etapa 10: Programando os comandos

Agora que o hardware está cuidado, é hora do software. Para sua luva, baixe o código abaixo.

Para fazer o código funcionar com sua TV, você deve alterar alguns números. Lembra daqueles números que você anotou? Agora é hora de usá-los. Se você não tiver os números, não se preocupe, é muito fácil coletar esses sinais; Simplesmente volte para a Etapa de Recebimento de IR. Copie o conjunto de dados rawData e cole-o no comentário "COLAR DADOS AQUI" no código. Renomeie este conjunto de dados para powerOn. Copie o número ao lado de powerOn (no meu caso 95). Este número é a quantidade de números no conjunto de dados. Agora, vá para o final do código, sob o comentário, "DISPLAY POWER". Substitua "95" pelo valor que você copiou. Agora, carregue seu código para o Node-MCU e coloque a luva. Se você colocar a mão na TV e dobrar um dos dedos, a TV ligará!

Isso é facilmente personalizável. Para adicionar mais funções, basta adicionar mais conjuntos de dados, copiar e colar a função DISPLAY POWER e alterar suas informações para o conjunto de dados e número de valores correspondentes. Como cada sensor flexível é diferente, talvez você precise alterar o número "310" para que seja registrado quando o dedo for dobrado. Você pode até fazer gestos com vários dedos e "interruptores principais". Por exemplo, ajustei meu código de forma que, quando curvo meu dedo anelar e o polegar, o volume da TV muda e a fonte muda. As possibilidades de expansão são infinitas!

Etapa 11: Está feito

Está feito!
Está feito!
Está feito!
Está feito!

Aí está, um controle remoto universal de TV controlado por gestos! Espero que tenha gostado deste projeto e que vote em mim no concurso Epilog Laser. Se você tiver alguma dúvida, fique à vontade para escrever um comentário e farei o possível para respondê-la. Mais uma vez, espero que tenham gostado!

Recomendado: