Guia Completo: Automatize Persianas e Cortinas com ESP32

A automação residencial está cada vez mais presente em nosso cotidiano, trazendo conforto, praticidade e eficiência energéticaDual-Core do ESP32: Como Funciona e BenefíciosDual-Core do ESP32: Como Funciona e BenefíciosDescubra como a arquitetura dual-core do ESP32 otimiza a performance em IoT e automação, distribuindo tarefas e gerenciando recursos com eficiência.. Um dos aspectos que pode ser aprimorado com a automação são as persianas e cortinas de nossas casas. Imagine poder abrir e fechar suas cortinas remotamente, programá-las para ajustarem-se de acordo com a hora do dia ou mesmo integrá-las com outros sistemas inteligentes. Neste artigo, vamos explorar como utilizar o ESP32, um poderoso microcontrolador com capacidade de conexão Wi-Fi e Bluetooth, para automatizar persianas e cortinas motorizadas.

Por Que Automatizar Persianas e Cortinas?🔗

Automatizar persianas e cortinas não é apenas uma questão de luxo; há diversos benefícios práticos:

Conhecendo o ESP32🔗

O ESP32 é um microcontrolador desenvolvido pela Espressif Systems. Ele é amplamente utilizado em projetos de Internet das CoisasIntegração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Integração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Aprenda a integrar o ESP32 com Home Assistant de forma prática e segura, configurando Wi-Fi, MQTT, sensores e atuadores para uma casa inteligente. (IoT) devido às suas características:

Como Funcionam as Persianas e Cortinas Motorizadas?🔗

Persianas e cortinas motorizadas utilizam motores para mover as lâminas ou tecidos. Os tipos mais comuns de motores utilizados são:

A escolha do motor depende do tipo de cortina ou persiana e do nível de controle desejado.

Componentes Necessários🔗

Para este projeto, precisaremos dos seguintes componentes📜 Quadro Digital com Tela E-Ink de 32 Polegadas📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT.:

Montando o Circuito Elétrico🔗

Vamos considerar o uso de um motor DC para simplificar o projeto. O driver L298N é uma boa opção para controlar motores DCConfiguração de PWM e FrequênciaConfiguração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. de maneira bidirecional.

Diagrama de Conexão:

Esquema de Conexão:

ESP32 GPIO 25 ---- IN1 L298N
ESP32 GPIO 26 ---- IN2 L298N
Motor DC (+) ----- OUT1 L298N
Motor DC (-) ----- OUT2 L298N
Alimentação Motor (12V) ----- VMS L298N
Terra (GND) ----- GND L298N, GND ESP32, GND Alimentação

Programando o ESP32🔗

Para programar o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!, utilizaremos a Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT., que oferece uma interface amigável e diversas bibliotecasHospedando Múltiplas Páginas Web no ESP32Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. disponíveis.

Instalando o ESP32 na Arduino IDE

1. Abra a Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT..

2. Vá em Arquivo > Preferências.

3. No campo URLs Adicionais para Gerenciadores de PlacasInstalando o Arduino IDE para ESP32 no macOSInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns., adicione:

https://dl.espressif.com/dl/package_esp32_index.json

4. Vá em Ferramentas > Placa > Gerenciador de PlacasInstalando o Arduino IDE para ESP32 no macOSInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. e instale o pacote do ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.

5. Selecione a placa ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! Dev Module em Ferramentas > Placa.

Código de Exemplo

Vamos escrever um código simples para controlar o motor via Wi-Fi, utilizando um servidor webIntrodução ao Desenvolvimento de um Web Server com ESP32Introdução ao Desenvolvimento de um Web Server com ESP32Desenvolva seu web server com ESP32 e gerencie dispositivos IoT com controle remoto. Siga o tutorial passo a passo e garanta segurança e eficiência. básico.

