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); }