Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Передавать сигнал с pir-датчика на esp только, когда темно.

Пт авг 26, 2022 01:01:18

Мастерю поделку, типа ночной подсветки при обнаружении движения (я знаю, что на Али готовых куча за сто рублей :)) )
ESP8266 (ESP12-e), обычно находится в light sleep, пока не поступит сигнал с PIR-датчика. Питается это от батареи 18655 через MCP1700-3302E.

Чтобы днём освещение не включалось, думал, будет анализироваться освещенность через apds9960, и если светло, освещение включаться не будет. Но! Получается, днём ESP8266 будет по тыщще раз просыпаться по движению, анализировать освещенность и снова засыпать, что будет кушать батарею.
Во сне-то потребляет 0.5 мА, а при пробуждении уже 65 мА.

И вот не пойму, как поизящнее решить эту проблему.
В схемотехнике я вообще не силен, но, может, можно как-то фоторезистором и транзистором как-то "пропускать" сигнал HIGH на пин esp8266 только при низкой освещенности?
Программно-то можно решить по-разному, но, как я выше сказал, с жором батареи.

"Скомпилировалась" вот такая схема (см. приложение :) ), но в номиналах совсем не уверен. Как, впрочем, и вообще в схеме. :)))

Изображение

Но есть один минус в подобном решении - я хотел, чтобы параметры, в том числе и порог освещенности для включения подсветки задавался в веб-интерфейсе (городить так городить). А, ну хотя apds9960 у меня всё равно будет, он будет управлять и этим порогом, а эта схемка будет просто пропускать сигнал от pir-а "когда уже не очень светло".

План "Б" - эту схему не городить, а спать esp-шке, например, с 8 утра до 12 ночи, а с 12 ночи до 8 утра спать до пробуждения pir-ом. Но пока не копал, возможен ли комбинированный режим сна.
Вложения
photores.jpg
(112.7 KiB) Скачиваний: 275

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 14:41:55

Я тут подумал - а может, я усложняю? Если мне нужно, чтобы при высоком уровне освещения на фоторезисторе сигнал "HIGH" не приходил на ногу проца ESP, достаточно притягивать эту ногу к земле при высокой освещенности? Может, тогда просто хватит транзистора или чего-то подобного? Как проще?

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 15:11:31

астрономические часы и датчик нафиг не нужен.
Без астрономических часов не нужен ESP, достаточно NE555, или даже транзистора с RC

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 16:28:25

Наверное, да, так проще.
Только не уверен, как сделать "спать, не просыпаясь днем"

По сигналу у меня так:
Код:
void sleepNow() {
  wifi_station_disconnect();
  wifi_set_opmode(NULL_MODE);
  wifi_fpm_set_sleep_type(LIGHT_SLEEP_T);
  gpio_pin_wakeup_enable(GPIO_ID_PIN(PIR_PIN), GPIO_PIN_INTR_HILEVEL);
  wifi_fpm_open();
  delay(1000);
  wifi_fpm_set_wakeup_cb(wakeupFromMotion); //wakeup callback
  wifi_fpm_do_sleep(0xFFFFFFF);
  delay(1000);
}

void wakeupFromMotion(void) {
  wifi_set_sleep_type(NONE_SLEEP_T);
  gpio_pin_wakeup_disable();
  wifi_fpm_close();
  wifi_set_opmode(STATION_MODE);
  wifi_station_connect();
  Serial.println("Woke up from sleep");

}

То бишь утром запускаю другую функцию, без gpio_pin_wakeup_enable, с wifi_fpm_do_sleep(43200 * 1000), например?

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 16:53:02

Честно говоря, я не понимаю всю задачу и вопроса.
Может, имеет смысл рассказать обо всём проекте? Потому что непонятно, зачем и каким боком здесь фай-вай и микроконтроллер. Включение света по пир-датчику и в зависимости от внешнего света делается без мк. Если всё-таки прям хочется пушкой по мухе, то от датчика пир заводится сигнал на прерывание. Мк спит. прерывание от пир его будит. мк опрашивает датчик освещения, тот говорит - охрененно, светло. Мк засыпает. Или датчик освещения говорит - темно. Мк запускает таймер на 10 минут, включает свет и засыпает. По срабатыванию таймера мк просыпается, выключает свет, засыпает. Ну, если так умеет. Если не умеет - значит, не спит 10 минут, считает.
Всё.
И почему Вас беспокоит просыпание днём? Это полностью батарейное решение, что ли, и надо выжать максимум экономичности? Тогда выбор мк неверен, если вай-фай не нужен. А если не батарейное, то ну проснулся он, ну тут же и заснул. Нестрашно.

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 17:19:20

Я тоже как бы не очень понимаю, зачем для столь пустяговой задачки приплетать ажно еспшку с огромным током потребления.. Совместите датчик освещенности и датчик движения, и таймер NE555 для выдержки времени, и будет вам "включать только когда темно".

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 17:37:05

Да просто решил сделать подсветку по движению со всякими плюшками, типа включения, например, кроваво-красной подсветки на пятницы, 13-е и Хэллоуин, а разноцветной на Рождество.
Увеличением яркости жестом, если хочется ночью на кухне бутер съесть. Заданием времени отключения после пропадания движения через веб-интерфейс. А то люблю, понимаете ли, стоять неподвижно иногда. Да и, наконец, лишние ESP 12E валяются. :)))

