capa do artigo campainha inteligente do blog da MakerHero

Campainha Inteligente 1

Já ficou curioso em saber se o carteiro realmente tentou fazer uma entrega, mora em uma casa onde a campainha não pode ser ouvida em todos os cômodos ou deseja ser avisado que alguém está na porta mas não quer tomar um susto com o barulho? Neste post veremos uma solução para esses problemas, uma campainha inteligente que envia uma mensagem para o seu celular toda vez que é apertada.

foto de uma campainha branca.

Materiais Necessários para Campainha Inteligente

Para montagem desse projeto serão necessários os seguintes componentes:

Circuito

A montagem desse projeto é extremamente simples, as conexões podem ser vistas no esquema abaixo. A fonte pode ser ligada ao conector micro USB do Wemos D1 mini ou ser conectada diretamente nos pinos GND e de 5V.

O pushbutton representa o botão usado para acionar a campainha. Os fios que estavam conectados ao botão da campainha agora devem ser ligados ao relé, caso não queira mais ouvir o barulho da sua campainha basta não utilizar o relé e isolar a Fase e o Retorno da Campainha.

ilustração do circuito da campainha inteligente

Configuração do Telegram

Já abordamos aqui no blog como criar um Robô no Telegram para o ESP32 no post “Controle seu ESP32 usando Telegram“. Para o nosso projeto, basta criar uma conta e seguir os passos apresentados na seção “Criação de um Bot Telegram para o ESP32” do post citado anteriormente. Precisamos também obter a nossa Chat ID do Telegram, para isso, basta enviar /getid para @myidbot.

Código

Utilizaremos apenas a biblioteca Universal Telegram Bot, que pode ser encontrada no Gerenciador de Bibliotecas da Arduino IDE.

Antes de fazer upload do código no ESP, basta substituir o nome e senha da sua rede WiFi, assim como o Token e Chat ID obtido durante a configuração no Robô no Telegram.

/*
#-----------------------#
| CAMPAINHA |
| INTELIGENTE |
| Ítalo Coelho |
#-----------------------#
*/

#define MySSID "insira-aqui-o-nome-do-wifi"
#define MyWifiPassword "insira-aqui-a-senha-do-wifi"

#define CHAT_ID "insira-aqui-o-chat-id"
#define BOT_TOKEN "insira-aqui-o-bot-token"

#define relayPin D3
#define buttonPin D8

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>


ESP8266WiFiMulti WiFiMulti;
WiFiClientSecure secured_client;
X509List cert(TELEGRAM_CERTIFICATE_ROOT);
UniversalTelegramBot bot(BOT_TOKEN, secured_client);


void setup()
{
pinMode(relayPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);

WiFi.mode(WIFI_STA);
WiFiMulti.addAP(MySSID, MyWifiPassword);

while(WiFiMulti.run() != WL_CONNECTED)
{
delay(500);
}

configTime(0, 0, "pool.ntp.org");
secured_client.setTrustAnchors(&cert);
}

void loop()
{
static uint64_t then = millis();

if(millis() - then >= 5000)
{
if(!digitalRead(buttonPin))
{
digitalWrite(relayPin, HIGH);
delay(1000);
digitalWrite(relayPin, LOW);

bot.sendMessage(CHAT_ID, "Alguem esta na porta!", "");
then = millis();
}
}
}

Utilização da Campainha Inteligente

Com tudo montado, basta entrar na conversa com o seu robô do Telegram e digitar /start. Sempre que alguém apertar sua campainha uma mensagem será enviada para o seu smartphone. Você pode usar esse projeto como base para criar outras maneiras de ser notificado quando alguém apertar a campainha como, por exemplo, piscar uma lâmpada ou mudar a cor de uma fita de LED.

printscreen da tela de um celular com o aplicativo telegram

Gostou de aprender como fazer uma Campainha Inteligente?


Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.

Faça seu comentário

Acesse sua conta e participe

Um Comentário

  1. Gostei muito do conteúdo deste post, parabéns aos envolvidos!