Автоматическая кормушка для аквариума. Кормушка для аквариумных рыб на базе Arduino Arduino кормушка для кошек
В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.
Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).
Итак, начнем с концепции и целей:
На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.
Системы кормления так или иначе содержат некоторый контейнер, в котором лежит сухой корм, и вращающийся механизм, дозирующий его количество. Изучив опыт других "изобретателей", я бы выделила три основных механизма:
ольно бюджетный вариант. Но не для таких как я - самостоятельно все спроектировать, вырезать и ровненько соединить требует другого уровня аккуратности.
Все материалы, которые мне были нужны для сборки кормушки на первом этапе:
- Стеклянная банка
- ArduinoUno
- MicroServo (у меня разрешенный угол поворота 180, но это не принципиально)
- кусок пластика
- магниты
- пины для соединении платы с серводигателем
- Usb зарядка на 5V
Логика работы механизма проста: в крышке банки делается дырка типа сектор (центр крышки не вырезается), такой же сектор вырезается из пластмассы. Внутрь крышки прикрепляется серводвигатель, например, скотчем. На ось двигателя насаживается сначала крышка, а с внешней стороны вырезанный сектор. Так, при повороте оси серводвигателя вырезанный сектор смещается относительно дырки в крышке банки.
Также надо не забыть сделать дырочку под вывод провода серводвигателя наружу для подключения к плате. На шаге 1 кормежка происходит по таймеру, кот у меня не обжора, поэтому открытие сектора происходит раз в день на короткое время, ниже код для Arduino:
#include
Для крепежа банки к стене я использовала вот такие магниты, каждый на 4кг (мне кажется лучше использовать более мощные). К банке магниты крепятся просто клеем, к стене - винтами.
Плата прикреплена к банке при помощи такой липучки, ее удобно снимать и крепить обратно. Липучка такая продается в любом хозяйственном, используется для крепежа картин.
Поскольку у меня единственным внешним модулем является серводвигатель, то дополнительного питания не надо, достаточно запитать плату, ее можно подключить напрямую к сети через usb зарядку на 5V.
Вот как все выглядит в собранном состоянии:
http://habrahabr.ru/https:/docs.google.com/drawings/d/sZPzsxkEnz9YKjsg006HPBA/image?w=320&h=311&rev=7&ac=1
"Ниже я набросала несколько идей дальнейшего развития кормушки, их много и пока непонятно, что именно будет делаться дальше, эта часть для обсуждения.
- установка датчиков движения, фотографирование кота в тот момент, когда он появляется в зоне видимости. Интеграция датчика веса и датчика движения позволяет определять, когда кот просто прогуливается мимо кормушки, а когда пришел покушать. Соответственно, можно прикрутить аналитику, когда котэ предпочитает кушать и как много.
- можно добавить датчик веса в сам контейнер с кормом, чтобы кормушка определяла момент, когда становится пустой и присылала предупреждение хозяину, что, мол, пусто, надо пополнить. Потом, как вариант, прикрутить возможность автозаказа корма с любимого сайта с доставкой.
- Можно добавить возможность кормушки работать на двух котов:
- Либо это будут две разные кормушки, каждая из которых умеет отпугивать “чужого” кота
- Либо это одна, но как-то модифицированная
- Надо подумать как реализовать поилку и синтегрировать ее с кормушкой, добавить систему фильтрации.
Надеюсь кому-то это будет полезно.
8 августа 2017 в 09:43Умная автоматическая кормушка для питомца на базе Arduino – ШАГ 1
- Программирование микроконтроллеров
- Tutorial
В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.
Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).
Итак, начнем с концепции и целей:
- Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)
- Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)
- Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)
На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.
Системы кормления так или иначе содержат некоторый контейнер, в котором лежит сухой корм, и вращающийся механизм, дозирующий его количество. Изучив опыт других "изобретателей", я бы выделила три основных механизма:
Все материалы, которые мне были нужны для сборки кормушки на первом этапе:
- Стеклянная банка
- ArduinoUno
- MicroServo (у меня разрешенный угол поворота 180, но это не принципиально)
- кусок пластика
- магниты
- пины для соединении платы с серводигателем
- Usb зарядка на 5V
Логика работы механизма проста: в крышке банки делается дырка типа сектор (центр крышки не вырезается), такой же сектор вырезается из пластмассы. Внутрь крышки прикрепляется серводвигатель, например, скотчем. На ось двигателя насаживается сначала крышка, а с внешней стороны вырезанный сектор. Так, при повороте оси серводвигателя вырезанный сектор смещается относительно дырки в крышке банки.
Также надо не забыть сделать дырочку под вывод провода серводвигателя наружу для подключения к плате. На шаге 1 кормежка происходит по таймеру, кот у меня не обжора, поэтому открытие сектора происходит раз в день на короткое время, ниже код для Arduino:
#include
Для крепежа банки к стене я использовала вот такие магниты, каждый на 4кг (мне кажется лучше использовать более мощные). К банке магниты крепятся просто клеем, к стене - винтами.
Плата прикреплена к банке при помощи такой липучки, ее удобно снимать и крепить обратно. Липучка такая продается в любом хозяйственном, используется для крепежа картин.
Поскольку у меня единственным внешним модулем является серводвигатель, то дополнительного питания не надо, достаточно запитать плату, ее можно подключить напрямую к сети через usb зарядку на 5V.
Вот как все выглядит в собранном состоянии:
Ниже я набросала несколько идей дальнейшего развития кормушки, их много и пока непонятно, что именно будет делаться дальше, эта часть для обсуждения.
- установка датчиков движения, фотографирование кота в тот момент, когда он появляется в зоне видимости. Интеграция датчика веса и датчика движения позволяет определять, когда кот просто прогуливается мимо кормушки, а когда пришел покушать. Соответственно, можно прикрутить аналитику, когда котэ предпочитает кушать и как много.
- можно добавить датчик веса в сам контейнер с кормом, чтобы кормушка определяла момент, когда становится пустой и присылала предупреждение хозяину, что, мол, пусто, надо пополнить. Потом, как вариант, прикрутить возможность автозаказа корма с любимого сайта с доставкой.
- Можно добавить возможность кормушки работать на двух котов:
- Либо это будут две разные кормушки, каждая из которых умеет отпугивать “чужого” кота
- Либо это одна, но как-то модифицированная
- Надо подумать как реализовать поилку и синтегрировать ее с кормушкой, добавить систему фильтрации.
Надеюсь кому-то это будет полезно.
- Tutorial
В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.
Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).
Итак, начнем с концепции и целей:
- Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)
- Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)
- Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)
На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.
Системы кормления так или иначе содержат некоторый контейнер, в котором лежит сухой корм, и вращающийся механизм, дозирующий его количество. Изучив опыт других "изобретателей", я бы выделила три основных механизма:
Все материалы, которые мне были нужны для сборки кормушки на первом этапе:
- Стеклянная банка
- ArduinoUno
- MicroServo (у меня разрешенный угол поворота 180, но это не принципиально)
- кусок пластика
- магниты
- пины для соединении платы с серводигателем
- Usb зарядка на 5V
Логика работы механизма проста: в крышке банки делается дырка типа сектор (центр крышки не вырезается), такой же сектор вырезается из пластмассы. Внутрь крышки прикрепляется серводвигатель, например, скотчем. На ось двигателя насаживается сначала крышка, а с внешней стороны вырезанный сектор. Так, при повороте оси серводвигателя вырезанный сектор смещается относительно дырки в крышке банки.
Также надо не забыть сделать дырочку под вывод провода серводвигателя наружу для подключения к плате. На шаге 1 кормежка происходит по таймеру, кот у меня не обжора, поэтому открытие сектора происходит раз в день на короткое время, ниже код для Arduino:
#include
Для крепежа банки к стене я использовала вот такие магниты, каждый на 4кг (мне кажется лучше использовать более мощные). К банке магниты крепятся просто клеем, к стене - винтами.
Плата прикреплена к банке при помощи такой липучки, ее удобно снимать и крепить обратно. Липучка такая продается в любом хозяйственном, используется для крепежа картин.
Поскольку у меня единственным внешним модулем является серводвигатель, то дополнительного питания не надо, достаточно запитать плату, ее можно подключить напрямую к сети через usb зарядку на 5V.
Вот как все выглядит в собранном состоянии:
Ниже я набросала несколько идей дальнейшего развития кормушки, их много и пока непонятно, что именно будет делаться дальше, эта часть для обсуждения.
- установка датчиков движения, фотографирование кота в тот момент, когда он появляется в зоне видимости. Интеграция датчика веса и датчика движения позволяет определять, когда кот просто прогуливается мимо кормушки, а когда пришел покушать. Соответственно, можно прикрутить аналитику, когда котэ предпочитает кушать и как много.
- можно добавить датчик веса в сам контейнер с кормом, чтобы кормушка определяла момент, когда становится пустой и присылала предупреждение хозяину, что, мол, пусто, надо пополнить. Потом, как вариант, прикрутить возможность автозаказа корма с любимого сайта с доставкой.
- Можно добавить возможность кормушки работать на двух котов:
- Либо это будут две разные кормушки, каждая из которых умеет отпугивать “чужого” кота
- Либо это одна, но как-то модифицированная
- Надо подумать как реализовать поилку и синтегрировать ее с кормушкой, добавить систему фильтрации.
Надеюсь кому-то это будет полезно.
Этот проект сделан на плате WIFI ESP8266 и заточен на управление и мониторинг через приложение BLYNK на вашем смартфоне.
Так же в проект можно добавить IP-камеру (или использовать старый смартфон с камерой в виде сервера) для мониторинга в реальном времени через IP Webcam Pro через виджет в приложении BLYNK .
Для подачи корма используется шаговый двигатель NEMA17 c шагом в 1.8 градуса - 200 шагов на полный оборот. Двигатель вращает шнек в сантехническом переходнике, в который из бункера попадает корм.
Порционность дозировки можно настраивать, а так же визуально отображать заполнение в приложении BLYNK . И еще присутсвует куча настроек, в самом приложении о которых я расскажу ближе к концу поста и продемонстрирую в видео на моем канале в Ютубе Youtube - DenisGeek
Приложения в плеймаркете для смартфона:
Электронная часть и компоненты:
Схематика данного устройства весьма простая. Состоит из платы ЕСП8266 - которая служит мозгами, а так же средством связи с вашим вай-фай роутером,передавая данные через спец. API ключ на сервера приложения BLYNK . Наши "мозги" управляют драйвером шагового двигателя, а он в свое время задает движение шаговику NEMA17 . Плата понижайка LM2596 служит понижающим модулем для питания платы ESP8266 .
Так же есть выносная кнопка на корпус, которая добавлена через подтягивающий резистор на 10Ком на землю - реализует функцию для запуска "кормления" в ручном режиме.
Комплектующие для проекта заказывал на Aliexpress:
Плата ЕСП 8266 NODEmcu LUA http://ali.pub/2k460i \ http://ali.pub/2k4622
Блок питания 12 в 2 А http://ali.pub/2k464e
Драйвер шагового двигателя L289N http://ali.pub/2k4674
Шаговый двигатель Nema17 http://ali.pub/2k46a8
Понижающий преобразователь LM2596 http://ali.pub/2k46jk
Если не охота распаивать плату ЕСП, можно соединить все макетными проводами http://ali.pub/2k46un
Вспомогательный инструмент:
Паяльник http://ali.pub/2k2wz8
Припой http://ali.pub/2k471g
Кусачки http://ali.pub/2k4730
Все остальное можно купить по месту в радио или строительном магазине (брус для сборки каркаса, распределительную коробку, хомуты, саморезы и т.д)
Для начала я собрал все в виде макета на столе и проверил на работоспособность,так же произвел дополнительные настройки.
После чего закинул все в пластиковый бокс купленный в строительном магазине.
Размеры каркаса под кормушку:
Каркас выглядит следующим образом. Все очень просто и универсально, собрано с бруса,фанеры и саморезов.
Скачать файлы под печать можно здесь: https://goo.gl/EwqCC1
Механизм подачи был напечатан на 3д принтере - шнек, склеен из 2х частей клеем Дисмокол.
Печать прошла успешно.
Печать можно заказать, или же попробовать приспособить шнек от сломанной мясорубки.
За основу для бака была использована бутылка от кваса "тарас" , а так же соединитель для пластиковых труб.
Дальше общий вид собранного устройства:
После сборки, достаточно подать питание на наш блок, а так же спустя секунд 20 , нажать на кнопку для проверки и запуска "покормки" и проверки дозировки.
А дальше переходим к приложению BLYNK . Скачиваем его на смартфон с плеймаркета или с сайта https://www.blynk.cc/
После скачивания приложения логинимс / регистрируемся и получаем 2000 балов энергии для создания своего приложения.
Дальше сканируем QR код и автоматически подтягиваем шаблон уже моего настроенного виджета:
После чего в приложении нужно будет указать ваш токен авторизации (который вам пришел на почту после создания нового проекта - так же его указываем в коде программы)
Так же если у вас аккаунт зарегистрирован был давно, то энергии у вас может быть больше,либо же можно докупить в приложении - 1000 за 1 доллар.
У меня получился вот такой виджет, но стоит он 3200-3600 (в зависимости от визуальных модулей)
И последний вариант с 6ю таймерами - очень удобно.
Так же добавляю таблицу привязок виртуальных пинов к виджетам BLYNK
Допустим для добавления еще одного таймера в приложении блинк, нужно добавить пункт Timer , и в настройках выставить VIRTUAL OUTPUT V6 или V7 .
Прошивку с комментариями можно скачать здесь: https://goo.gl/xuaZm9
Так же как добавить плату ESP8266 nodemcu в среду ARDUINO IDE и прошивать её подробно расписано здесь
После всех манипуляций загружаем скетч, первым делом подключаем питание к нашей системе, ждем 20 секунд и для теста нажимаем кнопку провернуть шнек.Если есть реакция - значит собрано верно. Далее запускаем приложение BLYNK .Первым делом смотрим на статус проект - если все верно то ваша кормушка должна появится в сети. После чего нужно установить часовой пояс, кликнув на иконку часов, а так же можно сразу настроить нужные таймеры. Для синхронизации настроек - нажать кнопку "Таймер " в режим включено. Если после перезагрузки (пропадания питания) таймеры не срабатывают, нужно зайти в приложение и нажат кнопку "Таймер" выключить-включить.