Меню

Датчик запаха в туалете ардуино

Датчик запаха в туалете ардуино

Правильный датчик для туалета.

Автор: 3711, denis3711@gmail.com
Опубликовано 09.09.2016
Создано при помощи КотоРед.
Участник Конкурса «Поздравь Кота по-человечески 2016!»

Всем здравствуйте!
Коту валерьянки и долголетия, остальным схемы 🙂

В интернете имеется достаточно много схем автоматизации включения-выключения света в туалете. Кто-то устанавливает концевики на дверь, кто-то пытается прикошачить датчики движения и объема, встречались даже советы акустические датчики вешать. Все схемы, с которыми я встречался, имеют недостатки различной степени тяжести. Датчик движения требует движения, а иначе выключается, да и после выхода из помещения свет будет работать еще некоторое время. Концевые датчики предполагают неприкрытую дверь, что может быть чревато неприятными запахами. Меня заняться этой темой жизнь заставила. Жили мы в те давние времена в хрущевке , в которой, по странной причуде строителей, выключатель туалета находился не у туалета, а в прихожей, у входной двери. Так как кухня была маленькая, холодильник, естественно, стоял в прихожей. Ну а выключатель, по закону бутерброда, оказался над холодильником. Даже нам — взрослым людям, было неудобно каждый раз до него тянуться, ну а ребенку вообще не светило до него достать. Можно было бы перенести выключатель, но это же неправильный путь, слишком короткий. После достаточно долгих мучений была рождена гениальная схема на микроконтроллере ATTINY15, ИК датчике TSOP и ИК диоде. В прошивке контроллера было реализовано все, что я только смог придумать. Свет включался, выключался плавно, был реализован ночной режим с пониженной яркостью ну и др. ненужные вещи, которые тогда казались очень нужными. Сам датчик присутствия работал идеально, каплей дегтя оказался ночной режим, который нужно было включать — выключать вручную. Через некоторое время включать и выключать его надоело. Периодически ворочались мысли, что надо как-то этот процесс автоматизировать, но дальше размышлений дело не шло. Звоночек прозвенел примерно полгода назад, когда я наткнулся на модуль ESP8266. Вот оно, выход в интернет и синхронизация с NTP сервером для получения времени! Поначалу были сомнения, насколько надежно будет работать это китайское чудо. Могу ответственно заявить — работает как часы 🙂

Ну а теперь к делу. Датчик построен по принципу углового отражателя для ИК луча. Попытаюсь изобразить в виде комикса.

Сразу видны плюсы схемы: свет включается сразу, как только начинает открываться дверь и выключается, как только человек выйдет и дверь будет закрыта. Впрочем, для тех, кто забывает закрывать двери, предусмотрен таймер выключения света, время принудительного выключения задается в настройках. Включение-выключение света происходит плавно, скорость диммирования задается в настройках. Время включения-выключения и яркость ночного режима так же задается в настройках. По заданному алгоритму устройство синхронизирует внутренние часы через интернет. В настройках можно установить NTP сервер, часовой пояс и логин пароль для подключения к точке доступа. Настройка устройства производятся по Wi-Fi из браузера с компьютера или телефона. Вот так выглядит вэб интерфейс настроек:

Теперь обратимся к принципиальной схеме:
Первая часть схемы это DC-DC понижающий преобразователь на небезызвестной микросхеме mc34063. Собрано всё по схеме из даташита, останавливаться на схемотехнике нет смысла, в интернете всё расписано до мелочей. Готовые наборы деталей удобно выпаивать из старых Ethernet свитчеров и роутеров. Они в большинстве сделаны именно на этих микросхемах.

Читайте также:  Как работает датчик давления в шинах тигуан 2014

Так как у меня в туалете уже имеется блок питания на 12V, я остановился именно на таком варианте. Эта часть схемы может быть заменена на любой блок питания или стабилизатор с напряжением 3,3V и выходным током не менее 250-300ma. В обычном режиме модуль потребляет немного 15-20 ma, но в момент соединения с точкой доступа потребеление возрастает примерно до 200ma.
Вторая часть, собстно , сам модуль ESP8266 (в моем случае модель ESP-12E) с необходимой обвязкой и ИК датчиком. Ик датчик куплен в Китае, модель VS1838B. Работает хорошо, чувствительности хватает. Можно применять различные TSOP с любым частотным диапазоном. В конфигурации можно выставить частоту от 30-56кГц. При установке датчиков, отличных от VS1838B, проверяйте распиновку. Еще стоит обратить внимание на напряжение питания датчика. Не все смогут работать от 3,3V. Так же не ленимся устанавливать фильтр по питанию (R11, С4). Датчики очень чувствительны к помехам в линии питания.

