IoT

Adicionar um BOTÃO ao ESPEASY

Escrito por Douglas Baiocco. Publicado em IoT.

Um dos itens mais básicos quando trabalhamos com IoT são os interruptores. Inclusive o funcionamento destes itens é simples: ligar ou interromper a energia que passa pelos pinos do ESP8266.

Para nosso exemplo, irei usar novamente o NODEMCU, por um motivo bem simples: é muito mais fácil usar os pinos deste componente. Para efeito de teste, irei utilizar a versão 120 do ESPEASY. Algumas configurações são ligeiramente diferentes em outras versões, mas o conceito é comum para todas. Para mais detalhes sobre o ESPEASY, acesse este link:

Tipos de botões

São basicamente dois os tipos de botões que temos: os botões de pressão e os botões de LIGA/DESLIGA.

O funcionamento dos botões é baseado em INTERRUPÇÃO: A energia que circula por um determinado fio pode ser interrompida por um botão. Observe a figura abaixo:

image001

A energia do primeiro pedaço do fio (1) foi interrompida do segundo pedaço (2) por um botão.

Botão de pressão

Os botões de pressão são assim chamados pois é necessário pressionar o mesmo, acionando-o e após isso, liberando-o. Para este tipo de botão temos os Normalmente Abertos ou NA, pois o estado normal dele é interromper a passagem de energia. Se pressionarmos o botão, os fios serão conectados e a energia terá passagem. É o mesmo principio de termos dois fios separados. Se eu encostar um fio no outro é a mesma coisa de pressionar o botão. Outro tipo é o botão Normalmente Fechado (NF) que é exatamente o contrário: a energia está passando sempre. Quando eu pressiono o botão, a energia é interrompida. Vale lembrar que o estado de pressão do botão é temporário. Ao soltar o botão, o estado original dele retorna, ou seja, o botão solto não deixa a energia passar em um botão NA e deixa passar em um NF.

Veja um exemplo de um botão desses:

IMG_256

 

Botão interruptor LIGA/DESLIGA

Já um botão deste modelo não tem retorno ao estado original. Ele tem as opções LIGADO e DESLIGADO. Ele deixa a energia passar ou não deixa. Para trocar o comportamento, devemos fisicamente mudar o estado do botão. Esse tipo de botão é muito usado nas residências, para acender e apagar lâmpadas. Veja exemplos de botões destes:

image004image003

 

 

Usando no ESPEASY

Para adicionarmos um botão no ESPEASY, precisamos navegar até a GUIA DEVICES. Será exibido a seguinte tela:
image005Nesta tela, selecione um dos 4 itens e clique em EDIT. A seguinte tela será exibida:

 image006

Nesta tela, devemos escolher o tipo de dispositivo que iremos configurar para o nosso ESPEASY. Selecione Switch Input e será exibida a seguinte tela:

image007

Nesta tela iremos configurar o Botão. Veja com mais detalhes cada campo dela:

Device: Tipo do dispositivo que será criado no ESPEASY. Escolha na caixa de seleção diversos tipos de sensores, botões e periféricos para o ESP8266 com ESPEASY. A seleção estará em SWITCH INPUT.

Name: qual é o nome deste periférico. Este nome será usado para criar “regras” e condicionar comportamentos. Veremos isso em outras oportunidades.

Delay: Podemos especificar um “tempo de atraso” para a execução deste periférico, como um atraso para a alteração do estado quando o botão for pressionado.

IDX/Var: Valor requisitado em algumas aplicações utilizando DOMOTICZ. Em nosso caso, deixe apenas com 0.

1st GPIO: este é a definição de qual pino o periférico vai utilizar no ESP8266. Como estamos usando um NODEMCU, podemos utilizar vários pinos para teste. Cada versão do ESP8266 tem uma distribuição dos pinos. Veja a imagem abaixo para saber a posição dos pinos no NODEMCU:

IMG_256

Vamos colocar nosso botão na GPIO16 (D0 no NODEMCU). Para mais informações sobre GPIOs, acesse este link.

Pull-up: Para entender este item, veja este link. Após você entender o que é PULL-UP, esta caixa serve para usar o PULL-UP interno do NODEMCU na GPIO escolhida.

Inversed: Serve para inverter o funcionamento do pino GPIO escolhido.

Switch Type: Serve para escolher se o item que esta neste pino é um Botão ou Dimmer (veja o que é um Dimmer)

Switch Button Type: Aqui definimos se iremos usar um botão LIGA/DESLIGA (interruptor) ou um botão de pressão. O item “Normal Switch” é para um botão LIGA/DESLIGA e os itens PUSH BUTTON são para interruptores de pressão.

Send Boot state: Ao ativar este item, ao inicializar o ESPEASY, ele enviará o estado do botão para o controlador, que pode ser um MQTT ou um controlador qualquer compatível.

Send Data: Parecido com o item anterior, este item envia o estado do botão para o controlador caso aconteça alguma alteração do seu estado.

Value Name 1: Podemos definir o valor da propriedade do estado do botão. Muito útil quando se utiliza MQTT para controlar os dispositivos.

 

A nossa tela ficará com esta configuração:

image009

Clique em Submit em seguida em Close e veja esta imagem:

image010

Note que no campo Values, o item Switch está com 0 na frente.

Ligue um botão no pino D0 do NODEMCU (pode ser um FIO mesmo) ligando com um pino GND (GROUND). Aqui teremos a prova do comportamento dos botões. Se você ligar um botão de pressão, assim que você pressionar o botão, o valor 0 passa a ser 1. Quando você soltar o botão, o valor retorna para 0. Caso você use um botão LIGA/DESLIGA, o valor ficará fixo até você alterar no botão.

Mas lembre-se: caso você use um botão de pressão, use a opção SWITCH BUTTON TYPE em PUSH BUTTON ACTIVE LOW na tela de configuração (o LOW significa que o pino está ligado em GND). Caso você utilize um botão LIGA/DESLIGA, você deve deixar em NORMAL SWITCH.

Conclusão

Neste artigo foi demonstrado como usar um botão utilizando o ESPEASY. Veja como não é necessário digitar nem uma linha de código para verificar o comportamento de um botão ligado no NODEMCU. Com a utilização de REGRAS, podemos definir comportamentos e realizar ações com botões e outros periféricos, sempre com muita facilidade. Iremos tratar disso no futuro.

 

 

Relacionados