Como controlar o fogão a partir do smartphone usando WiFi

No mundo moderno, se olharmos ao redor, podemos ver que tudo o que inclui a eletrônica é automatizado até certo ponto. Os sistemas de automação residencial ou casas inteligentes são muito comuns hoje em dia. Ao usar esses sistemas, diferentes eletrodomésticos podem ser automatizados usando um aplicativo móvel. Mas a maioria desses sistemas não inclui nada que automatize seu fogão a gás. Neste artigo, vamos desenvolver um sistema que permitirá que você controle seu fogão a gás por meio de um aplicativo mobile. Esta aplicação será usada para abrir ou fechar a válvula de gás da válvula principal e acender a vela de ignição para acender o fogo.



Fogão Inteligente

Como automatizar o fogão a gás através do seu celular?

Já que conhecemos o resumo do projeto, vamos seguir em frente e reunir diversas informações para começar a trabalhar. Vamos primeiro fazer uma lista dos componentes e, em seguida, montar todos os componentes juntos para fazer um sistema funcional.



Etapa 1: reunindo os componentes

Antes de iniciar qualquer projeto, se quisermos evitar o medo de ficar preso no meio do projeto, devemos ter uma lista completa de todos os componentes de que precisaremos enquanto trabalhamos no projeto. Esta é uma abordagem excelente que economiza muito tempo e esforço. Uma lista completa de todos os componentes usados ​​neste projeto é fornecida abaixo. Todos esses componentes estão facilmente disponíveis no mercado.



  • ESP32
  • Válvula de gás para Arduino
  • Jumper Wires
  • Módulo de Relé 5V
  • 2N2222 Transistor NPN
  • Resistor de 1k-ohm
  • Resistor de 10k-ohm
  • Vela de ignição 5V

Etapa 2: desenvolver um aplicativo Android

Como vamos controlar este fogão usando um aplicativo android, precisamos primeiro desenvolvê-lo. Anteriormente, desenvolvemos vários aplicativos Android. Anteriormente, fizemos um inscrição que consiste em apenas um botão nele. Este botão é usado para enviar dados para o banco de dados. E se '1' for inserido no banco de dados, o relé será ligado e se '0' for inserido no banco de dados, o relé será desligado.



Faremos uma pequena alteração nesta aplicação. Seguindo o mesmo procedimento que foi seguido para fazer o primeiro botão e conectá-lo ao firebase, faremos outro botão que será conectado ao firebase.

Um botão será usado para abrir e fechar a válvula de gás e o segundo botão será usado para criar uma faísca que será responsável pela ignição .

Etapa 3: Fazendo o circuito

Como sabemos agora o ponto crucial deste projeto, vamos montar todos os componentes para fazer um circuito final.



Pegue uma placa de ensaio e insira o Placa ESP32 iniciar. Pegue os transistores e os resistores e insira-os na placa de ensaio de forma que o transistor possa ser usado como uma chave. Siga a configuração abaixo para não cometer erros ao fazer a troca.

Transistor como uma chave

Na figura acima, conecte o Vinho porta para os pinos do ESP32 , conecte a porta Vcc à fonte externa de 5 V e conecte Vo ao módulo de relé. O principal motivo de estarmos usando o transistor como uma chave é que um relé precisa de 5 V para operar, mas o ESP32 pode fornecer apenas 3,3 V. Portanto, precisamos fornecer 5 V externos ao relé.

Agora vamos conectar o módulo de relé aos transistores. Certifique-se de que o primeiro transistor está conectado ao pino 34 do módulo ESP e o segundo transistor está conectado ao pino 35 do módulo ESP. Usaremos ambos os módulos de relé no modo normalmente aberto. Conecte a válvula de gás e a vela de ignição ao terminal de saída do primeiro e do segundo módulo de relé, respectivamente. Certifique-se de conectar o módulo do relé mostrado na imagem abaixo.

Módulo de Relé

Etapa 4: Trabalho