К разъему «IK_DIOD» подключается Ик диод 🙂 Абы -какой здесь не подойдет, так как от его параметров зависит чувствительность (а значит и максимальное расстояние от ИК диода до ИК приемника). Нужен диод с длиной волны 940нм, и прямым током не менее 50ма. При указанном на схеме резисторе R9 на диод подается ток 37ма. Угол луча должен быть как можно уже. У меня работает диод «L-34F3C». Так как порт модуля ESP8266 требуемый ток выдать не может, добавляем транзистор Q1. Подойдет любой NPN с током не менее 100ma. Резисторы R10, R12, R13 установлены для защиты портов модуля от замыкания. Остальные резисторы нужны для корректной работы модуля ESP8266, без них модуль не работает. Разъем «Serial» для заливки прошивки и для общения с модулем через терминал. Подключение через USB-TTL преобразователь с поддержкой логических уровней 3,3V. Вся процедура очень неплохо описана вот здесь: https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
Разъем «OUT» это выход для управления светильником. В настройках предусмотрено два режима. Линейный ШИМ и экспоненциальный (для светодиодных лент). В моем случае работает линейный режим вот с таким диммером: https://radiokot.ru/circuit/power/converter/61/
Для подключения диодной ленты понадоится драйвер. См. схему ниже:

Частота ШИМ в обоих режимах примерно 1кГц.
Теперь немного про программную часть. Прошивка написана в среде Ардуино. У меня установлена актуальная на тот момент версия «1.6.8». Как прикошачить ESP8266 к ардуино описано вот здесь: https://geektimes.ru/post/271754/
Никаких сторонних библиотек в проекте не используется. Открываем в Arduino IDE файл «ik_sensor.ino» и дальше всё в ваших руках. На этапе придумывания программы я набросал для себя блок-схему. Программа получилась сложней и разветвлённей, но общие принципы понятны.

Конструкция:
Схема и печатная плата нарисованы в EAGLE версия 7.6.0 (на официальном сайте доступна freeware версия). Скачать схемы и прошивку можно в конце статьи, а сейчас фотографии. Лучше ж один раз увидеть… 🙂

Сборка и настройка:
Сначала необходимо спаять первую часть схемы с (DC-DC понижающий преобразователь). Если выходное напряжение отличается от 3.3V, подбираем резисторы R4, R5. После этого можно смело припаивать остальные элементы конструкции. Программирование модуля ESP8266 производим на полностью собранном устройстве. Ик диод желательно поместить в непрозрачную трубку. Меньше будет сифонить боковым светом и меньше получится световое пятно. Возможно плату ИК приемника придется дополнительно обложить с боков толстым картоном. Инфракрасный свет очень коварен и просвечивает многие, с виду не прозрачные, пластики. После установки нужно поймать углы ИК диода и приемника так, чтобы отраженный луч попадал точно на приемник при закрытой двери. Возможно потребуется подобрать резистор R9. От него зависит яркость ИК диода и соответственно максимальное расстояние от датчика до двери. При указанном номинале у меня это расстояние составляет 1,4 метра. При меньшем расстоянии номинал резистора необходимо увеличить.
Заливка прошивки производится при установленной перемычке между контактами 2 и 3 на разъеме «Mode». Перемычку нужно устанавливать при отключенном питании. При включении питания стартует bootloader и модуль ждет прошивку. После успешной прошивки питание отключается и перемычка убирается. Для входа в режим настройки необходимо замкнуть перемычкой или кнопкой контакты 1, 2 разъема «Mode». Лучше, если питание модуля в этот момент будет отключено. Можно замкнуть и при включенном модуле, но он не всегда корректно работает и может зависнуть. В случае успешного старта появляется точка доступа с именем «IK_Sensor». Настройку можно производить с любого компьютера или телефона с Wi-Fi на борту. Точка доступа открытая, пароль оставляем пустым. После подключения набираем в браузере адрес: 192.168.10.1/config.htm

Читайте также:  Датчик дмрв киа маджентис

