Pull to refresh

Пустите кошку в туалет или как мы изобрели новое устройство

Level of difficultyEasy
Reading time5 min
Views12K
Когда pet-проект действительно pet
Когда pet-проект действительно pet

Всем привет, меня зовут Саша и у меня не так давно появилась кошка. Как известно, кошка в доме появляется не одна, а с лотком. Лоток обычно ставят в туалете (запах, сами понимаете) и я не стал исключением. И вот после этого я столкнулся с проблемой…

Проблема

Чтобы кошка могла сходить по своим делам в лоток (а не куда придется) дверь в туалет должна быть приоткрыта. Если после посещения уборной забыл про это — могут быть проблемы. Хорошо, если ты остался дома и кошка мяукнет. Хотя моя почему-то так не делает, а просто решает найти себе новый туалет… 

В общем появилась у меня еще одна тревога — забыть приоткрыть дверь. 

А помимо меня (и кошки) в доме еще есть жена, ребенок, тёща. Иногда приходят друзья, приезжают родственники. И им тоже необходимо объяснять о том, что дверь в туалет нужно оставлять приоткрытой.

Варианты решения

Идею с выпиливанием в двери небольшого прохода я отмел сразу т.к. не хочу портить дверь.

Временным решением было установить на дверь защиту от защемления, которая осталась с тех времен, когда ребенок был маленький.

Детская защита от защемления
Детская защита от защемления

Это позволило защититься от случайного закрытия двери проходя рядом, но добавила лишних телодвижений: при посещении уборной нужно защиту снять, а после выхода обратно установить на дверь. Неудобно. 

Первым делом я стал думать в сторону автоматизации и умного дома, но … не встретил варианта который бы мне понравился. Существует интересный датчик открытия двери с датчиком света от Ксяоми. Казалось бы — вот то, что нужно! Но я не нашел нужного мне сценария автоматизации. К тому же для этого датчика нужен хаб. И что-то для оповещения именно в квартире т.к. просто уведомление мне на телефон не подходит — я могу находится не дома, а звонить домой со словами “дорогая, кто-то забыл приоткрыть дверь для кошки” не очень красивое решение.

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

Первый прототип

Имеем ТЗ: сделать устройство, которое будет следить за дверью и за светом, если дверь закрыта и свет выключен — истошно кричать подавать звуковой сигнал.

Зачем следить за светом? Чтобы устройство не срабатывало, когда вы сами пойдете в туалет и закроете дверь. Благо привычка выключать свет выходя из туалета приобретена уже давно.

Сделать я решил на базе платы Arduino т.к. есть небольшой опыт работы с ней.

Получается нужно понимать: 1) включен ли свет и 2) приоткрыта ли дверь. Если с первым проблем никаких и решается простым фоторезистором, то со вторым пришлось поэкспериментировать.

Первое, что мне пришло в голову, так это использовать ИК датчик препятствий.

Стоит копейки, работает неплохо, можно настроить чувствительность.
Стоит копейки, работает неплохо, можно настроить чувствительность.
При закрытой двери датчик видит препятствие
При закрытой двери датчик видит препятствие

Что понадобилось: Arduino Nano, фоторезистор, резистор 10 кОм, датчик препятствий, зуммер (попросту пищалка), батарейный блок (АААх3) и выключатель.

Схема подключений
Схема подключений

Корпус напечатал на 3Д принтере. Получилось вот такое устройство:

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

Немного поигравшись с настройкой чувствительности датчика препятствий все заработало! Но радость была недолгой — примерно через день сели батарейки.

Второй прототип

После этого стало понятно, что нужно что-то делать с энергопотреблением.

Стал изучать тему с засыпанием Arduino и понял, что для экономии мне нужно добавить датчик вибрации. Его часто используют в охранных системах.

Датчик вибрации
Датчик вибрации

Идея такова: кто-то трогает дверь (открывает или закрывает) — срабатывает датчик вибрации — Ардуино просыпается. После нескольких секунд работы снова засыпает.