O coração deste projeto é o ESP32 que é a placa do microcontrolador. Uma válvula de gás e uma vela de ignição são conectadas ao ESP por meio de módulos de relé. A válvula de gás é inicialmente fechada. Ao ser ligado a partir do aplicativo móvel, a válvula de gás é ligada. Mesmo no caso da vela de ignição. Ele pode ser desligado ou desligado por meio do aplicativo móvel. Essa vela será conectada ao fogão de onde o gás é liberado. Esta vela de ignição acenderá o fogo.

Etapa 5: Introdução ao ESP32

Se você não trabalhou no Arduino IDE antes, não se preocupe porque um passo a passo para configurar o Arduino IDE é mostrado abaixo.

  1. Baixe a versão mais recente do Arduino IDE em Arduino.
  2. Conecte sua placa Arduino ao PC e abra o painel de controle. Clique em Hardware e som. Agora aberto Dispositivos e impressora e encontre a porta à qual sua placa está conectada. No meu caso é COM14 mas é diferente em computadores diferentes.

    Encontrar o porto

  3. Clique em Arquivo e em Preferências. Copie o seguinte link no URL do gerente da placa adicional. “ https://dl.espressif.com/dl/package_esp32_index.json '

    Preferências

  4. Agora, para usar o ESP32 com o Arduino IDE, precisamos importar bibliotecas especiais que nos permitirão gravar código no ESP32 e usá-lo. essas duas bibliotecas estão anexadas no link fornecido a seguir. Para incluir a biblioteca, vá para Sketch> Incluir Biblioteca> Adicionar Biblioteca ZIP . Uma caixa aparecerá. Encontre a pasta ZIP em seu computador e clique em OK para incluir as pastas.

    Incluir Biblioteca

  5. Agora vá para Sketch> Incluir Biblioteca> Gerenciar Bibliotecas.

    Gerenciar Bibliotecas

  6. Um menu será aberto. Na barra de pesquisa, digite Arduino JSON. Uma lista aparecerá. Instalar Arduino JSON de Benoit Blanchon.

    Arduino JSON

  7. Agora clique no Ferramentas. Um menu suspenso aparecerá. Defina o tabuleiro para Módulo ESP Dev.

    Tabuleiro de Configuração

  8. Clique no menu Ferramentas novamente e defina a porta que você observou no painel de controle antes.

    Porta de configuração

  9. Agora faça o upload do código que está anexado no link abaixo e clique no botão de upload para gravar o código no microcontrolador ESP32.

    Envio

Portanto, agora, quando você enviar o código, pode ocorrer um erro. Este é o erro mais comum que pode ocorrer se você estiver usando uma nova versão do Arduino IDE e do Arduino JSON. A seguir estão os erros que você pode ver na tela.

No arquivo incluído em C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, de C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: erro: StaticJsonBuffer é uma classe de ArduinoJson 5. Consulte arduinojson.org/upgrade para saber como atualizar seu programa para ArduinoJson versão 6 StaticJsonBuffer jsonBuffer; ^ No arquivo incluído em C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, em C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: erro: StaticJsonBuffer é uma classe de ArduinoJson 5. Consulte arduinojson.org/upgrade para saber como atualizar seu programa para ArduinoJson versão 6 retorna StaticJsonBuffer (). ParseObject (_data); ^ Várias bibliotecas foram encontradas para 'WiFi.h' Usado: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Não usado: C:  Arquivos de programas ( x86)  Arduino  libraries  WiFi Usando a biblioteca WiFi na versão 1.0 na pasta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Usando a biblioteca IOXhop_FirebaseESP32-master na pasta: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legado) Usando a biblioteca HTTPClient na versão 1.2 na pasta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Usando a biblioteca WiFiClientSecure na versão 1.0 na pasta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Usando a biblioteca ArduinoJson em versão 6.12.0 na pasta: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson status de saída 1 Erro ao compilar para placa ESP32 Dev Module.

