Automação de Luzes: ESP8266 com Controle IR e Wi-Fi

Controlar luzes remotamente com ESP8266 combina acessibilidade e alta tecnologia, integrando infravermelho (IR) e Wi-Fi para criar sistemas de automação residencial robustos. Este guia detalha desde a teoria dos protocolos de comunicaçãoSistema de controle de acesso com ESP8266 e QR codeSistema de controle de acesso com ESP8266 e QR codeDescubra neste tutorial como integrar ESP8266, QR Code e sistemas criptografados, garantindo segurança e controle de acesso moderno. até a implementação prática de um sistema híbrido físico-digital, ideal para quem busca flexibilidade operacional, integração IoT e economia energética. Você aprenderá a desenvolver uma solução escalável que permite controle local via controle remotoSistema de controle de persianas automatizadas com ESP8266Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa. e gerenciamento remoto via internet, com segurança e eficiência.

Sumário🔗

Componentes Necessários🔗

ComponenteEspecificaçõesFunção
ESP8266 NodeMCU80MHz, 4MB FlashProcessamento e conexão Wi-Fi
Módulo relé 5V10A/250VACControle de cargas elétricas
Receptor IR TSOP483830-60kHzDecodificação de sinais IR
Controle remoto IRProtocolo NECInterface física de controle
Fonte chaveada 5V/2A--Alimentação estável
Protoboard e jumpers--Conexões temporárias
LEDs e resistores--Simulação de cargas
Módulo PCF8574 (opcional)Expansor I²CAcionamento de múltiplos relés

Dicas de Seleção:

Conceito e Funcionamento🔗

O ESP8266 atua como cérebro do sistema, processando sinais IR do controle remotoSistema de controle de persianas automatizadas com ESP8266Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa. e comandos Wi-Fi simultaneamente. Principais funcionalidades:

1. Controle Físico (IR): Decodificação de sinais infravermelho usando protocolos como NEC

2. Controle RemotoSistema de controle de persianas automatizadas com ESP8266Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa. (Wi-Fi): Integração com plataformas IoTSistema de controle de luzes de Natal com ESP8266Sistema de controle de luzes de Natal com ESP8266Descubra como automatizar e controlar luzes de Natal usando ESP8266, com Wi-Fi, programação avançada, e economia energética. Transforme sua decoração com IoT. via MQTT/HTTP

3. Eficiência EnergéticaSistema de controle de persianas automatizadas com ESP8266Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa.: Modos deep sleepSistema de controle de cortinas automatizadas com ESP8266Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética. e wake-on-IR para reduzir consumo

4. Segurança: Isolamento galvânicoSistema de controle de bomba de água com ESP8266 para fontes decorativasSistema de controle de bomba de água com ESP8266 para fontes decorativasAprenda a automatizar bombas de água usando ESP8266, com isolamento seguro, controle PID e integração IoT via web, MQTT e API para automação residencial. em circuitos de alta tensão

Vantagens:

Montagem do Circuito🔗

Diagrama de Blocos

flowchart TD A[Controle Remoto] -->|Sinal IR| B(Receptor TSOP4838) B -->|Dados| C{ESP8266} C -->|Wi-Fi| D[Servidor IoT] C -->|GPIO5| E[Módulo Relé] E --> F[Lâmpada 220V] G[Fonte 5V] --> C & E

Esquema Elétrico

flowchart LR subgraph Alta Tensão E[Lâmpada 220V] -->|Fase| D[Módulo Relé] D -->|Neutro| F[Terra] end subgraph Baixa Tensão A[TSOP4838] -->|GPIO12| C[ESP8266] C -->|GPIO5| D G[Fonte 5V] --> C & D end

Procedimento:

1. Conecte o receptor IR ao pino GPIO12

2. Religue o módulo reléSistema de controle de cortinas automatizadas com ESP8266Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética. ao GPIO5

3. Use jumpers siliconados para conexões de 220V

4. Adicione filtro RC (100Ω + 100nF) no pino de alimentação do receptor IR

Programação do ESP8266🔗

Código Base (Controle Híbrido)

#include <IRremoteESP8266.h>
#include <PubSubClient.h>
#include <ESP8266WiFi.h>
#define IR_PIN 12
#define RELAY_PIN 5
IRrecv irrecv(IR_PIN);
decode_results results;
WiFiClient espClient;
PubSubClient client(espClient);
void mqttCallback(char* topic, byte* payload, unsigned int length) {
  if (String(topic) == "casa/luzes/sala") {
    digitalWrite(RELAY_PIN, (payload[0] == '1'));
  }
}
void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  irrecv.enableIRIn();
  WiFi.begin("SSID", "senha");
  client.setServer("mqtt.suaapi.com", 1883);
  client.setCallback(mqttCallback);
}
void loop() {
  client.loop();
  if (irrecv.decode(&results)) {
    if (results.decode_type == NEC && results.value == 0xFFA25D) {
      digitalWrite(RELAY_PIN, !digitalRead(RELAY_PIN));
    }
    irrecv.resume();
  }
}