Идея оказалась рабочая и теперь устройство проработало … около месяца и батарейки опять кончились.

Третий прототип

Следующая идея — заменить датчик препятствия и датчик вибрации на простой микропереключатель (или просто микрик). 

Микропереключатель
Микропереключатель
При закрытой двери устройство включается
При закрытой двери устройство включается

Смысл такой: при закрывании двери микрик нажимается дверной коробкой и устройство оживает. Идея мне очень понравилась, устройство стало проще, правда времени жизни на одних батарейках осталось плюс-минус тем же…

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

Разработка своей платы и четвертый прототип

На помощь мне пришел мой давний хороший друг Алексей, который силен в схемотехнике. Он предложил сделать свою плату на простых компонентах не прибегая к помощи микроконтроллера.

Удивительно, но самым сложным оказалось реализовать прерывистый затухающий сигнал на зуммере. Было несколько вариантов, но мы остановились на использовании операционных усилителей для реализации затухающего сигнала (приятно звучит). Если кому-то интересна схемотехника, то рекомендую видео, где приведена схема похожего устройства и объясняется весь принцип работы. 

Моделирование сигнала на зуммере
Моделирование сигнала на зуммере

Через н-ое количество времени схема была готова и на моделировании все работало как надо. Осталось заказать платы. Если раньше процесс заказа был прост, то в нынешних реалиях пришлось потратить много усилий, чтобы найти китайскую фабрику которая работает с нашей страной.

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

Усилия не прошли даром и через полтора месяца долгожданные платы к нам пришли.

Первая своя плата! Справа от батареек регулировка порога срабатывания.
Первая своя плата! Справа от батареек регулировка порога срабатывания.
Плата в корпусе, но без крышки
Плата в корпусе, но без крышки
С крышкой
С крышкой
Сравнение габаритов версий: Слева 3-й прототип (на основе Ардуино), справа 4-й (своя плата).
Сравнение габаритов версий: Слева 3-й прототип (на основе Ардуино), справа 4-й (своя плата).

И вот устройство собрано, провода припаяны и … оно не работает 🙁

Точнее работает не так как ожидалось. Видно, что фоторезистор срабатывает, но зуммер не выдает нужный сигнал. Тут то мы и поняли, что моделирование это одно, а суровая реальность это другое. Капитулирен? Нихт!

Новая плата и пятый прототип

В новой версии мы решили отказаться от операционных усилителей и сложного сигнала на зуммере, а сделать схему на основе таймера NE555 и использовать активный зуммер. Для этого пришлось перейти на питание 6 В и на батарейки CR2032 (“таблетки”).

На этот раз перед заказом плат мы собрали на столе макет и проверили на практике работу — все работало как надо.

Итоговый сигнал на зуммер (как мы и хотели)
Итоговый сигнал на зуммер (как мы и хотели)

Также удалось еще немного уменьшить габариты платы и, соответственно, устройства. Далее уже по привычной схеме — заказываем платы, чуть более месяца ожидания и они у нас.

Новая партия плат
Новая партия плат
Новая версия стала еще меньше по габаритам
Новая версия стала еще меньше по габаритам

Снова собираем, устанавливаем, проверяем и … оно работает! 

Энергопотребление в режиме работы (при закрытой двери и включенном свете) составило около 0,15 мА, что очень хорошо. Время работы от одних батареек при использовании по 2 часа в день по расчетам около 3-х лет! Более чем достаточно.

Итог

В результате с 5-й попытки нам удалось сделать рабочее устройство. Прожив с ним какое-то время, могу сказать, что оно пригождается чуть ли не каждый день.

Устройство назвали WCat (от WC — туалет и Cat — кошка).

Кому интересна дальнейшая судьба этого устройства, приглашаю в наш телеграм-канал. Спасибо за внимание!

Tags:
Hubs:
+29
Comments41
2

Articles