Não há nada com que se preocupar, pois podemos eliminar esses erros seguindo alguns passos simples. Esses erros estão surgindo porque a nova versão do Arduino JSON tem outra classe em vez de StaticJsonBuffer. Esta é a classe do JSON 5. Portanto, podemos simplesmente eliminar esse erro fazendo o downgrade da versão do Arduino JSON do nosso IDE Arduino. Simplesmente vá para Sketch> Incluir Biblioteca> Gerenciar Bibliotecas. Procurar por Arduino JSON de Benoit Blanchon que você instalou antes. Desinstale-o primeiro e depois defina sua versão para 5.13.5. Agora, como configuramos uma versão antiga do Arduino JSON, instale-o novamente e recompile o código. Desta vez, seu código será compilado com sucesso.

Para baixar o código, clique aqui.

Etapa 6: Código

O código anexado é muito bem comentado, mas ainda assim, algumas de suas partes são explicadas abaixo.

1. No início, duas bibliotecas são incluídas para que o WiFi seja ativado e a placa ESP possa ser conectada ao banco de dados firebase. Em seguida, o host Firebase, autenticação, o nome de sua conexão wi-fi local e a senha da mesma conexão wi-fi são incluídos. Além disso, defina os pinos na placa ESP que serão usados ​​para conectar os dispositivos externos.

#include // incluir biblioteca para usar WiFi #include // incluir biblioteca para conectar-se ao Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // substitua xxxxxxxxxx por seu host Firebase aqui #define FIREBASE_AUTH 'xxxxxxxxxx' // substitua xxxxxxxxxx por sua autenticação firebase aqui # definir WIFI_SSID 'xxxxxxxxxx' // substituir xxxxxxxxxx pelo nome de nossa conexão Wifi # definir WIFI_PASSWORD 'xxxxxxxxxx' // substituir xxxxxxxxxx por sua senha wi-fi # definir válvula 34 // conectar válvula de gás a este pino # definir faísca 35 // conectar faísca conecte a este pino

2 void setup () é uma função executada apenas uma vez quando o microcontrolador é ligado ou o botão de ativação é pressionado. Nesta função, é definida a taxa de transmissão, que é basicamente a velocidade de comunicação em bits por segundo. Depois disso, a placa ESP é conectada ao Wifi.

configuração vazia () {Serial.begin (115200); // define a taxa de baud pinMode (valve, OUTPUT); // define o pino 34 a ser usado como OUTPUT pinMode (spark, OUTPUT); // defina o pino 35 para ser usado como OUTPUT // conecte-se ao wi-fi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('conectando'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); atraso (500); } Serial.println (); Serial.print ('conectado:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3 - Loop vazio () é a função que é executada repetidamente em um loop. Neste loop, os valores estão sendo lidos do firebase e são examinados se forem zero ou um. Se os valores forem um, um sinal HIGH será enviado ao pino que resultará na ativação do módulo de relé. Se o valor for zero, um sinal LOw será enviado para o pino do ESP que resultará no desligamento do relé.

void loop () {// obter o valor temp1 = Serial.println (Firebase.getFloat ('light')); // obter o valor para a troca da válvula de gás temp2 = Serial.println (Firebase.getFloat ('AC')); // obtenha o valor para a troca da vela de ignição if (temp1 == 1) {digitalWrite (válvula, HIGH) // liga o relé um} else if (temp1 == 0) {digitalWrite (válvula, LOW) // gire desligar relé um} else if (temp2 == 1) {digitalWrite (faísca, HIGH) // ligar o relé dois} else if (temp2 == 0) {digitalWrite (faísca, BAIXO) // desligar o relé dois} // manipular o erro if (Firebase.failed ()) {Serial.print ('configuração / número falhou:'); Serial.println (Firebase.error ()); Retorna; } atraso (1000); }

Isso é tudo por hoje. Agora, você pode fazer nosso próprio fogão inteligente em casa. Continue visitando nosso site para mais artigos interessantes como esses no futuro.