segunda-feira, 24 de abril de 2017

Modulo relé 16CH via WIFI com esp8266-01






Objetivo


Controlar, via rede wifi, um módulo relé 16ch


O que foi usado


>> Módulo wifi ESP8266 ESP-01 Com o firmware ESP Easy gravado





Para saber como gravar o firmware ESP Easy no ESP8266 acesse: 


Gravação e teste do firmware ESP easy no esp8266-01


>> Modulo relé 16 canais





O Módulo relé 16 canais

>> Tensão de alimentação: 12V;
>> Possui regulador de tensão integrado 5V o que permite alimentar o arduino e demais dispositivos através dos pinos de saída 5V e GND;
>> Sinal de acionamento, lógico: Nível baixo GND. O ideal para uso com o PCA9685 seria o com acionamento em nível alto já que o módulo parece inicializar com todos os pinos em nível baixo.



>> Modulo I2C PCA9685



trás mais detalhes sobre esse módulo.

Este modulo tem saída em PWM mas usaremos o valor máximo para HIGH ou 1 e o mínimo para estado LOW ou 0.


Montagem





Configurando o ESP-01


Com o firmware ESP Easy já gravado no ESP8266 é necessário fazer apenas uma simples configuração - Definir quais os pinos que serão usados para comunicação I2C.


O ESP-01 disponibiliza apenas 2 pinos de IO. Temos que configura-los como Clock e Data da comunicação I2C.


GPIO 0  >> SCL

GPIO 2  >> SDA

Com o seu ESP8266 ligado e conectado a rede acesse sua página de configuração através do IP como mostrado na postagem:Gravação e teste do firmware ESP easy no esp8266-01





 Na guia hardware altere  SDA para GPIO-2 e SCL para GPIO-0. Em seguida clique em Submit



Testes

Após a montagem e a configuração.
Para acionar um dos 16 relés fazemos da seguinte forma - Considerando os dispositivos conectados à mesma rede - (para controle via internet será necessário IP fixo ou serviços de ddns dinâmico como os oferecidos pelo NoIP, além das configurações de direcionamento de porta em seu roteador):

Através de um computador ou celular conectado na mesma rede passos o comando da seguinte forma:

http:// ESP IP address/control?cmd=pcapwm,pin,Level



Substituindo:


ESP IP address  Pelo IP do ESP8266 em sua rede;


pin Pelo Pino do PCA9685 0 a 15  (que no nosso caso corresponde a um dos reles)


Level Pelo valor de pwm. 

O PCA9685 é um módulo com saída em PWM por isso valor pode ser de 0 a 4095 (4096 níveis possíveis) Isso e interessante para controle de led, servo motores, etc. Nesse projeto utilizamos apenas os extremos para acionar o relé: "0" para nível baixo e "4095" para nível alto.

Exemplo:


Considerando o IP: 192.168.0.5


Para acionar o relé número 15 do módulo enviamos:  http://192.168.0.5/control?cmd=pcapwm,15,4095 


Para desligar o relé número 15 do modulo enviamos:  http://192.168.0.5/control?cmd=pcapwm,15,0



No vídeo utilizei um aplicativo criado no APPInventor que faz basicamente o descrito acima.