Circuito Dimmer + Programação com ESP 8266 D1 Mini

Propaganda
Discentes: Weverton Lima e Juliete Souza
Disciplina: Sistemas Embarcados
Professor Orientador: Ilton Barbacena
1. Montagem do Circuito do Dimmer
O circuito desenvolvido para o controle de luminosidade de uma lâmpada
incandescente de 220 V com ESP 8266 D1 Mini foi elaborado utilizando os seguintes
componentes:











Ponte retificadora de diodos;
Diodo 1N4007;
Capacitor eletrolítico de 100 μF/ 350 V;
Diodo zener 1N4744A/15 V;
Foto acoplador 4N26;
Resistor 100 KΩ;
Resistor 6,8 KΩ;
Resistor de 300 Ω;
MOSFET IFR730;
Lâmpada incandescente 220 V;
Módulo ESP 8266 D1 Mini.
Na Figura 01 é ilustrado o esquemático eletrônico das conexões do circuito
utilizado.
Figura 01- Esquemático elétrico do circuito.
2. Princípio de funcionamento do circuito
Esse circuito tem como proposito receber no pino 1 do foto acoplador 4N26
um pulso PWM chaveando a tensão entre o pino 5 e 4 do mesmo, controlando desta
forma, o nível de tensão que chega a carga (Lâmpada Incandescente).
3. Especificações da ESP8266 D1 Mini
Os módulos ESP 8266 possui conexão wi-fi permitindo que se hospede a
aplicação no próprio módulo ou se opere como um gateway wi-fi comunicando-se com
outro dispositivo ou microcontrolador via comunicação serial. Pode ser utilizada em
uma gama de aplicações por pelo fato de possuir a conectividade wi-fi, bom
processador, tamanho reduzido e um baixo custo, podem ser usadas em: automação
residencial, rede de sensoriamento, robótica, segurança doméstica, comercial e
industrial dentre outras.
Na Figura 02 é ilustrada a pinagem do Módulo ESP 8266 D1 Mini que foi
usada no desenvolvimento do projeto do dimmer.
Figura 02- Pinagem ESP 8266 D1 Mini.
Fonte: http://www.wemos.cc/Products/d1_mini.html.
3.1 Especificações Técnicas
Na tabela 01 são mostradas as principais características técnicas da ESP
8266 D1 Mini.
Tabela 01- Características da ESP8266 D1 Mini.
Microcontroller
Operating Voltage
Digital I/O Pins
Analog Input Pins
Clock Speed
Flash
Length
Width
Weight
ESP-8266EX
3.3V
11
1(Max input: 3.2V)
80MHz/160MHz
4M bytes
34.2mm
25.6mm
10g
Fonte: http://www.wemos.cc/Products/d1_mini.html.
ATENÇÃO: A porta analógica ESP 8266 D1 Mini trabalha com um range de
tensão de 0 á 3,3 V.
Já na tabela 02 são mostradas as funções dos pinos da ESP 8266 D1 Mini.
Tabela 02- Características da ESP8266 D1 Mini.
Pin
TX
RX
A0
D0
D1
D2
D3
D4
D5
D6
D7
D8
G
5V
3V3
RST
Function
TXD
RXD
Analog input, max 3.3V
input
IO
IO, SCL
IO, DAS
IO, 10k Pull-up
IO, 10k Pull-up,
BUILTIN_LED
IO, SCK
IO, MISO
IO, MOSI
IO, 10k Pull-down, SS
Ground
5V
3.3V
Reset
ESP-8266 Pin
TXD
RXD
Pin
TX
RX
A0
A0
GPIO16
GPIO5
GPIO4
GPIO0
D0
D1
D2
D3
GPIO2
D4
GPIO14
GPIO12
GPIO13
GPIO15
GND
3.3V
RST
D5
D6
D7
D8
G
5V
3V3
RST
Fonte: http://www.wemos.cc/Products/d1_mini.html.
4. Uso da IDE do arduino para trabalho com ESP 8266 D1 Mini
Para inicializar o uso dos módulos ESP8266 na IDE do Arduino, é
necessário clicar na aba “Arquivo / Preferências”, conforme ilustrado na Figura 03.
Figura 03- IDE Arduino.
Logo após, uma janela se abrirá e será necessário copia e colar a URL
abaixo no espaço “URL Adicionais de Gerenciadores de Placas”, conforme a Figura 04.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Figura 04- IDE Arduino/Preferências.
Em seguida clique na aba “Ferramentas” e selecione a opção “Placa:
Arduino/Genuino Uno” e logo após, selecione a opção “Gerenciador de Placas”,
conforme ilustrado na Figura 05.
Figura 05- IDE Arduino/Ferramentas/Placa: Arduino/Genuino Uno/ Gerenciador de
Placas.
Na janela “ Gerenciador de Placas” digite “esp8266” no espaço destinado a
busca e localize os pacotes da ESP 8266, conforme é ilustrado na Figura 06.
Figura 06- IDE Arduino/Busca do pacote ESP 8266.
Em seguida, clique novamente na aba “Ferramentas” selecione a opção
“Placa:” para localizar os módulos ESP 8266 já instalados. Selecione a opção “Wemos
D1 mini”, conforme Figura 07.
Figura 07- IDE Arduino/Placa: Arduino/Genuino Uno/ Wemos D1 mini.
5. Código desenvolvido para o projeto
Abaixo é disponibilizado o código fonte do projeto que foi elaborado
usando a IDE do Arduino versão 1.6.9 disponível na página oficial do arduino:
https://www.arduino.cc/ .
A programação abaixo tem como objetivo deixar a ESP8266 D1 mini em
modo access point (ponto de acesso), ou seja, para acesso local, determinando um
usuário e uma senha. Além disso, é iniciada a porta 80 para comunicação, verificando
constantemente em um loop “infinito” o acesso do usuário ao IP pré-programado.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* ssid = "ESP8266";
const char* password = "12345678";
int variacao = 0, pwm1 = 1023;
int pwm = 4;
ESP8266WebServer server (80); // server:http://192.168.4.1
void setup ( ) {
pinMode (pwm,OUTPUT);
WiFi.mode (WIFI_AP);
WiFi.softAP (ssid, password);
server.on ("/A", Incre);
server.on ("/B", Decre);
server.begin ( );
analogWrite (pwm, 1023);
}
void loop ( ) {
server.handleClient ( ); / / Chama a função "handleClient" e verifica a requisição de
IP.
}
void Incre ( ) { // É chamado quando o IP 192.168.4.1/A é acessado.
delay(5);
variacao++;
pwm1 = map (variacao, 0, 100, 1023, 0);
analogWrite (pwm, pwm1);
}
void Decre ( ) { // É chamado quando o IP 192.168.4.1/B é acessado.
delay (5);
variacao-pwm1 = map (variacao, 0, 100, 1023, 0);
analogWrite (pwm, pwm1);
}
Download