Lâmpada para fechadura com ESP32
Olá, caro(a) leitor(a)! O projeto que trouxemos hoje é uma lâmpada para fechadura com sensor de presença. Para aquela porta que fica em um local escuro, e que sempre dá trabalho na hora de abrir, porque fica difícil enxergar o lugar para colocar a chave. Esse post irá ensinar a montar esse projeto, e além disso, tem como proposta mostrar as particularidades da ESP32 ao lidar com alguns sensores, como o Sensor Ultrassônico. E ai? Pronto(a)? Vamos lá então!
(em busca de um projeto com o Sensor Ultrassônico e Arduino? Confira.)
Materiais Utilizados:
- ESP32 Devkit
- Sensor de Distância Ultrassônico
- 6 LEDs de Alto Brilho 5mm
- Suporte para 4 Pilhas 1,5V
- Regulador de tensão Step-Down (usamos um ajustável)
- Conversor de Nível Lógico
- Interruptor Gangorra
- Jumpers, podem ser Fêmea x Fêmea ou Fêmea x Macho
- Pistola e tubos de cola quente
Entendendo a programação da ESP32
Antes de abordar a ligação do circuito da nossa lâmpada para fechadura, vamos falar do código que vai controlar o sistema, que deve ser embarcado na ESP32. Se trata de um código simples, vamos definir uma distância em centímetros que servirá como limite, assim que o nosso sensor ultrassônico captar que existe algo mais próximo do que isso, os LEDs se acenderão, por isso é importante que você escolha um valor que faça sentido para sua situação. Esse parâmetro se encontra na primeira linha abaixo.
#define DISTANCIA_LIMITE 45 // Distância limite em cm #define TRIG_PIN 13 // pino D13 conectado ao Trig do sonar #define ECHO_PIN 12 // pino D12 conectado ao Echo do sonar4 (via Conversor de Nível Lógico) #define LED_PIN 14 // pino D14 conectado aos LEDs (via resistor) void setup() { Serial.begin(115200); // Inicializa a comunicação serial pinMode(TRIG_PIN, OUTPUT); // Configura Trig como saída pinMode(ECHO_PIN, INPUT); // Configura Echo como entrada pinMode(LED_PIN, OUTPUT); // Configura o pino do LED como saída } void loop() { long duracao; float distancia; // Gera o pulso no Trig digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Lê o tempo do pulso no Echo duracao = pulseIn(ECHO_PIN, HIGH); // Calcula a distância em cm distancia = (duracao * 0.034) / 2; // Controla o LED com base na distância if (distancia <= DISTANCIA_LIMITE) { digitalWrite(LED_PIN, HIGH); // Liga os LEDs } else { digitalWrite(LED_PIN, LOW); // Desliga os LEDs } delay(500); // Aguarda meio segundo antes de medir novamente }
Resta apenas copiar esse código e embarcar na ESP32! Aproveite para ler e fazer quaisquer alterações que desejar, pois agora vamos para a montagem do circuito, e em breve fixaremos nossa ESP na posição.
Agora vamos ver como conectar tudo isso!
Como você pode ver na lista de itens, é necessário utilizar alguns conversores de tensão, isso ocorre por conta da tensão de operação da ESP32, que é menor que a dos outros componentes, isso complica um pouco as ligações, mas não se preocupe! aqui nós vamos explicar direitinho.
Primeiramente,
para utilizar o case que preparamos, alguns componentes precisam estar soltos, para serem soldados só quando estiverem no lugar correto, portanto você pode ligar tudo antes como mostramos abaixo, para testar os componentes, mas nesse caso, depois terá que refazer o trabalho de solda.
Para facilitar a visualização, vamos separar o circuito em 2 partes, a primeira mostra a apenas o sistema com LEDs com a ESP32, enquanto a segundo mostra as ligações envolvendo o resto dos componentes.
Imagem 1 – Ligação dos LEDs com a ESP32
Os LEDs estão ligados em paralelo, portanto, basta conectar a ponta negativa ao GND, e a ponta positiva no pino D14, agora vamos para a segunda imagem, relembrando que as 2 imagens tratam de um circuito só.
Imagem 2 – Ligação do Sonar e Reguladores de Tensão
Você pode ligar a alimentação de 6V diretamente no pino Vin em alguns modelos de ESP32, que possuem regulador de tensão integrado, já para o sonar, você precisa converter para 5V, nós usamos um regulador ajustável nesse caso, porém você pode verificar se essa é ou não a melhor opção pra você. Enquanto outro regulador, um Conversor de Nível Lógico, específico para sinais lógicos, deve transformar os sinais no pino Trigger para preservar sua ESP32 de tensões mais altas do que a de operação (3.3V).
Aqui, utilize os pinos definidos no código para Echo e Trigger (D12, D13)
O sensor ultrassônico deve ser conectado ao pino GND da ESP32, assim como o Conversor de Nível Lógico e o próprio GND da alimentação.
E agora ?
Bom, agora que entendemos o circuito e temos o código pronto, basta fazer um case para podermos enfim, pendurar o sistema em uma porta e realmente utilizá-lo. Resolvemos imprimir um case em 3D
Agora, vamos mostrar a posição dos componentes dentro do nosso case, para você conferir. Usamos cola quente para fixar cada componente em seu lugar, incluindo os LEDs.
Imagem 3 – Componentes em 3D
Imagem 4 – Case junto aos componentes em 3D.
E é isso…
A nossa ideia é usar fita dupla face nas partes de plástico para fixar a lâmpada para fechadura nas portas.
Desejamos uma boa montagem para você, caso tenha alguma dúvida, não hesite em comentar aqui embaixo, agora vamos deixar um vídeo rápido do nosso sistema funcionando.
Muito obrigado pela leitura! 🙂