Índice:

Botão rotativo do codificador: 6 etapas
Botão rotativo do codificador: 6 etapas

Vídeo: Botão rotativo do codificador: 6 etapas

Vídeo: Botão rotativo do codificador: 6 etapas
Vídeo: LDmicro 19: Rotary Encoder Menu Navigation (Microcontroller PLC Ladder Programming with LDmicro) 2024, Novembro
Anonim
Botão Codificador Rotativo
Botão Codificador Rotativo

Este é um controle remoto rotativo baseado em um codificador rotativo. Possui os seguintes recursos.

  • Operado por bateria com consumo de corrente muito baixo quando ativado
  • Ativação automática quando o controle é girado
  • Sono automático após um período de inatividade
  • Ações configuráveis quando o controle é alterado

    • Acesso simples à web com posição relatada
    • Relatório MQTT
    • Controle do dimmer da lâmpada Lighwaverf
  • Tamanho muito pequeno
  • Baixo custo
  • Atualização de software via wi-fi
  • Gestão de acesso à rede wi-fi

Etapa 1: Componentes e ferramentas necessárias

Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias

Os seguintes componentes são necessários

Caixa - invólucro impresso em 3D disponível em

www.thingiverse.com/thing:3173779

  • Módulo ESP-12F ESP8266
  • Controle do codificador giratório (EC11) + botão giratório
  • Botão deslizante liga / desliga
  • Soquete de 3 pinos
  • Bateria LIPO 400mAh 802030
  • Refulator de tensão de 3,3 V (xc6203)
  • Capacitor 220uF
  • Resistores 1M, 4K7 (2)
  • Díodo Schottky 1N5819 (2)
  • Canal P MOSFET (AO3401)
  • Fio de esmalte (soldável)
  • Fio de engate

As seguintes ferramentas são necessárias

Ferro de solda de ponta fina

Etapa 2: Eletrônica

Eletrônicos
Eletrônicos

A eletrônica é baseada em um módulo ESP-12F. Uma pequena quantidade de componentes eletrônicos de suporte é usada para regular a bateria e permitir a ligação e desligamento automático.

O controle de energia é feito por meio do sinal EN no ESP-12F, que deve ser alto para que o módulo seja ligado. Isso é mantido baixo pelo resistor de 1M, mas pode ser elevado pelo transistor MOSFET. O capacitor 4u7 dá um mínimo de vários segundos de ativação, mesmo depois que o MOSFET é desligado.

O transistor MOSFET é inicialmente ligado por um dos interruptores de codificação rotativos sendo aterrado conforme ele gira. Ele pode então ser mantido por um sinal GPIO quando o código ESP8266 é inicializado.

O MOSFET desliga quando o sinal GPIO é liberado após a inatividade por um período de tempo limite ser detectada.

Etapa 3: Montagem

conjunto
conjunto
conjunto
conjunto

Eu fiz as seguintes etapas de montagem.

  • Imprimir caixa 3D
  • Coloque o interruptor liga / desliga e o carregador de 3 pinos. Use resina para fixar no lugar e prenda as etiquetas internas ao comprimento mínimo
  • Prenda as pernas no controle giratório para que fiquem alinhadas com a base para minimizar a altura
  • Conecte 4 fios para controlar. Um lado do interruptor de botão é conectado ao conector central dos interruptores de codificação.
  • Fixe o codificador na caixa e prenda com sua porca de montagem. Adicionar botão
  • Monte o regulador no capacitor e conecte os fios dele aos pinos de alimentação no módulo ESP-12F
  • Solde outros componentes eletrônicos na parte de trás do módulo ESP-12F. Usei fio de cobre esmaltado para ligá-los. Um curto toco de fio foi usado no pino EN, pois ele possui vários componentes conectados a ele.
  • Solda no fio do gancho para ligar / desligar
  • A solda na bateria leva ao ponto do carregador e alimenta a partir do interruptor liga / desliga
  • Solda no fio da chave liga / desliga para a entrada do regulador.
  • Conecte os 4 fios do codificador à placa.