Funcionamento:

Calibração IR

void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.printf("Protocolo: %s\n", typeToString(results.decode_type).c_str());
    Serial.printf("Valor: 0x%X\n", results.value);
    irrecv.resume();
  }
}

Testes e Calibração🔗

Protocolo de Validação

ParâmetroMétodo de TestePadrão Aceitável
Latência IRCronômetro digital< 150ms
Estabilidade Wi-FiPing contínuoPacket loss ≤ 0.1%
Isolamento ElétricoMegômetro 500VResistência > 10MΩ

Checklist Pré-Operacional:

1. Verificar continuidade nos terminais de 220V

2. Testar resposta a todos os botões do controle remotoSistema de controle de persianas automatizadas com ESP8266Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa.

3. Medir temperatura do reléSistema de controle de bomba de água com ESP8266 para fontes decorativasSistema de controle de bomba de água com ESP8266 para fontes decorativasAprenda a automatizar bombas de água usando ESP8266, com isolamento seguro, controle PID e integração IoT via web, MQTT e API para automação residencial. após 1h de operação contínua

Expansão do Sistema🔗

Multiplicação de Canais com I²C

#include <Wire.h>
#include <PCF8574.h>
PCF8574 expander(0x20);
void setup() {
  expander.pinMode(0, OUTPUT);
}
void loop() {
  expander.digitalWrite(0, HIGH); // Aciona relé adicional
}

Automação Temporal

#include <NTPClient.h>
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");
void setup() {
  timeClient.begin();
}
void loop() {
  timeClient.update();
  if (timeClient.getHours() == 18) {
    digitalWrite(RELAY_PIN, HIGH);
  }
}

Exemplos Práticos e Aplicações🔗

Cenários Personalizados

1. Modo Cinema:

2. Proteção Contra Intrusos:

  • Simulação de presença via acionamento aleatório de luzes
  • Ativado automaticamente quando o Wi-Fi desconecta

Integração com Assistentes Virtuais

// Via Alexa (FauxmoESP)
#include <fauxmoESP.h>
fauxmoESP fauxmo;
void setup() {
  fauxmo.addDevice("Luz da Sala");
  fauxmo.onMessage([](unsigned char device_id, const char *device_name, bool state) {
    digitalWrite(RELAY_PIN, state);
  });
}

Otimizações Técnicas🔗

Cálculo de Eficiência

$$ E_{\text{reduzida}} = P_{\text{ativa}} \times t_{\text{deepSleep}} / t_{\text{total}} $$

Para:

  • \( P_{\text{ativa}} = 0.406W \)
  • \( t_{\text{deepSleep}} = 95\% \)
$$ E = 0.406 \times 0.05 = 0.0203W $$

Técnicas Avançadas

  • Uso de interrupções para wake-on-IR
void IRAM_ATTR handleIR() {
  esp_sleep_wakeup_cause_t cause = esp_sleep_get_wakeup_cause();
  if (cause == ESP_SLEEP_WAKEUP_EXT0) digitalWrite(RELAY_PIN, !digitalRead(RELAY_PIN));
}
  • Compilação com otimização LTO (Link Time Optimization)

Desafios e Soluções🔗

DesafioSoluçãoFerramentas
Interferência IRFiltro passa-banda ótico (940nm)Lente de silicone
Queda de conexão Wi-FiBuffer de comandos em EEPROMBiblioteca EEPROM.h
Compatibilidade de protocolosDecodificador universal IRIRMP Library

Checklist de Segurança:

1. Use fusível rápido de 110% da corrente nominal

2. Implemente watchdog timer no código

3. Isole circuitos de alta tensão com barreiras físicas

Considerações Finais🔗

Este sistema híbrido de controle de luzes com ESP8266 representa a convergência entre simplicidade eletrônica e sofisticação IoT. Ao dominar as técnicas apresentadas, você estará apto a desenvolver soluções personalizadas que integram múltiplas tecnologias, sempre com ênfase em eficiência energéticaSistema de controle de persianas automatizadas com ESP8266Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa. e segurança operacional. A automação residencial não é mais um luxo distante – com componentes acessíveis e código aberto, transformar ambientes convencionais em espaços inteligentes está ao alcance de qualquer entusiasta da eletrônica criativa.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados