Автоматическая кормушка для аквариума. Кормушка для аквариумных рыб на базе Arduino Arduino кормушка для кошек


В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.

Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).

Итак, начнем с концепции и целей:

  • Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)

  • Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)

  • Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)
  • На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.

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

  • Используется контейнер и сама система из под диспенсера мюслей (наверняка видели в отелях). Внизу в горлышке контейнера установлен стержень с лопостями. Ось стержня лежит вдоль плоскости горлышка. К нему прикреплен мотор, который прокручивает лопасть на одно деление один раз в заданный промежуток времени Такой механизм выглядит довольно аккуратно, его легко собрать (собственно и собирать почти ничего не надо), но, увы, очень уж дорогой. Но тут на вкус и цвет.

  • Другой вариант - наоборот, конструкция делается своими руками из акрила, а вращающийся дозатор из CD дисков. Довольно понятно о том, как сделать такую кормушку рассказано в этом видео . Если есть под рукой акрил, резак для него, ну и в принципе есть какой-то опыт в сборке такого рода вещей, то это дов

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


  • Для третьего варианта потребуется: обычная банка, которая будет играть роль контейнера, что-то, из чего можно вырезать небольшой сектор (подойдет, например, крышка какой-нибудь пластмассовой икеевской коробки), ну и пара магнитов для крепежа конструкции. Этот вариант мы и разберем подробней, он не требует инженерного образования и большого количества вложений, в общем, как раз то, что нужно.
  • Все материалы, которые мне были нужны для сборки кормушки на первом этапе:


    • Стеклянная банка

    • ArduinoUno

    • MicroServo (у меня разрешенный угол поворота 180, но это не принципиально)

    • кусок пластика

    • магниты

    • пины для соединении платы с серводигателем

    • Usb зарядка на 5V

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

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

    #include #define servoPin 9 Servo myservo; void setup() //процедура setup { myservo.attach(servoPin); //привязываем привод к порту 9 } void loop() { myservo.write(0); //ставим вал под 0 градусов delay(300); //ждем 0.3 секунды myservo.write(160); //ставим вал под 160 градусов delay(86400000); //ждем 24 часа }

    Для крепежа банки к стене я использовала вот такие магниты, каждый на 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. Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)
    2. Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)
    3. Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)

    На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.


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

    Все материалы, которые мне были нужны для сборки кормушки на первом этапе:

    • Стеклянная банка
    • ArduinoUno
    • MicroServo (у меня разрешенный угол поворота 180, но это не принципиально)
    • кусок пластика
    • магниты
    • пины для соединении платы с серводигателем
    • Usb зарядка на 5V

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


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


    #include #define servoPin 9 Servo myservo; void setup() //процедура setup { myservo.attach(servoPin); //привязываем привод к порту 9 } void loop() { myservo.write(0); //ставим вал под 0 градусов delay(300); //ждем 0.3 секунды myservo.write(160); //ставим вал под 160 градусов delay(86400000); //ждем 24 часа }

    Для крепежа банки к стене я использовала вот такие магниты, каждый на 4кг (мне кажется лучше использовать более мощные). К банке магниты крепятся просто клеем, к стене - винтами.


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


    Поскольку у меня единственным внешним модулем является серводвигатель, то дополнительного питания не надо, достаточно запитать плату, ее можно подключить напрямую к сети через usb зарядку на 5V.


    Вот как все выглядит в собранном состоянии:


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

    • установка датчиков движения, фотографирование кота в тот момент, когда он появляется в зоне видимости. Интеграция датчика веса и датчика движения позволяет определять, когда кот просто прогуливается мимо кормушки, а когда пришел покушать. Соответственно, можно прикрутить аналитику, когда котэ предпочитает кушать и как много.
    • можно добавить датчик веса в сам контейнер с кормом, чтобы кормушка определяла момент, когда становится пустой и присылала предупреждение хозяину, что, мол, пусто, надо пополнить. Потом, как вариант, прикрутить возможность автозаказа корма с любимого сайта с доставкой.
    • Можно добавить возможность кормушки работать на двух котов:
      • Либо это будут две разные кормушки, каждая из которых умеет отпугивать “чужого” кота
      • Либо это одна, но как-то модифицированная
    • Надо подумать как реализовать поилку и синтегрировать ее с кормушкой, добавить систему фильтрации.

    Надеюсь кому-то это будет полезно.

    • Tutorial

    В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.


    Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).


    Итак, начнем с концепции и целей:

    1. Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)
    2. Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)
    3. Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)

    На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.


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

    Все материалы, которые мне были нужны для сборки кормушки на первом этапе:

    • Стеклянная банка
    • ArduinoUno
    • MicroServo (у меня разрешенный угол поворота 180, но это не принципиально)
    • кусок пластика
    • магниты
    • пины для соединении платы с серводигателем
    • Usb зарядка на 5V

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


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


    #include #define servoPin 9 Servo myservo; void setup() //процедура setup { myservo.attach(servoPin); //привязываем привод к порту 9 } void loop() { myservo.write(0); //ставим вал под 0 градусов delay(300); //ждем 0.3 секунды myservo.write(160); //ставим вал под 160 градусов delay(86400000); //ждем 24 часа }

    Для крепежа банки к стене я использовала вот такие магниты, каждый на 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 .Первым делом смотрим на статус проект - если все верно то ваша кормушка должна появится в сети. После чего нужно установить часовой пояс, кликнув на иконку часов, а так же можно сразу настроить нужные таймеры. Для синхронизации настроек - нажать кнопку "Таймер " в режим включено. Если после перезагрузки (пропадания питания) таймеры не срабатывают, нужно зайти в приложение и нажат кнопку "Таймер" выключить-включить.