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

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

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

Решил, что кормушка будет треугольной формы, и у нее будет открываться, по истечении заданного времени, крышка вверх. Автокормушку делал из мебельного ЛДСП. Опиленные края можно проклеить кромочной лентой. Для того чтобы крышка кормушки открывалась установлено две небольшие петли. Автокормушка должна только открыться в нужное время, закрываться сама она не должна — в этом нет необходимости. В качестве подъемного механизма крышки был использован мебельный газлифт на 50 Ньютонов. Для удерживания крышки в закрытом положении использовался сервопривод SG90, о котором шла речь . Далее, чтобы контролировать устанавливаемое время отчета до открытия кормушки для кота использован дисплей 1602 LCD с синей подцветкой, который имеет две строки по 16 символов в каждой.

«Мозгом» всей кормушки является многим хорошо известная плата Arduino Nano (с зашитой программой обеспечивающей необходимый функционал), которая, в данном случае, управляет выводом информации на дисплей, ведет отчет установленного времени и подает команду на сервопривод для закрытия и открытия крышки. Для взаимодействия с кормушкой использовался bluetooth HC-06 модуль. Таким образом, мобильный телефон по bluetooth связи можно соединить с кормушкой и с телефона устанавливать время, через которое будет открыта автокормушка и запускать этот таймер.

Чтобы кормушка автоматически включалась и запирала подъемную крышку в закрытом положении, установлен концевик, который срабатывает при опускании крышки. Все это питается от двух батареек типа «Крона», расположенных на тыльной стороне.

Как все работает. Изначально крышка отрыта, вся электроника кормушки обесточена. Внутрь кормушки устанавливается корм, крышка усилием руки опускается, срабатывает концевик, подается питание. В ардуино начинает исполняться прошитый программный код. Включается дисплей. Включается сервопривод и фиксирует крышку в закрытом положении. Ардуино ждет, пока через bluetooth к нему подключатся и посредством диалога внесут запрашиваемые данные времени.

На телефоне включаем bluetooth, запускаем bluetooth мессенджер и подключаем к кормушке. Вносим данные времени: количество часов и минут, через которое кормушка должна открыться. Для запуска таймера отправляем команду «g». Начинается обратный отчет установленного времени, которое видно на дисплее. Через 30 секунд подсветка дисплея гаснет с целью экономии заряда батарей. По истечению времени сервопривод отпирает крышку и та поднимается с помощью газлифта. Концевик размыкается и отключает все электронику от батарей, опять же экономия энергии. Аппаратно, конечно, можно сделать все проще, но было интересно сделать именно так.

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

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

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

  • Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 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

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


    • установка датчиков движения, фотографирование кота в тот момент, когда он появляется в зоне видимости. Интеграция датчика веса и датчика движения позволяет определять, когда кот просто прогуливается мимо кормушки, а когда пришел покушать. Соответственно, можно прикрутить аналитику, когда котэ предпочитает кушать и как много.

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

    • Можно добавить возможность кормушки работать на двух котов:

      • Либо это будут две разные кормушки, каждая из которых умеет отпугивать “чужого” кота

      • Либо это одна, но как-то модифицированная


    • Надо подумать как реализовать поилку и синтегрировать ее с кормушкой, добавить систему фильтрации.

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

    У меня есть мейнкун, который весит более 10 килограмм. Его зовут Дюк. Кот любит греться на солнце, смотреть на птиц и… будить меня в 5 утра для того, чтобы я дал ему позавтракать.

    Как вы можете представить, если 10 килограммовая кошка сидит на вашей груди рано утром, то у вас не остаётся выбора, кроме как проснуться, втянуть побольше воздуха и накормить зверя. Вы спросите, «почему бы не купить кормилку для животных?».

    Итак, ответ кроется в том, что это очень скучно и просто. Вместо этого я захотел сделать автоматическую кормушку для кошек своими руками. В качестве студента, учащегося на инженера, я завершил немало поектов и был готов принять вызов, но получится ли у меня собрать электронную автокормушку, которая будет стоит меньше $100?

    Шаг 1: Части для сборки кормилки

    Главной идеей проекта будет уложиться в $100 и посмотреть, что можно использовать, чтобы сделать кормушку для кота простой.

    Вот список наших частей:

    • Дозатор / раздаточное устройство для зерна (я использовал Home Basics — $17.75 на Ибэй)
    • Устройство непрерывного вращения (я использовал SPRING SM-S4303R JR — $8.90 на Ибэй)
    • Доска для проектов (фанерка) 30*30*0,5 см
    • Ардуино Уно R3, 16 Hz — ($3.50 на Ибэй)
    • Правосторонние уголки 10 * 1 см (стоили в районе $1.97)
    • Упаковка гаек, винтов, болтов длиной ~ 1.3 см (стоили в районе $1.18)
    • Прямоугольный «локоть» из ПВХ ~ 5 см (стоил около $.98)

    Шаг 2: Начнём собирать

    Изначально я думал собрать всё на коленке, но чем больше я думал о проекте, тем сложнее он становился. И тогда я подумал: «Есть ли уже что-либо, предназначенное для дозирования, что стоило бы дешево и что легко можно было бы модифицировать?» И вуаля — в продаже есть готовые дозаторы зерна, их можно легко модифицировать и подключать к приводу.

    Шаг 3: Сборка сервопривода / кривошипа




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

    Шаг 4: Передняя панель



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

    Шаг 5: Дозировочная воронка




    Это было самой простой частью проекта. Я обвёл выход трубки на передней панели, затем горячим клеем прикрепил трубку к выходу дозатора зерна.

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

    Шаг 6: Закрепляем сервопривод

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

    Шаг 7: Программируем Ардуино




    Теперь наступает самая весёлая часть. Нам нужно запрограммировать Ардуино так, чтобы он выдавал еду в определенное время суток. Я постарался сделать код максимально простым. Основываясь на возрасте, весе и породе, я посмотрел, как много и как часто Дюку нужно есть в течение дня, чтобы быть сытым. Автоматическая кормилка была настроена на 0.65 чашки каждые 8 часов. Время и количество еды можно легко модифицировать в зависимости от потребности вашего домашнего животного. Распиновка останется прежней.

    Шаг 8: Соединяем и тестируем





    Теперь, когда код готов, мы можем соединить Ардуино и сервопривод. Соединение выглядит следующим образом:

    • Чёрный провод сервопривода идёт на GND Ардуино
    • Красный провод сервопривода идёт на 5V Ардуино
    • Белый провод сервопривода идёт на пин 13 Ардуино

    После того, как вы проверите, что всё работает правильно, можете закрепить Ардуино на месте. Для защиты своей платы, я создал на 3Д принтере кейс и просто приклеил его внутрь кормилки на горячий клей.

    Финальным улучшением было добавление ножек к кормилке, чтобы она возвышалась над миской. В качестве ножек были использованы 5 сантиметровые деревянные дощечки. К их нижней части я приклеил пену — она защитила пол от царапин. Всё что осталось сделать – приклеить сами ножки к кормилке.

    Шаг 9: Готовая кормилка

    На фотографии вы видите готовый результат. Проект обошелся в $39.18 (примерно в 2300 рублей). И я надеюсь, что он вдохновит вас собрать свою автоматизированную кормилку для домашних животных.

    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.


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


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

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

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