Потребляет в light sleep esp-шка немного, и даже спорить не хочу, много это или нет. Это немного для данного проекта, когда основной потребитель - светодиоды подсветки, которые минут 5 в день будут есть, например, 500 мА.

В конструкции PIR AM312, ESP 12E, питание от батареи 18655 через MCP1700-3302E, но и при наличии движения пробуждает и 5-вольтовое питание от этой же батареи. Платка MH-CD42 (IP5306), в качестве зарядки и источника 5в для светодиодов. Еще apds9960 для жестов и оценки освещенности при пробуждении.
Четыре сервы. (Шутка) :lol:

Хочется, чтобы ESP днём спала, а ночью ждала движения, подрёмывая. С подрёмыванием разобрался, осталось понять, как правильно хотя бы на дневное время её усыпить light sleep-ом.

Почему хотел заморочиться ещё с фоторезистором и ключом - потому что если дрыхнуть по часам, то днем, если вдруг наступит тьма, бутерброд при свете не съесть.
А! Кстати, по часам я ж могу завести ногу INT - вывод внешнего прерывания apds9960 на другой вход ESP. Ночью просыпается от PIR, днём, если что, от махания рукой перед apds9960.

Хотя мне что-то подсказывает, что если вдруг днём наступит ночь, будет не до бутерброда. :shock:

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 20:28:44

Именно кроваво-красная пятница? Не просто красная, а именно кровавая? Хм. "Ночь длинных ножей" прямо-таки (это из истории, 1934 год).
Как водится, мечтаний и хотелок в начале много. Через пару-тройку недель половина хотелок отпадет, а еще через неделю останется только кнопка "вкл/выкл" :)

Кстати, PIR-датчик, это сокращение от "пассивный ИК-датчик", то есть, это по сути тепловизор, а не отражатель ИК-света. А вот APDS-9960 представляет собой счетверенный приемник отраженного ИК-света и RGB-сенсор освещенности.

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 22:25:49

MLX90640 писал(а):Через пару-тройку недель половина хотелок отпадет, а еще через неделю останется только кнопка "вкл/выкл"

О! Переключатели купил на ЧипоДрипе https://www.chipdip.ru/product/smrs-101-2c3-w-w, прикольные, маленькие!
Так что у меня есть пути к отступлению! :))

Я называю его "пердатчиком", но я неправ. "Пердатчик" - это, скорее, датчик метана.
С APDS-9960 у меня обычно проблемы, что его длина волны через акрил не проходит, надо какое-то окошко делать, вот хочу попробовать через стеклянные накладки объективов смартфонов с Али. Хотя с Али там тоже пластик. :))

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 22:35:47


За полторы сотни можно взять три-четыре стекла для любого лопатофона, а из них уж аккуратно нарезать нужного размера. Или, если размер небольшой, есть готовые покровные стекла для препаратов.
Что до датчика, то неудобно ведь по таймеру вырубать. Правильней концевики настроить, чтобы МК еще и осознавал, что человек внутри. И не вырубал свет, пока он не выйдет. Это я просто вспоминаю, как 3 года назад в гостинице в Ереване в сортир ходил с книжечкой. Задолбался руками махать!
Кстати, если выкинуть лишнюю электронику из датчика движения, можно и без концевиков или лазерных детекторов обойтись: в этом случае будет не сигнал увеличения на определенный порог на МК приходить (что кто-то вошел), а нормальный аналоговый сигнал. И спокойно можно обрабатывать: медленно возрастает → солнышко понемногу увеличивает освещенность, быстро → человек вошел; быстро снизился уровень → человек ушел… Вместо голимой еспшки взять какой-нибудь маложрущий МК. Ну, а вообще, ведь все равно оно свет врубает! Почему бы тупо не купить за 30р блок питания 230 переменки в 5 постоянки и не питать этим? Тогда вообще не надо париться о режиме сна. Я себе по десятку таких мелких блочков купил: 5В 0.7А, 5В 1А, 5В 2А, 12В 1А и 12В 2.5А... Можно прямо в распределительную коробку упихать всю электронную начинку.

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Пт авг 26, 2022 23:24:02

Про стекла не думал, спасибо за мысль. С покровными стеклами когда-то работал. :)
Но не понимаю, где настроить концевики. А, заморачиваться с пересечением луча при входе-выходе? Но это не везде эстетично.
Вроде как бывают датчики движения, а бывают датчики присутствия. И вроде как грамотно комбинировать одно с другим. Но что за датчики присутствия и применимы ли они к самоделке в одной и той же коробке, не знаю.

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Сб авг 27, 2022 09:45:44

Проложить гидравлику с датчиками давления под полом.
Сеть трубочек в коих некая жидкость передает давление со стенок трубочек на датчики.
Воть и готово - перепад давления точно покажет где и сколько "объекта" в данный момент лазит.
(когда-то о сигнализации на этом принципе статья где-то была).
8)

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Сб авг 27, 2022 14:53:18

Не, ну если весь ламинат снимать, то можно просто датчики давления поставить. Или даже лучше ёмкостные. :))

Re: Передавать сигнал с pir-датчика на esp только, когда тем

Сб авг 27, 2022 15:01:39

4 тензо-датчика по углам пола и 1 в центре, наверное, тоже позволят координату определить.

Калибровать придётся всё время, если в шкафах содержимое изменять
Ответить