#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
WebServer server(80);
const int in1Pin = 25;
const int in2Pin = 26;
void setup()
{
  Serial.begin(115200);
  pinMode(in1Pin, OUTPUT);
  pinMode(in2Pin, OUTPUT);
  digitalWrite(in1Pin, LOW);
  digitalWrite(in2Pin, LOW);
  connectToWiFi();
  server.on("/", handleRoot);
  server.on("/abrir", handleOpen);
  server.on("/fechar", handleClose);
  server.on("/parar", handleStop);
  server.begin();
  Serial.println("Servidor iniciado");
}
void loop()
{
  server.handleClient();
}
void connectToWiFi()
{
  Serial.print("Conectando-se à rede ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Conectado com sucesso!");
  Serial.print("Endereço IP: ");
  Serial.println(WiFi.localIP());
}
void handleRoot()
{
  String html = "<h1>Controle da Cortina</h1>";
  html += "<a href=\"/abrir\">Abrir</a><br>";
  html += "<a href=\"/fechar\">Fechar</a><br>";
  html += "<a href=\"/parar\">Parar</a>";
  server.send(200, "text/html", html);
}
void handleOpen()
{
  digitalWrite(in1Pin, HIGH);
  digitalWrite(in2Pin, LOW);
  server.send(200, "text/plain", "Abrindo a cortina");
}
void handleClose()
{
  digitalWrite(in1Pin, LOW);
  digitalWrite(in2Pin, HIGH);
  server.send(200, "text/plain", "Fechando a cortina");
}
void handleStop()
{
  digitalWrite(in1Pin, LOW);
  digitalWrite(in2Pin, LOW);
  server.send(200, "text/plain", "Cortina parada");
}

Explicação do Código

Controlando a Cortina Via Interface Web

Após o código ser carregado no ESP32 e o dispositivo estar conectado à rede Wi-FiConectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosConectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade., você pode controlar a cortina:

1. Abra um navegador web e digite o endereço IP mostrado no monitor serialConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização..

2. A página inicial permitirá que você escolha entre Abrir, Fechar ou Parar a cortina.

3. Cada ação enviará um sinal ao ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!, que controlará o motor de acordo.

Implementando Limites de Movimento

Para evitar danos ao motor ou à cortina, é importante implementar limites de movimento. Podemos utilizar sensores de fim de curso (switches) ou sensores ópticos📱 Controlador Universal para Experimentos Físicos📱 Controlador Universal para Experimentos FísicosDescubra o controlador ESP32 que revoluciona experimentos físicos integrando sensores, comunicação BLE e processamento em tempo real para educação STEM. para detectar quando a cortina está totalmente aberta ou fechada.

Exemplo de Conexão de Fim de Curso:

Código Adicional para os Sensores de Fim de Curso

const int limitSwitchUp = 32;
const int limitSwitchDown = 33;
void setup()
{
  //... código anterior ...
  pinMode(limitSwitchUp, INPUT_PULLUP);
  pinMode(limitSwitchDown, INPUT_PULLUP);
}
// Modificar as funções de controle:
void handleOpen()
{
  if (digitalRead(limitSwitchUp) == LOW)
  {
    handleStop();
    server.send(200, "text/plain", "Cortina já está totalmente aberta");
  }
  else
  {
    digitalWrite(in1Pin, HIGH);
    digitalWrite(in2Pin, LOW);
    server.send(200, "text/plain", "Abrindo a cortina");
  }
}
void handleClose()
{
  if (digitalRead(limitSwitchDown) == LOW)
  {
    handleStop();
    server.send(200, "text/plain", "Cortina já está totalmente fechada");
  }
  else
  {
    digitalWrite(in1Pin, LOW);
    digitalWrite(in2Pin, HIGH);
    server.send(200, "text/plain", "Fechando a cortina");
  }
}

Considerações de Segurança

Avançando na Automação🔗

A partir deste ponto, você pode expandir o projeto:

Conclusão🔗

Automatizar persianas e cortinas motorizadas com o ESP32 é um projeto gratificante que combina eletrônica, programação e mecânica. Além de proporcionar conforto e eficiência energéticaDual-Core do ESP32: Como Funciona e BenefíciosDual-Core do ESP32: Como Funciona e BenefíciosDescubra como a arquitetura dual-core do ESP32 otimiza a performance em IoT e automação, distribuindo tarefas e gerenciando recursos com eficiência., este projeto serve como uma excelente introdução ao mundo da automação residencial. Com o conhecimento adquirido, você pode explorar novas ideias e expandir suas habilidades em IoT e sistemas inteligentes.

Lembre-se sempre de considerar as questões de segurança ao lidar com componentes📜 Quadro Digital com Tela E-Ink de 32 Polegadas📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT. elétricos e mecânicos. Com planejamento e cuidado, você terá uma solução personalizada de automação que atenderá às suas necessidades e agregará valor ao seu ambiente residencial.

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