Ну, и напоследок, о возможности дальнейшего развития датчика. Первое, что приходит на ум, собирать статистику посещения заведения. Информацию можно отсылать в базу данных, на локальный или интернет-сервер. Можно прикрутить дополнительные датчики (температура, влажность и т.д.) или организовать управление вентилятором. Для счастливых обладателей счетчиков воды с дистанционным считыванием можно организовать подсчет и передачу потребленных литров в базу данных. Еще можно использовать датчик в качестве элемента охранной системы. Если никого дома нет, то и свет включаться не должен. Предупреждающие сообщения можно отсылать на почту или в Telegram. Наверняка многие придумают еще множество необходимых плюшек. Ресурсов у модуля осталось еще много (память занята примерно на 25%). Исходный код программы прилагается. Если имеется опыт программирования микроконтроллеров, освоить ESP8266 будет не тяжело. Для меня это был первый опыт работы с данным модулем и первый вход в Ардуино. Всё получилось, дорогу осилит идущий.

Источник

Датчик запаха в туалете ардуино

Автоматизация в ванной и в туалете

Сообщение Divan » Ср авг 26, 2020 10:24 pm

Перенес тему из гермионой сети сюда, так как это обычная автоматизация, а не нейронная есть. Я немного упростил логику — лишнее убрал. Сделал новый бэкап — старый удалил.

Мой вариант автоматизации освещения в ванной и в туалете. Создал для своих нужд. Делюсь с вами своей идеей. Для того, чтобы получить доступ к сцене, нужно развернуть бэкап на тестовой платформе мажордом. Пробуйте, изучайте, делитесь своим опытом и вашими примерами. Пусть все наши примеры будут примером для других .

Бэкап от 26.08.2020 разворачивать на тестовой системе мажордом. Пин код 123456 для входа в панель управления majordomo. Скачать
здесь

Читайте также:  Принцип работы датчика избыточного давления

Вывел на панель информацию о состоянии свободно\занято. Так можно вывести светодиодную ленту над дверью, которая будет отображать статус свободно(зеленый цвет)\занято(красный цвет).

Принцип работы такой:
1) Открыли дверь, свет включился и вы не зашли, то через 10 секунд свет выключится.
2) Открыли дверь, свет включился и вы зашли в течение 10, то свет по прежнему горит.
3) Открыли дверь, свет включился и вы зашли после того, как погас свет — свет включится по датчику движения.
4) Открыли дверь, свет включился и вы зашли, закрыли дверь, свет не выключится до вашего выхода.
5) Открыли дверь, свет включился и вы зашли и вышли, не важно, закрыли или не закрыли дверь. Если в помещении не будет движения, то свет выключится через указанное вами время.

Заметки о свойстве InDoors
InDoors 0 — вас нет в помещении
InDoors 1 — вы в помещении
InDoors 2 — возможно вы останетесь в помещении или покинете помещение. Если вы все еще в помещении и движение зафиксировалось, то установится InDoors 1.

Источник

Автоматизация смыва унитаза на Arduino + Z-Wave

Что может быть общего между двумя этими объектами?

Однажды я задумал приучить кота к унитазу, с целью избавиться от неприятного запаха, исходящего от его лотка. Но приучить его ходить — это одно, а вот спускать за собой — задача почти невыполнимая. Поэтому я решил возложить это на электронные плечи, в роли которых выступает Arduino Nano.

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

Оборудование и тесты

К плате были подключены сервомашинка Towerpro MG996R, Z-Wave реле Fibaro FGS221 и кнопка со светодиодом. Кнопку добавил в качестве бонуса параллельно реле и вывел ее на стену.

По факту сервомашинка питается от БП 5V 2A. От него же запитана плата по USB.

Задержка равна периоду полной перезарядки бачка водой.

Реализация

Так как во время ремонта была установлена инсталляция от Geberit, то подключение тяги не составило большого труда. Сервомашинка поставлена враспор между бачком и алюминиевым профилем, прикручена и залита термоклеем. В качестве тяги был использован тросик с зажимами, который пропущен через отверстие в бачке. Гибкая тяга нужна была, чтобы не потерять возможность спуска воды кнопкой на бачке.

Электронная часть размещена в распаячных коробках за инсталляцией.

Ручное управление может осуществляться как кнопкой, так и через приложение для Fibaro HomeCenter.

Используется два режима спуска:

    При коротком нажатии ( Демонстрация работы устройства

Задержка срабатывания вызвана тем, что приложение работало в режиме удаленного доступа через сервера fibaro.

Заключение

К сожалению, котэ на видео не будет, так как он съехал, а желание реализовать задуманное у меня осталось.

Источник

Adblock
detector