Nosso objetivo hoje é criar um
sistema de detecção de movimento em um ambiente, utilizando um sensor de
presença PIR HC-SR501 e um buzzer contínuo para disparar como um alarme. A
nossa montagem até parece um robozinho, mas isso porque eu utilizei um suporte de
solda somente para fixar o sensor e facilitar a visualização no vídeo. O
microcontrolador que usamos neste projeto é o WiFi ESP8266 NodeMcu ESP12E.
No vídeo vocês podem ver que o
circuito que montamos é bem simples. A alimentação do NodeMCU é feita pela USB
e este microcontrolador fica ligado direto ao buzzer de 5v. Quando ocorre uma
saída 3v3 em cima deste buzzer, ele funciona muito bem. Quanto ao sensor PIR,
ele tem alimentação positivo/negativo e tem o pino de sinal que só manda 0 ou
1. Ele é bastante simples de mexer porque é binário. Ao lado dele, temos dois
Trimpots de controle, sendo um de tempo e outro de sensibilidade.
WiFi ESP8266 NodeMcu ESP-12E
Aqui mostro para você a foto
do NodeMCU e toda sua pinagem.
PIR HC-SR501 – Características
Na imagem do sensor, à
esquerda, eu aponto onde ficam os dois Trimpots, que são os botões de ajuste.
No dispositivo que controla o tempo você vai ajustar o delay, ou seja, o tempo
que vai demorar após o disparo do alarme para a montagem ativar novamente. Já
no botão da sensibilidade, você vai apontar qual a distância de acionamento do
sensor. No lado direito está a vista de cima do sensor.
Este modelo PIR HC-SR501 conta
ainda com três pinos: VCC, GND e OUT. Alimentação: de 5V a 20V. Tensão de
Saída: 3,3V. Potenciômetro para ajuste de tempo e sensibilidade. E, por fim,
ângulo de abertura: aproximadamente 120 graus.
Buzzer Contínuo
Aqui temos o buzzer que, para
quem não conhece, funciona como uma espécie de alto-falante. São dois tipos.
Temos um microcontrolado, que é este que usamos hoje, o qual recebe alimentação
e já apita, além do modelo que não tem o microcontrolador dentro dele, ou seja,
não tem o oscilador dentro dele. O que ocorre aí é que você que vai ter que
mandar a oscilação. O mais comum, no entanto, é do primeiro modelo que citei.
Montagem
Nesta imagem temos o esquema
do projeto de hoje. Vamos ligar o sensor ao NodeMCU pela entrada D4. A saída do
microcontrolador para o buzzer é a D1.
Código
Começamos definindo as
constantes que utilizaremos durante nosso código.
//definição do pino de saída do sensor PIR #define PIN_SENSOR D4 //definição do pino de entrada do Buzzer #define PIN_BUZZER D1
Setup
Na função setup(), vamos
configurar os pinos que usaremos para comunicação com o sensor e o buzzer,
através do comando “pinMode”.
void setup() { //abaixo vamos confirar cada um dos pinos como entrada ou saída de dados pinMode(PIN_SENSOR, INPUT); pinMode(PIN_BUZZER, OUTPUT); }
Loop
Na função loop(), faremos a
leitura do sensor para saber se detectou algum movimento. Caso seja detectado,
acionaremos o buzzer para soar como um alarme.
void loop() { //faz a leitura do sensor de presença (retorna HIGH ou LOW) int sinal = digitalRead(PIN_SENSOR); //HIGH : movimento detectado if(sinal == HIGH){ //aciona o Buzzer digitalWrite(PIN_BUZZER, HIGH); } //LOW : nenhum movimento detectado else{ //desativa o buzzer digitalWrite(PIN_BUZZER, LOW); } }
3 Comentários
boa tarde estou com problema em acionar 4 reles com o nodemcu ele não aciona os reles, estou utilizando também a base para ele ver 1.0,
ResponderExcluircoloquei as variáveis d1,d2,d3,d3
liguei o vcc do rele na entrada 5v do suporte e a gnd (tentei também com o node sem o suporte), quando ligo o rele ele acende os leds das portas dos reles mas quando aciono o comando do html nada faz. Teria como o senhor publicar um tutorial utilizando o nodemcu com rele acesso web? ou com o suporte obrigado . obs: rele 5v (daqueles kits de arduino classico).
Nos meus testes aqui notei que o sensor é alimentado a partir de 5V e o NodeMCU tem saída de até 3.3V aqui o que me parece não consegui alimentar o sensor de presença. Obrigado.
ResponderExcluirColoca a alimentação do sensor no VIN 5v
Excluir