Оглавление:
Все сталкивались с ситуацией, когда идете и в определенном месте автоматически включается свет. Это становится возможным из-за детекторов движения. Датчик обнаружения движения PIR является одним из самых популярных и доступных для использования. Это пассивный инфракрасный датчик, который работает с небольшой мощностью и обычно используется в охранном оборудовании и автоматических системах освещения.
Здесь мы преобразуем детектор PIR в датчик движения IoT (элемент системы умный дом). Он отправит уведомление на мобильный телефон, когда обнаружит движение. Расстояние между датчиком и телефоном не будет ограничением, потому что все работает через интернет.
Подключение устройства
- Подключите датчик PIR и GND ESP 01 к минусу источника питания.
- Подключите VCC ESP 01 и датчик PIR к 3,3 В источника питания.
- Подключите 2-й контакт GPIO ESP к OUT датчика PIR.
Когда закончите с аппаратным подключением, пришло время установить приложение на смартфон и предпринять дальнейшие шаги.
Нужно сначала зарегистрироваться на сайте IFTTT, чтобы создать апплет, далее установите приложение IFTTT. Войдите в приложение используя свои учетные данные пользователя после загрузки. И предоставьте все запросы на разрешения.
Работа детектора
Теперь используйте FTDI или Arduino в качестве преобразователя USB в TTL, чтобы загрузить код на устройство ESP8266-01. Как только цепь подключена, включите модуль.
Когда калибровка датчика PIR будет завершена, светодиод на плате погаснет через 30 секунд. Теперь при обнаружении движения начнет светиться светодиод и на телефон будет отправлено push-уведомление с сообщением «Обнаружено движение».
Код Ардуино
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>const char* ssid = “*****”; //Your WiFI ssid
const char* password = “*****”; //Your WiFi password
boolean PIRstate ; //variable to store PIR state
boolean lastPIRstate = HIGH;
int PIR = 0; //PIR connected to GPIO 0void setup () {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
}pinMode(PIR, INPUT); //digitalWrite(PIR, LOW);
pinMode(LED_BUILTIN, OUTPUT);
delay(30000);
}
void loop()
{PIRstate = digitalRead(PIR); //HIGH when motion detected, else LOW
if (PIRstate != lastPIRstate) //Checking if there is any motion
{digitalWrite(LED_BUILTIN, LOW);
delay(100);
digitalWrite(LED_BUILTIN, HIGH);
if (WiFi.status() == WL_CONNECTED) //Check WiFi connection status
{
HTTPClient http; //Declare an object of class HTTPClienthttp.begin(“paste the link from ifttt”); //Specify request destination
http.GET(); //Send the request
http.end(); //Close connection}
lastPIRstate = PIRstate;
}}
Применение датчика
Используется схема прежде всего в системах безопасности и автоматизации, но можно и для других целей, где требуется удаленный контроль.
Ваше мнение: