ESP8266:Примеры/Использование ESP8266 вместе с компактным PIR-датчиком: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{ESP8266 панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} {{Черновик}} =Использование ESP8…») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 2: | Строка 2: | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Использование ESP8266 вместе с компактным PIR-датчиком<ref>[https://blog.squix.org/2016/05/esp8266-peripherals-mini-pir-motion-sensor.html blog.squix.org - ESP8266 Peripherals: Mini PIR Motion Sensor]</ref>= | =Использование ESP8266 вместе с компактным PIR-датчиком<ref>[https://blog.squix.org/2016/05/esp8266-peripherals-mini-pir-motion-sensor.html blog.squix.org - ESP8266 Peripherals: Mini PIR Motion Sensor]</ref>= | ||
Строка 30: | Строка 28: | ||
Затем скопируйте код, показанный ниже, в [[IDE Arduino]] и загрузите его на плату [[NodeMCU]], подключенную к компьютеру: | Затем скопируйте код, показанный ниже, в [[IDE Arduino]] и загрузите его на плату [[NodeMCU]], подключенную к компьютеру: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
int oldValue = 0; | int oldValue = 0; | ||
Строка 80: | Строка 78: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/ESP8266}} | |||
[[Категория:ESP8266]] | [[Категория:ESP8266]] |
Текущая версия от 12:35, 18 июня 2023
Использование ESP8266 вместе с компактным PIR-датчиком[1]
А не хотите собрать систему, способную определять человеческое присутствие? Это можно сделать разными способами, но один из самых популярных – это использование пироэлектрического датчика, который также называют пассивным инфракрасным (на англ. «passive infrared» или просто «PIR») датчиком (более подробно о них можно почитать в Википедии). Датчик, о котором я расскажу в этой статье – это тоже PIR-датчик, но компактный и с поддержкой 3,3-вольтовой логики, что отлично подходит для использования с ESP8266.
Функции
- Рабочее напряжение – от 2,7 до 12 вольт (постоянный ток)
- Энергопотребление (по моим измерениям) – 0,016 мА (в течение 2 секунд после обнаружения источника движения) и 0,076 мА (когда датчик в активном состоянии)
- Время задержки – обнаружив движение, датчик будет держать выходной контакт в состоянии HIGH в течение 2 секунд
- Угол действия – около 100 градусов
- Дальность действия – около 2 метров
- Размеры – примерно 12 на 25 мм
Как использовать вместе с ESP8266?
Этот датчик может работать с 3,3-вольтовой логикой, поэтому совместим с ESP8266. У него всего три контакта – один для входного напряжения (Vin), один для «земли» (GND) и один для вывода данных (Data). Подключение к плате NodeMCU можно выполнить следующим образом:
То есть, контакт Vin на PIR-датчике – к контакту 3.3V на плате (слева), контакт Data – к контакту D2 (посередине), а контакт GND – к контакту GND (справа).
Затем скопируйте код, показанный ниже, в IDE Arduino и загрузите его на плату NodeMCU, подключенную к компьютеру:
int oldValue = 0;
void setup() {
// блок setup() предназначен для исходных настроек,
// поэтому проходит всего один цикл:
pinMode(D2, INPUT_PULLUP);
Serial.begin(115200);
}
void loop() {
int value = digitalRead(D2);
if (value != oldValue) {
Serial.println("New Value: " + String(value));
// "Новое значение: "
oldValue = value;
if (value == 1) {
Serial.println("##########################");
}
}
delay(100);
}
Теперь, если датчик определит движение, то отправит соответствующие данные на монитор порта IDE Arduino.
Область применения
Тот факт, что этому датчику не нужны никакие дополнительные компоненты, делает его применимым в самых разнообразных ситуациях. Будучи активным, он потребляет 0,076 мА, а в течение 2 секунд после обнаружения движения энергопотребление и вовсе падает до 0,016 мА. Таким образом, теоретически этот датчик может работать на 1200-миллиамперной батарее около 2 лет. Более того, если смастерить более продвинутую цепь, то подав на контакт CH_EN (т.е. «chip enable», что значит «включение устройства») чипа ESP8266 значение LOW, вы тем самым переключите датчик в режим «ультраглубокого» сна, из которого датчик будет пробуждаться лишь при обнаружении движения. Более подробно о том, как это сделать, можно почитать тут.
Вот так будет выглядеть схема для этого продвинутого проекта. Правда, я ее еще не пробовал.
Преимущества и недостатки
- Плюсы:
- Низкая цена
- Компактность
- Простой интерфейс
- Широкий диапазон входного напряжения (удобно при использовании вместе с ESP8266)
- Минусы:
- Короткая дальность действия (хорошие результаты лишь в пределах 2 метров)
См.также
Внешние ссылки
ESP8266 AT-команды | |
---|---|
Список AT-команд | |
Базовые команды |
|
Команды для WiFi |
|
Команды для TCP/IP |
|