Caramelo com ESP01
Revisão de 15h22min de 17 de dezembro de 2020 por Brunovianna (discussão | contribs)
Lista de materiais:
- O chip controlador com wifi, ESP-01.
- Um relé que vai ser acionado pelo chip e funciona como interruptor para o roteador. Tem que comprar um que já serve para o ESP-01. Na prática, sempre vendem o ESP01 e o relé juntos:
- O programador USB do ESP01
- Atenção: muitas vezes vendem kits com esses três componentes. Muito prático e por 60 reais tudo!
- Alimentação
- Na placa do relé tem entrada para positivo e negativo. Ele aceita voltagens de 5 a 15V, e vai alimentar também o ESP-01.
- Caso esteja usando alimentação por bateria de 12V, basta puxar um fio negativo/positivo para a placa.
- Caso esteja usando eletricidade 110/220, você vai precisar de um adaptador 110/220 que dê entre 5 e 15V. Muitas vezes dá para usar um velhinho que não esteja sendo usado. É só desencapar os fios. Mas é importante ver qual o positivo e negativo. O melhor jeito é conferir com um multímetro. Não é garantido que a placa sobreviva se ligar na polaridade invertida.
- Na placa do relé tem entrada para positivo e negativo. Ele aceita voltagens de 5 a 15V, e vai alimentar também o ESP-01.
Programação:
- O chip (o que comprei, pelo menos) tinha um problema: para permitir a gravação dos programas, é necessário fazer um curto entre dois dos pinos do ESP-01. Como estava muito difícil fazer um contato gambiarra, soldei headers em todos os pinos. Ficou assim:
- Aí usei um jumper para conectar o pino 1 e 3, mais próximos ao plug USB. Assim:
- Instale e rode o software para programação do chip, a plataforma Arduino:
- Baixe o programa principal daqui:
- Abra o arquivo caramelo.ino no programa acima
- Edite as linhas com o texto:
#define MY_SSID "wifissid" #define MY_PSK "wifipass"
Trocando wifissid e wifipass pelo nome da rede wifi e senha. Deixe só as aspas "" caso não tenha senha.
- Apague as duas barras do começo da linha que diz
//#define USING_I2C 1
Deixando assim:
#define USING_I2C 1
- É possível que seja necessário instalar esses drivers no computador, para que a placa ESP8266 seja reconhecida (no linux não precisa, só mac e windows):
- Adicione a placa ESP8266 ao programa:
- Vá no menu File->Preferences
- Adicione o texto "http://arduino.esp8266.com/stable/package_esp8266com_index.json" no "Additional boards manager URLs"
- Agora entre em menu->tools->board->board manager. Procure por esp8266 e instale.
- Adicione a biblioteca de Ping ao programa:
- Entre em Sketch->Include Libraries->Manage Libraries
- Procure a biblioteca ESP8266-Ping e instale
- Se o relé tiver chip, adicione a biblioteca qwiic relay à plataforma arduino:
- Entre em Sketch->Include Libraries->Manage Libraries
- Procure a biblioteca qwiic relay e instale a biblioteca sparkfun qwiic relay
- Conecte a plaquinha por USB no PC
- Selecione a placa ESP8266 no menu board
- Clique na seta para subir o programa para a plaquinha
A parte elétrica:
- Solde os pinos no chip e relé conforme as fotos. Vamos soldar 4 headers nos buracos RST, 3V, NC, GND (de onde vamos tirar os 3V para alimentar o relé) e mais 4 nos buracos SDA, SDL, 2, 16, de onde sai a comunicação via i2c.
No relé, vamos soldar 4 headers - GND, 3.3V, SDA, SCL.
- Agora é só usar 4 fios jumper fêmea-fêmea para conectar os headers GND, 3V, SDA e SCL.
- Para que o relé funcione como interruptor, o fio de alimentação elétrica do roteador tem que passar "por dentro" do relé. Então vamos cortar e desencapar um dos lados do fio, não importa se positivo ou negativo.
Agora use os parafusos NC (normally closed) e COM (comum) para conectar os fios desencapados. Não importa qual vai em qual.
- Instruções para proteger.