Observe que usei componentes smd para manter o tamanho o menor possível. Se estiver usando componentes maiores, você provavelmente precisará aumentar a altura do gabinete 3d. Da mesma forma, se você usar uma bateria de tamanho diferente. As dimensões são facilmente ajustáveis no arquivo SCAD.

Etapa 4: Software

O software para este projeto está disponível em

É um projeto baseado em Arduino, então configure um ambiente de desenvolvimento esp8266 Arduino. Você pode querer definir as senhas para WifiManager e atualização de software no arquivo ino para algo mais sensato.

Ele deve ser compilado no IDE Arduino ESP8266 e carregado em série no módulo.

O primeiro uso iniciará um ponto de acesso que deve ser conectado a um telefone ou tablet. Veja o código para senha. O navegador no telefone ou tablet deve ser usado para acessar 192.168.4.1, o que permitirá a seleção do SSID e senha wi-fi local. Isso só precisa ser feito uma vez ou se a rede wi-fi mudar. A partir de então, o módulo se conectará à rede wi-fi local, se necessário.

Alguns arquivos de suporte também devem ser carregados. Eles estão na pasta de dados do git. Eles podem ser carregados acessando ip / upload. Uma vez que eles tenham sido carregados, ip / edit pode ser usado para fazer uploads adicionais de uma maneira mais fácil.

Etapa 5: configuração

A configuração está contida no arquivo rotaryEncoderConfig.txt

Isso tem dois parâmetros básicos (nome do host e tempo limite de inatividade em milissegundos mais a configuração de até 3 codificadores rotativos.

Embora esta versão use apenas um codificador, a biblioteca usada permite até três.

Cada codificador possui uma linha no arquivo de configuração com vários parâmetros.

  • pino1, pino2, pinos GPIO do botão
  • valor mínimo do codificador
  • valor máximo do codificador
  • valor da posição inicial (o último valor também é lembrado quando ativado.
  • tipo de ação a ser executada 0 = Nenhum, 1 = Web GET, 2 = UDP / Lightwave, 3 = MQTT
  • o intervalo é a duração mínima em ms entre as ações
  • o modelo de ação é o modelo básico para a ação
  • par1, par2, par3, par4, par5 são parâmetros adicionais

O modelo de ação tem variáveis que são substituídas antes de usar

  • $ p posição rotativa
  • $ d direção rotativa
  • Número do codificador $ e (0 é o primeiro)
  • $ l faz uma função lightwave
  • $ x, $ y, $ z, $ u, $ v substituto par1 - par5
  • $ t substitute change counter
  • $ c substitute vírgula

Etapa 6: Operação

Depois que o wi-fi é configurado, o controle é ativado clicando em uma etapa de qualquer maneira. Isso não muda a posição nem desencadeia uma ação.

A partir de então, qualquer rotação acionará a ação configurada. O intervalo mínimo de ação limitará potencialmente as ações realizadas conforme o controle é girado. Por exemplo, se o intervalo mínimo for 2.000 ms, uma rotação rápida pode enviar apenas a primeira e a última alteração. A última posição sempre acionará uma ação, portanto, se um dimmer estiver sendo controlado, seu valor refletirá a posição final, mesmo se algumas etapas intermediárias forem perdidas.

Operação LightwaveRF

Um exemplo é mostrado no arquivo de configuração fornecido. A ação básica é UDP para o link Lightwaverf. O IP do host e o número da porta são colocados em par1 e par2. A string Room / Device é colocada no par3.

O link deve primeiro ser emparelhado com o link para permitir que ele aceite comandos do endereço mac do esp8266. Para fazer isso, coloque um arquivo chamado initLink, txt no sistema de arquivo e envie um comando girando o controle uma etapa (após a ativação). Isso enviará um comando de emparelhamento ao link, que deve ser confirmado pressionando um botão no link. O arquivo initLink é excluído automaticamente.

Manutenção

O dispositivo pode ser colocado em um modo de manutenção onde não desligará automaticamente, ligando com o controle giratório pressionado. Para retirá-lo deste modo, basta desligar e ligar novamente.

Recomendado: