Skip to content

Instantly share code, notes, and snippets.

@tashima42
Created August 10, 2018 17:32
Show Gist options
  • Save tashima42/5d4c495c0877293ccb6f84d407f8a02b to your computer and use it in GitHub Desktop.
Save tashima42/5d4c495c0877293ccb6f84d407f8a02b to your computer and use it in GitHub Desktop.
Alarme caseiro feito com nodemcu esp8266 e HC-SR04
// Codigo feito por Pedro Tashima, com inspiracao no de Abhrodeep Chanda (https://www.youtube.com/channel/UCzW9WY9u_T-Xdsd2TKIvfmw)
#include <ESP8266WiFi.h>
#include <ESP_Notify.h>
// define as variaveis
long duracao;
int distancia;
int distanciasegura;
//definindo wifi
const char* ssid ("SEU_SSID"); //SSID da sua rede (0 nome dela)
const char* pswd ("SUA_SENHA"); //Senha da sua rede
//id do seu celular
#define DEVICE_ID "D0dXcLSc2TCeIskQXAVTFJnfmOAhoRFkV8tIlE88ARG9iaqnPyhMbDfh6MV-Qbx-LQY4chX9jE4PI6xGAX4rfybztwC1uB5AsoF6BUk8FFkhLclcFc0jsSmS29LfY7N_UYHWDZEnbL3Q"
/////////////////////////////////////////////////////////////////////////
ESP_Notify notifier;
// numeros
const int trigPin = D0;
const int echoPin = D1;
//const int ledPin = D2;
void setup() {
pinMode(trigPin, OUTPUT); // Define trigPin como uma saida
pinMode(echoPin, INPUT); // deifne echoPin como uma entrada
// pinMode(ledPin, OUTPUT); // Define ledPin como saida
Serial.begin(9600); // Comeca o Serial Monitor
WiFi.begin(ssid, pswd); //inicia a conexao com o wifi
}
void loop() {
// Limpa o Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Deixa o trig em HIGH por 10 microsegundos
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Le o echopin
duracao = pulseIn(echoPin, HIGH);
// calculando a distancia
distancia = duracao * 0.034 / 2;
distanciasegura = distancia; //define a constante distancia segura = a distancia
if (distanciasegura <= 90) { //mude a seu gosto
// digitalWrite(ledPin, HIGH); //liga o led
notifier.sendNotification(DEVICE_ID, "ALARME!", "O sensor detectou movimento"); //envia a notificacao para o app, mude o texto a seu gosto
}
else {
// digitalWrite(ledPin, LOW);
}
distanciasegura = distancia;
if (distanciasegura >= 110) { //caso a distancia fique maior que a desejada, tambem ativa o alarme
// digitalWrite(ledPin, HIGH);
notifier.sendNotification(DEVICE_ID, "ALARME!", "O sensor detectou movimento"); //envia a notificacao para o app, mude o texto a seu gosto
}
// Mostra a distancia no monitor serial
Serial.print("Distancia: ");
Serial.println(distancia);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment