{"id":6405,"date":"2023-07-20T14:24:03","date_gmt":"2023-07-20T17:24:03","guid":{"rendered":"https:\/\/www.usinainfo.com.br\/blog\/?p=6405"},"modified":"2023-08-17T16:03:14","modified_gmt":"2023-08-17T19:03:14","slug":"projeto-controle-para-ar-condicionado","status":"publish","type":"post","link":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/","title":{"rendered":"Projeto Placa de Ar-Condicionado com Esp32"},"content":{"rendered":"<p>Imagine que a<strong> placa do seu Ar-condicionado est\u00e1 com defeito<\/strong>, o que fazer agora? Saiba que voc\u00ea s\u00f3 precisa de um ESP32 e alguns outros m\u00f3dulos quando combinados com a Cultura Maker podem facilmente solucionar este problema e ainda por cima dar um upgrade no seu aparelho, tornando poss\u00edvel utiliz\u00e1-lo por meio de uma P\u00e1gina Web.<\/p>\n<p>Para tornar isso poss\u00edvel, usaremos um microcontrolador chamado <a href=\"https:\/\/www.usinainfo.com.br\/nodemcu\/esp32s-nodemcu-iot-com-wifi-e-bluetooth-38-pinos-5346.html\" target=\"_blank\" rel=\"noopener\">NodeMCU ESP32<\/a> . Esse microcontrolador ir\u00e1 se comunicar com o ar-condicionado e receber comandos atrav\u00e9s da internet, j\u00e1 que ele possui nativamente acesso a Rede WiFi e bluetooth para f\u00e1cil integra\u00e7\u00e3o com dispositivos m\u00f3veis.<\/p>\n<p>O objetivo do projeto \u00e9 fazer com que esse microcontrolador se comporte como se fosse a placa eletr\u00f4nica tradicional do ar-condicionado, ou seja, realizando todas as fun\u00e7\u00f5es de controle, como ligar, desligar, ajustar a temperatura e a velocidade do ventilador.<\/p>\n<p>Dessa forma, ao acessar a P\u00e1gina Web pelo computador ou smartphone, podemos enviar os comandos para o microcontrolador, que, por sua vez, envia essas instru\u00e7\u00f5es ao ar-condicionado. Com isso, podemos controlar o ar-condicionado remotamente, sem depender do controle f\u00edsico. Isso torna a experi\u00eancia de uso mais pr\u00e1tica e conveniente, al\u00e9m de oferecer a possibilidade de programar ou automatizar algumas fun\u00e7\u00f5es do ar-condicionado de acordo com nossas prefer\u00eancias.<\/p>\n<p>Antes de prosseguir, vamos precisar aprender algumas coisas importantes que v\u00e3o ser necess\u00e1rias para fazer as devidas conex\u00f5es com a Rede Mundial de Computadores.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Endere\u00e7o IP<\/strong><\/h2>\n<h3 style=\"border-bottom: 1px solid gray;width: 50%;font-size: 20px\">O que \u00e9 Endere\u00e7o IP?<\/h3>\n<p>Um endere\u00e7o IP (Internet Protocol) \u00e9 um conjunto num\u00e9rico \u00fanico atribu\u00eddo a cada dispositivo conectado a uma rede de computadores que utiliza o protocolo IP para comunica\u00e7\u00e3o. Esses dispositivos podem ser computadores, smartphones, tablets, servidores, impressoras de rede e qualquer outro dispositivo que esteja conectado \u00e0 Internet ou a uma rede local.<\/p>\n<p>&nbsp;<\/p>\n<h3 style=\"border-bottom: 1px solid gray;width: 50%;font-size: 20px\">Qual a fun\u00e7\u00e3o do Endere\u00e7o IP?<\/h3>\n<p>O endere\u00e7o IP \u00e9 essencial para identificar e localizar cada dispositivo na rede, permitindo que os pacotes de dados sejam corretamente enviados e recebidos entre eles. Ele funciona como um sistema de endere\u00e7amento, similar ao sistema de endere\u00e7os postais, mas para a comunica\u00e7\u00e3o na internet.<\/p>\n<p>&nbsp;<\/p>\n<h3 style=\"border-bottom: 1px solid #000000;width: 25%;text-align: left\"><strong>IP Privado<\/strong><\/h3>\n<p>O endere\u00e7o IP &#8220;<strong>192.168.xxx.xxx<\/strong>&#8221; \u00e9 um exemplo de endere\u00e7o IP privado, pertencente \u00e0 faixa de endere\u00e7os reservados para uso em <strong>redes locais<\/strong>. Especificamente, pertence ao chamado bloco de endere\u00e7os IP privados da classe C.<\/p>\n<p>Nesse padr\u00e3o de endere\u00e7amento, os dois primeiros octetos (192.168) s\u00e3o fixos e identificam a rede local, enquanto os dois \u00faltimos octetos (xxx.xxx) podem variar entre 0 e 255. Cada n\u00famero no \u00faltimo octeto representa um endere\u00e7o IP espec\u00edfico dentro da rede.<\/p>\n<ul>\n<li><strong>Octeto<\/strong>: um octeto refere-se a um grupo de 8 bits que comp\u00f5e cada um dos quatro n\u00fameros separados por pontos em um endere\u00e7o IPv4. Cada octeto pode representar um valor decimal entre 0 e 255.<\/li>\n<\/ul>\n<p>Esses endere\u00e7os n\u00e3o s\u00e3o rote\u00e1veis pela Internet p\u00fablica, o que significa que eles n\u00e3o s\u00e3o diretamente acess\u00edveis a partir da web externa, proporcionando uma camada de seguran\u00e7a adicional para dispositivos e computadores dentro da rede local. S\u00e3o utilizados para permitir a comunica\u00e7\u00e3o entre os dispositivos dentro da mesma rede local.<\/p>\n<h2><\/h2>\n<h2><strong>Histerese<\/strong><\/h2>\n<p>Histerese \u00e9 um termo que vem da f\u00edsica e \u00e9 amplamente utilizado em diversos campos, incluindo engenharia e eletr\u00f4nica. Na sua ess\u00eancia, histerese se refere a uma propriedade de um sistema que causa uma resposta n\u00e3o linear a uma mudan\u00e7a em sua entrada. Em outras palavras, a resposta do sistema depende n\u00e3o apenas do valor atual da entrada, mas tamb\u00e9m do hist\u00f3rico desta entrada.<\/p>\n<p>No contexto de um sistema com rel\u00e9s, a histerese \u00e9 aplicada para evitar a ativa\u00e7\u00e3o e desativa\u00e7\u00e3o repetitiva dos rel\u00e9s em um intervalo curto de tempo. Isso \u00e9 particularmente \u00fatil para evitar problemas de &#8220;cintila\u00e7\u00e3o&#8221; ou &#8220;piscar&#8221; quando a entrada est\u00e1 pr\u00f3xima de um valor limiar.<\/p>\n<ul>\n<li><strong>Limiar<\/strong>: limite inferior de (algo); momento inicial ou que d\u00e1 in\u00edcio a alguma coisa; come\u00e7o.<\/li>\n<\/ul>\n<p><span style=\"font-size: 16px\">Ao aplicar o conceito de histerese em rel\u00e9s, est\u00e1 garantido que eles (rel\u00e9s) n\u00e3o sejam ativados e desativados repetidamente em um intervalo curto de tempo, proporcionando maior estabilidade ao sistema.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><strong><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">Sensor DS18b20<\/span><\/span><\/strong><\/h2>\n<p>O <a href=\"https:\/\/www.usinainfo.com.br\/sensor-de-temperatura\/sensor-de-temperatura-ds-18b20-a-prova-d-agua-2645.html\" target=\"_blank\" rel=\"noopener\">DS18B20<\/a> \u00e9 um sensor de temperatura digital de alta precis\u00e3o. Projetado para medir a temperatura ambiente ou de outros dispositivos.\u00a0Cada DS18B20 possui um endere\u00e7o \u00fanico de 64 bits, o que significa que voc\u00ea pode conectar v\u00e1rios sensores no mesmo barramento e identificar cada um deles separadamente.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Como basicamente funciona um Ar-Condicionado?<\/strong><\/h2>\n<p>O ar-condicionado \u00e9 um aparelho que controla a temperatura e a umidade do ar em um ambiente fechado usando um ciclo de refrigera\u00e7\u00e3o. O g\u00e1s refrigerante \u00e9 comprimido e aquecido, passando por uma mudan\u00e7a de estado de g\u00e1s para l\u00edquido no condensador, onde libera calor para o ambiente externo. Em seguida, o refrigerante de baixa press\u00e3o \u00e9 expandido, causando uma mudan\u00e7a de estado l\u00edquido para g\u00e1s e resultando em uma r\u00e1pida queda de temperatura. Esse refrigerante frio absorve calor do ar ambiente no evaporador e, ao circular o ar resfriado e desumidificado, proporciona uma sensa\u00e7\u00e3o de ar fresco e agrad\u00e1vel no ambiente. O ciclo se repete para manter a temperatura desejada, regulada por um termostato.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Esquem\u00e1tico Projeto Placa de Ar-Condicionado com Esp32<\/strong><\/h2>\n<p>O esquema de montagem \u00e9 relativamente simples, consiste em 2 sensores de temperatura DS18b20 ligados em paralelo (um para medir a temperatura do ambiente e o outro para medir a temperatura do evaporador), e tamb\u00e9m 5 rel\u00e9s (1 rel\u00e9 controla o funcionamento do compressor, 1 rel\u00e9 controla o estado do ar-condicionado e 3 rel\u00e9s controlam respectivamente as velocidades 1, 2 e 3 do ventilador interno).<\/p>\n<div style=\"width: 710px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/projeto-ar-condicionado.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6426\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/projeto-ar-condicionado.jpg\" alt=\"Projeto Sistema para Ar-Condicionado com ESP32\" width=\"700\" height=\"400\" \/><\/a><p class=\"wp-caption-text\">Esquema de Montagem do Projeto Placa de Ar-Condicionado com Esp32<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2><strong><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">Html e Css<\/span><\/span><\/strong><\/h2>\n<p>Para criar a p\u00e1gina web, utilizamos a linguagem de marca\u00e7\u00e3o HTML em conjunto com o CSS para estruturar e estilizar o conte\u00fado visual. Essas duas linguagens permitem definir a apar\u00eancia da p\u00e1gina, como cores, fontes e layout.<\/p>\n<div style=\"width: 710px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/PrintHtmlCssProject-Ar.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-6432 alignnone\" style=\"border-radius: 15px\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/PrintHtmlCssProject-Ar.jpg\" alt=\"Apar\u00eancia da P\u00e1gina Web\" width=\"700\" height=\"400\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/PrintHtmlCssProject-Ar.jpg 700w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/PrintHtmlCssProject-Ar-300x171.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><p class=\"wp-caption-text\">Apar\u00eancia da P\u00e1gina Web (Apenas Html e Css)<\/p><\/div>\n<ul>\n<li><strong>Obs<\/strong>: Passe o mouse por cima dos s\u00edmbolos para visualizar sua fun\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong>C\u00f3digo de Programa\u00e7\u00e3o<\/strong><\/h2>\n<p><strong>Aten\u00e7\u00e3o!<\/strong> Devido ao tamanho extenso do c\u00f3digo de programa\u00e7\u00e3o do Projeto Placa de Ar-Condicionado com Esp32, ele est\u00e1 hospedado no GitHub. Para acessar o c\u00f3digo, basta acessar o link abaixo.<\/p>\n<p><a href=\"https:\/\/github.com\/mauroagr\/projetos\/blob\/main\/arcondicionado\/projeto.ino\" target=\"_blank\" rel=\"noopener\">Clique aqui para ser redirecionado ao c\u00f3digo da programa\u00e7\u00e3o deste projeto!<\/a><\/p>\n<p>&nbsp;<\/p>\n<h2 style=\"border-bottom: 1px solid gray;width: 50%;font-size: 20px\">Como funciona o C\u00f3digo<\/h2>\n<p>O c\u00f3digo completo \u00e9 extenso e inclui muitas funcionalidades e detalhes de controle do ar condicionado. Ele interage com os pinos do ESP32, l\u00ea as temperaturas do sensor e fornece uma interface b\u00e1sica para controle do ar condicionado via Wi-Fi usando um navegador.<\/p>\n<p>Utilizando 3 bibliotecas, sendo elas a &#8220;WiFi.h&#8221; para conex\u00e3o \u00e0 rede Wi-Fi e as bibliotecas &#8220;OneWire&#8221; e &#8220;DallasTemperature&#8221; para ler a temperatura dos sensores 18b20. O sistema permite controlar a temperatura desejada e a velocidade do ventilador, al\u00e9m de alternar entre os modos quente e frio.<\/p>\n<p style=\"text-align: left\"><span style=\"text-decoration: underline\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/ProjectAr-Cond.Control.zip\" target=\"_blank\" rel=\"noopener\">Download Bibliotecas e C\u00f3digo de Programa\u00e7\u00e3o<\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>O c\u00f3digo verifica se h\u00e1 algum cliente (por exemplo, um navegador) conectado ao ESP32. Se houver, ele enviar\u00e1 uma resposta HTTP com o conte\u00fado HTML de uma p\u00e1gina da web para controlar o ar condicionado.<\/p>\n<p>Cabe ressaltar que para que o c\u00f3digo funcione corretamente, \u00e9 necess\u00e1rio ter os componentes f\u00edsicos (ESP32, rel\u00e9s, sensores de temperatura, etc.) conectados corretamente ao hardware. Al\u00e9m disso, voc\u00ea precisar\u00e1 configurar sua rede Wi-Fi com o nome (SSID) e senha corretos no c\u00f3digo, para que o ESP32 possa se conectar \u00e0 rede Wi-Fi e receber os comandos do cliente. Fa\u00e7a essas altera\u00e7\u00f5es no seguinte trecho:<\/p>\n<pre class=\"lang:default range:77-78 decode:true\"><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">#include &lt;WiFi.h&gt;<\/span><\/span>\r\n\r\n\/\/ Bibliotecas para o uso do sensor de temperatura 18b20<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\n#include &lt;OneWire.h&gt;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\n#include &lt;DallasTemperature.h&gt;<\/span><\/span>\r\n\r\n\/\/ Defini\u00e7\u00e3o das vari\u00e1veis, suas respectivas portas no microcontrolador e sua fun\u00e7\u00e3o\r\n#define estado 22         \/\/ Rel\u00e9 1 - Alterna entre o estado quente e frio do compressor - HIGH --&gt; Quente e LOW --&gt; Frio\r\n#define ligaCompressor 23 \/\/ Rel\u00e9 2 - Respons\u00e1vel por ligar e desligar o compressor\r\n#define velocidade1 19    \/\/ Rel\u00e9 3 - Controla o ventilador interno na velocidade 1\r\n#define velocidade2 18    \/\/ Rel\u00e9 4 - Controla o ventilador interno na velocidade 2\r\n#define velocidade3 17    \/\/ Rel\u00e9 5 - Controla o ventilador interno na velocidade 3\r\n\r\n\/\/ Defini\u00e7\u00e3o da vari\u00e1vel e sua respectiva porta respons\u00e1vel pelo sensor de temperatura 18b20<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\n#define sensorTemperatura 21<\/span><\/span>\r\n\r\n\/\/ Vari\u00e1veis respons\u00e1veis por cuidar do estado do compressor\r\nbool quente = false;\r\nbool frio = false;\r\n\r\nbool ligado = false; \/\/ Vari\u00e1vel que indica se o sistema est\u00e1 ou n\u00e3o ligado\r\n\r\nint estadoRele1 = LOW; \/\/ Cuida o estado da rel\u00e9 1\r\nint estadoRele2 = LOW; \/\/ Cuida o estado da rel\u00e9 2\r\nint estadoRele3 = LOW; \/\/ Cuida o estado da rel\u00e9 3\r\nint estadoRele4 = LOW; \/\/ Cuida o estado da rel\u00e9 4\r\nint estadoRele5 = LOW; \/\/ Cuida o estado da rel\u00e9 5\r\n\r\n\/\/ Vari\u00e1veis de controle\u00b9\r\nint temperaturaDesejadaFrio = 23;   \/\/ Define a temperatura padr\u00e3o no estado frio como 23\u00b0C\r\nint temperaturaDesejadaQuente = 25; \/\/ Define a temperatura padr\u00e3o no estado quente como 25\u00b0C\r\nint limiteEvaporador = 5;           \/\/ D\u00e1 um limite de temperatura que o evaporador estar\u00e1 operante em \u00b0C\r\n\r\n\/\/ Vari\u00e1veis utilizadas para evitar que um rel\u00e9 fique ativando e desativando rapidamente, utilizando o conceito de histerese<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint controleDiferen\u00e7a = 2;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint controleLimiteEvaporador = 5;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint somaDiferencaAmbienteQuente;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint somaDiferencaAmbienteFrio;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint somaDiferencaLimiteEvaporador = limiteEvaporador + controleLimiteEvaporador;<\/span><\/span>\r\n\r\nfloat temp1_evaporador;\r\nfloat temp2_ambiente;\r\n<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool controlOff = verdadeiro;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool auxControlOff = false;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool controlAtualiza = true;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool protecaoAtualiza = false;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool controlCompress = false;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool statsV1 = falso;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool statsV2 = falso;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nbool estat\u00edsticasV3 = falso;<\/span><\/span>\r\n\r\n\/\/ Vari\u00e1veis de controle\u00b2<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint r\u00e1dio1 = 0;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint r\u00e1dio2 = 0;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint r\u00e1dio3 = 0;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint velocidadePadrao = 0;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nint controleLcd = 0;<\/span><\/span>\r\nbool auxiliarDeInversao = false;\r\nint guardaBotaoApertado = 0;\r\n\/*\r\n  A vari\u00e1vel guardaBotaoApertado \u00e9 uma vari\u00e1vel que serve para que aconte\u00e7a invers\u00e3o\r\n  de estados sem ocorrer o desligamento do sistema de forma indesejada\r\n\r\n  0 --&gt; Neutro\r\n  1 --&gt; O Bot\u00e3o anteriormente pressionado foi o bot\u00e3o liga_quente\r\n  2 --&gt; O Bot\u00e3o anteriormente pressionado foi o bot\u00e3o liga_frio\r\n*\/\r\n<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nunsigned long anteriorMillis = 0;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nintervalo longo sem sinal = 5000;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nunsigned long anteriorMillis2 = 0;<\/span><\/span><span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nintervalo longo sem sinal2 = 60000;<\/span><\/span>\r\n<span style=\"vertical-align: inherit\"><span style=\"vertical-align: inherit\">\r\nString currentLine = \"\"; <\/span><span style=\"vertical-align: inherit\">\/\/ faz uma String para manter os dados recebidos do cliente<\/span><\/span>\r\n\r\nconst char *ssid = \"NOME DO SEU WIFI\";\r\nconst char *password = \"SENHA DO SEU WIFI\";<\/pre>\n<p>&nbsp;<\/p>\n<h2 id=\"alterSection\" style=\"border-bottom: 1px solid gray;width: 50%;font-size: 20px\">Como fazer altera\u00e7\u00f5es no c\u00f3digo<\/h2>\n<p>Antes de alterar o c\u00f3digo precisamos entender como ele est\u00e1 estruturado.<\/p>\n<p style=\"font-size: 20px\">Estrutura do c\u00f3digo:<\/p>\n<ul>\n<li><strong>001<\/strong> \u00e0 <strong>005<\/strong> &#8211; Inclus\u00e3o das Bibliotecas utilizadas<\/li>\n<li><strong>007<\/strong> \u00e0 <strong>085<\/strong> &#8211; Defini\u00e7\u00e3o de constantes e vari\u00e1veis<\/li>\n<li><strong>087<\/strong> \u00e0 <strong>122\u00a0<\/strong> &#8211; Inicializa\u00e7\u00f5es, defini\u00e7\u00f5es e conex\u00f5es antes do loop principal<\/li>\n<li><strong>126<\/strong> \u00e0 <strong>142<\/strong> &#8211; Servidor WiFi aguarda clientes, l\u00ea e imprime os dados recebidos via porta serial<\/li>\n<li><strong>157<\/strong> \u00e0 <strong>189<\/strong> &#8211; Estilo da p\u00e1gina (CSS)<\/li>\n<li><strong>195<\/strong> \u00e0 <strong>383<\/strong> &#8211; Estrutura HTML da p\u00e1gina e condi\u00e7\u00f5es<\/li>\n<li><strong>397<\/strong> \u00e0 <strong>449<\/strong> &#8211; Aguarda e verifica Isso se o cliente fez uma solicita\u00e7\u00e3o para ativar algo<\/li>\n<li><strong>475<\/strong> \u00e0 <strong>499<\/strong> &#8211; Configura\u00e7\u00e3o do sensor de temperatura e recolhimento de informa\u00e7\u00e3o<\/li>\n<li><strong>461<\/strong> \u00e0 <strong>670<\/strong> &#8211; Condi\u00e7\u00f5es para tratar a ativa\u00e7\u00e3o e desativa\u00e7\u00e3o do sistema (quente\/frio e ligado\/desligado)<\/li>\n<li><strong>502<\/strong> \u00e0 <strong>559<\/strong> &#8211; Condi\u00e7\u00f5es para tratamento das velocidades do ventilador<\/li>\n<li><strong>562<\/strong> \u00e0 <strong>596<\/strong> &#8211; Tratamento das temperaturas do evaporador e do ambiente\u00a0no estado <strong>frio<\/strong><\/li>\n<li><strong>598<\/strong> \u00e0 <strong>630<\/strong> &#8211; Tratamento das temperaturas do evaporador e do ambiente no estado <strong>quente<\/strong><\/li>\n<li><strong>632<\/strong> \u00e0 <strong>671<\/strong> &#8211; Controle de Atualiza\u00e7\u00e3o dos estados dos rel\u00e9s de sa\u00edda<\/li>\n<li><strong>673<\/strong> \u00e0 <strong>754<\/strong> &#8211; Fun\u00e7\u00e3o <code>varLigaDesliga()<\/code> para controlar a ativa\u00e7\u00e3o e desativa\u00e7\u00e3o do sistema<\/li>\n<li><strong>756<\/strong> \u00e0 <strong>789<\/strong> &#8211; Fun\u00e7\u00e3o <code>inversao()<\/code> para tratar invers\u00f5es de estado sem desligar o sistema<\/li>\n<\/ul>\n<p>Agora que sabemos como nosso c\u00f3digo est\u00e1 estruturado podemos fazer altera\u00e7\u00f5es nele.<\/p>\n<p>&#8212;<\/p>\n<ul>\n<li>Caso queira alterar a estrutura do c\u00f3digo <strong>HTML<\/strong> e seu <strong>estilo<\/strong> (CSS), altere entre as linhas <strong>157 <\/strong>\u00e0<strong> 383<\/strong>. O c\u00f3digo HTML e CSS devem estar dentro da fun\u00e7\u00e3o <code>client.print(\" \");<\/code><\/li>\n<\/ul>\n<p>Exemplo:<\/p>\n<pre class=\"lang:default decode:true\">client.print(\"&lt;div&gt;&lt;h1&gt;Exemplo&lt;\/h1&gt;&lt;\/div&gt;\");<\/pre>\n<ul>\n<li>Caso queira alterar ou incrementar solicita\u00e7\u00f5es poss\u00edveis ao cliente altere entre as linhas <strong>397<\/strong> \u00e0 <strong>449.<\/strong><\/li>\n<li>Caso queira alterar as incrementar\u00a0 fun\u00e7\u00f5es do c\u00f3digo altere entre as linhas <strong>461\u00a0<\/strong>\u00e0\u00a0<strong>789.<\/strong><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2><strong>Perguntas e Respostas<\/strong><\/h2>\n<h5>Quais s\u00e3o os benef\u00edcios de utilizar esse sistema em vez do controle remoto tradicional?<\/h5>\n<p>O sistema web oferece conveni\u00eancia e flexibilidade, permitindo controlar o ar-condicionado de qualquer lugar atrav\u00e9s de um computador ou smartphone. Al\u00e9m disso, \u00e9 poss\u00edvel programar fun\u00e7\u00f5es autom\u00e1ticas para melhorar a experi\u00eancia de uso. \u00c9 uma op\u00e7\u00e3o vi\u00e1vel para quem n\u00e3o quer comprar uma placa tradicional para seu dispositivo.<\/p>\n<p>&nbsp;<\/p>\n<h5>Como \u00e9 poss\u00edvel acessar a plataforma web para controlar o ar-condicionado remotamente?<\/h5>\n<p>Para acessar a plataforma web, basta utilizar um computador ou smartphone conectado \u00e0 internet. A partir do navegador, acessando o endere\u00e7o de IP fornecido pelo Monitor Serial ao executar a aplica\u00e7\u00e3o, voc\u00ea poder\u00e1 interagir com a p\u00e1gina web criada no projeto, enviando os comandos de controle para o microcontrolador ESP32.<\/p>\n<p>&nbsp;<\/p>\n<h5>\u00c9 poss\u00edvel implementar essa solu\u00e7\u00e3o em diferentes modelos de ar-condicionado?<\/h5>\n<p>Sim, desde que o ar-condicionado possua um sistema de controle eletr\u00f4nico compat\u00edvel, \u00e9 poss\u00edvel adaptar essa solu\u00e7\u00e3o para diferentes modelos, marcas e capacidades do aparelho.<\/p>\n<p>&nbsp;<\/p>\n<h5>Posso alterar o c\u00f3digo para criar novas fun\u00e7\u00f5es e\/ou estilizar o c\u00f3digo de outra maneira?<\/h5>\n<p>Sim! Voc\u00ea pode alterar o c\u00f3digo da maneira que desejar. Utilize a criatividade para alterar o c\u00f3digo criando novas fun\u00e7\u00f5es, novos estilos ou novos leyouts. Se precisar de ajuda para fazer altera\u00e7\u00f5es no seu c\u00f3digo visite a se\u00e7\u00e3o <strong><a href=\"https:\/\/www.usinainfo.com.br\/blog\/?p=6405&amp;preview=true\/#alterSection\">Como fazer altera\u00e7\u00f5es no c\u00f3digo<\/a>.<\/strong><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h2><strong>Conclus\u00e3o<\/strong><\/h2>\n<p>O uso do microcontrolador ESP32 para substituir a placa tradicional de um Ar-Condicionado e tornar poss\u00edvel de controla-lo de forma remota atrav\u00e9s de um site \u00e9 uma solu\u00e7\u00e3o inovadora e pr\u00e1tica que oferece diversas vantagens aos usu\u00e1rios.<\/p>\n<p>No geral, o uso do microcontrolador ESP32 para controle remoto do ar-condicionado atrav\u00e9s de um site representa um avan\u00e7o significativo na automa\u00e7\u00e3o residencial, oferecendo maior praticidade, conforto e personaliza\u00e7\u00e3o aos usu\u00e1rios, e pode ser um passo importante rumo a um ambiente mais conectado e eficiente.<\/p>\n<p>E a\u00ed, O que achou deste projeto? Este projeto me trouxe diversos aprendizados e espero que estes aprendizados sejam transmitidos a voc\u00ea por meio deste artigo.<\/p>\n<p>Deixe seu coment\u00e1rio abaixo e compartilhe comigo as suas experi\u00eancias. At\u00e9 a Pr\u00f3xima!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagine que a placa do seu Ar-condicionado est\u00e1 com defeito, o que fazer agora? Saiba que voc\u00ea s\u00f3 precisa de um ESP32 e alguns outros m\u00f3dulos quando combinados com a Cultura Maker podem facilmente solucionar este problema e ainda por cima dar um upgrade no seu aparelho, tornando poss\u00edvel utiliz\u00e1-lo por meio de uma P\u00e1gina Web. Para tornar isso poss\u00edvel, usaremos um microcontrolador chamado NodeMCU ESP32 . Esse microcontrolador ir\u00e1 se comunicar com o ar-condicionado e receber comandos atrav\u00e9s da internet, j\u00e1 que ele possui nativamente acesso a Rede WiFi e bluetooth para f\u00e1cil integra\u00e7\u00e3o com dispositivos m\u00f3veis. O objetivo do projeto \u00e9 fazer com que esse microcontrolador se comporte como se fosse a placa eletr\u00f4nica tradicional do ar-condicionado, ou [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":6462,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57,18,1],"tags":[337,124,215,339,338],"class_list":["post-6405","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automacao-residencial","category-esp32","category-projetos","tag-ar-condicionado","tag-automacao-residencial","tag-esp32","tag-html-css","tag-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Projeto Placa de Ar-Condicionado com ESP32 - Blog UsinaInfo<\/title>\n<meta name=\"description\" content=\"Projeto Criando uma placa de Ar-Condicionado com ESP32 tem no Blog UsinaInfo. Acesse o Passo a Passo com C\u00f3digo de Programa\u00e7\u00e3o. Confira.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Projeto Placa de Ar-Condicionado com ESP32 - Blog UsinaInfo\" \/>\n<meta property=\"og:description\" content=\"Projeto Criando uma placa de Ar-Condicionado com ESP32 tem no Blog UsinaInfo. Acesse o Passo a Passo com C\u00f3digo de Programa\u00e7\u00e3o. Confira.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Usinainfo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/pt-br.facebook.com\/faceusinainfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-20T17:24:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-17T19:03:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/IMG_20230810_171705-1-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1152\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fernando Dorneles\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fernando Dorneles\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Projeto Placa de Ar-Condicionado com ESP32 - Blog UsinaInfo","description":"Projeto Criando uma placa de Ar-Condicionado com ESP32 tem no Blog UsinaInfo. Acesse o Passo a Passo com C\u00f3digo de Programa\u00e7\u00e3o. Confira.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/","og_locale":"pt_BR","og_type":"article","og_title":"Projeto Placa de Ar-Condicionado com ESP32 - Blog UsinaInfo","og_description":"Projeto Criando uma placa de Ar-Condicionado com ESP32 tem no Blog UsinaInfo. Acesse o Passo a Passo com C\u00f3digo de Programa\u00e7\u00e3o. Confira.","og_url":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/","og_site_name":"Blog Usinainfo","article_publisher":"https:\/\/pt-br.facebook.com\/faceusinainfo\/","article_published_time":"2023-07-20T17:24:03+00:00","article_modified_time":"2023-08-17T19:03:14+00:00","og_image":[{"width":2560,"height":1152,"url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/IMG_20230810_171705-1-scaled.jpg","type":"image\/jpeg"}],"author":"Fernando Dorneles","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Fernando Dorneles","Est. tempo de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#article","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/"},"author":{"name":"Fernando Dorneles","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/ddb0ec41c544aa5e0e67706407eb725c"},"headline":"Projeto Placa de Ar-Condicionado com Esp32","datePublished":"2023-07-20T17:24:03+00:00","dateModified":"2023-08-17T19:03:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/"},"wordCount":1998,"commentCount":2,"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/IMG_20230810_171705-1-scaled.jpg","keywords":["Ar-condicionado","Automa\u00e7\u00e3o Residencial","ESP32","Html\/Css","Web"],"articleSection":["Automa\u00e7\u00e3o Residencial","ESP32","Projetos"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/","url":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/","name":"Projeto Placa de Ar-Condicionado com ESP32 - Blog UsinaInfo","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#primaryimage"},"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/IMG_20230810_171705-1-scaled.jpg","datePublished":"2023-07-20T17:24:03+00:00","dateModified":"2023-08-17T19:03:14+00:00","author":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/ddb0ec41c544aa5e0e67706407eb725c"},"description":"Projeto Criando uma placa de Ar-Condicionado com ESP32 tem no Blog UsinaInfo. Acesse o Passo a Passo com C\u00f3digo de Programa\u00e7\u00e3o. Confira.","breadcrumb":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#primaryimage","url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/IMG_20230810_171705-1-scaled.jpg","contentUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2023\/07\/IMG_20230810_171705-1-scaled.jpg","width":2560,"height":1152,"caption":"Imagem principal para o artigo Projeto Placa de Ar-Condicionado com Esp32"},{"@type":"BreadcrumbList","@id":"https:\/\/www.usinainfo.com.br\/blog\/projeto-controle-para-ar-condicionado\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.usinainfo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Projeto Placa de Ar-Condicionado com Esp32"}]},{"@type":"WebSite","@id":"https:\/\/www.usinainfo.com.br\/blog\/#website","url":"https:\/\/www.usinainfo.com.br\/blog\/","name":"Blog Usinainfo","description":"Usinainfo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.usinainfo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/ddb0ec41c544aa5e0e67706407eb725c","name":"Fernando Dorneles","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/2eb432293867c582ee3fe5a798433319eff09bfe23277bc8ced60b51ab3fd309?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2eb432293867c582ee3fe5a798433319eff09bfe23277bc8ced60b51ab3fd309?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2eb432293867c582ee3fe5a798433319eff09bfe23277bc8ced60b51ab3fd309?s=96&d=mm&r=g","caption":"Fernando Dorneles"},"description":"Estudante, Estagi\u00e1rio e Bolsista. Cursando T\u00e9cnico Integrado em Inform\u00e1tica no Instituto Federal Farroupilha Campus Santo \u00c2ngelo.","url":"https:\/\/www.usinainfo.com.br\/blog\/author\/fernando-dorneles\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/6405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6405"}],"version-history":[{"count":46,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/6405\/revisions"}],"predecessor-version":[{"id":6457,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/6405\/revisions\/6457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media\/6462"}],"wp:attachment":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}