Я хотел украсить свою комнату, и небольшой аквариум показался мне отличной идеей. Но, так как я всегда уезжаю на выходные или даже на более длительные периоды, то я не могу кормить рыбок, а им скорее всего это не нравится. Итак, мне нужно было найти решение, и, когда у меня появилось свободное время, я провел мозговой штурм в поисках решения автоматизации кормления рыб, который я мог бы осуществить своими руками.
В интернете есть много решений c автоматическими кормушками для рыб, но в основном это некрасивые конструкции с сервоприводами. Они громоздкие и их тяжело настроить на правильное количество еды.
В программе Inventor я спроектировал винт, который можно напечатать на 3Д-принтере. С помощью него и шагового двигателя я проталкиваю корм для аквариумных рыбок через трубку прямо в аквариум. Я могу установить длительность кормёжки, что поможет настроить девайс на абсолютно одинаковое количество еды каждый день.
Важная заметка: Я опробовал его с несколькими типами кормов. Хлопья обычно заклинивают двигатель, поэтому лучше использовать гранулы.
Модуль RTC следит за временем, а шаговый двигатель получает от него команды через плату Ардуино Нано. Ко всему я добавил две панели светодиодов (белого и синего цвета), их яркость настраивается отдельными потенциометрами.
Содержание статьи
Шаг 1: Что нужно для сборки
- Плата Ардуино Нано: код в неё заливается просто через кабель USB. Ардуино Про Мини также отлично подойдёт.
- Разъём «мама» DC для подключения 12V адаптера.
- Адаптер питания: я использую на 12V и 2A, этого более чем достаточно.
- Модуль DS1307 для хранения времени. В нём есть запасная батарейка на 3V, так что модуль будет отсчитывать время даже если отключат электричество
- Потенциометр для подключения к аналоговому входу Ардуино, чтобы настраивать яркость светодиодов.
- Led-панели, работающие от 12V. Яркость настраивается через PWM на Ардуино.
- TIP122: Биполярный транзистор (NPN) для регулирования 12V, чтобы управлять яркостью светодиодов (любой NPN подойдёт при условии, что его спецификация подходит)
- Шаговый двигатель и драйвер для его управления. Двигатель крутит винт, винт толкает еду вниз по трубке.
- Небольшой кусок макетной платы, чтобы удобно было всё соединить
Шаг 2: Необходимые приспособления
- Лазерный резак для изготовления корпуса, который будет находиться в аквариуме. Я использовал под корпус МДФ толщиной 2,5 мм.
- Трубка внешним диаметром 16 мм и внутренним диаметром 13 мм. Такую можно найти в местном магазине сантехники или подобном магазине.
- 3Д принтер для печати винта.
Шаг 3: Корпус из МДФ
Как уже упоминалось, я использовал пластину МДФ на 2.5 мм. У меня есть доступ к лазерному резаку, который быстро, аккуратно и очень точно вырезал для меня нужные детали. Я не буду прикладывать файл с деталями моего корпуса, потому что каждый аквариум отличается и вам нужно будет сделать корпус под ваши потребности.
Шаг 4: Конструкция трубки
Трубка, в которую помещается винт, должна быть длиной 120 мм, так она аккуратно поместится в корпус. Как видно на предыдущих картинках, передняя и средняя стенки корпуса — двойные, они прочно держат трубку.
Небольшая трубка, обращённая вверх, соединяется с резервуаром с едой, её можно сделай длиннее, чтобы насыпать туда больше еды. Трубка, обращенная вниз, свисает над водой и по ней еда поступает в аквариум (посредством вращающегося винта).
Шаг 5: Винт
Винт также спроектирован в Inventor и распечатан на 3D-принтере. Он крепится напрямую к оси шагового двигателя. Винт идеально садится на своё место и его пластик достаточно прочен, чтобы выдерживать крутящий момент, необходимый для проталкивания корма в кормушку для рыб в аквариуме.
Во время вращения, винт будет оказывать давление на корм, но корм будет также оказывать равное и противоположное давление на винт, а значит, винт будет отталкиваться в обратном направлении и его не нужно приклеивать к двигателю.
Я приложил файл STL для тех, кто хочет распечатать винт. Обязательно настройте масштаб x10.
Файлы
Шаг 6: Модуль RTC-часов DS1307
Настройте время. Из-за того, что модуль часов неточен, я делаю на нём сброс каждые несколько месяцев. Я посоветую взять модуль DS3231, он намного более точен.
Модуль связывается с Ардуино через линии SDA (A4) и SCL (A5). Также его нужно соединить с пинами 5V и GND на Ардуино.
Библиотеку для настройки модуля можно найти по этой ссылке.
Шаг 7: Код
Я приложил код, который поможет привести движок в действие. В написании кода мне помогал друг, поэтому комментарии к коду будут на датском языке. Если вам что-то будет непонятно, используйте переводчик.
Файлы
Шаг 8: Что я планирую сделать в будущем
- спроектировать печатную плату
- поставить светодиод для индикации того, что еда заканчивается
- увеличить резервуар с кормом (моего хватает на неделю)
- добавить двухканальное реле для переключения между фильтром и насосом прокачки кислорода
- добавить крышку и установить на неё потенциометры для регулировки яркости светодиодов
- добавить модуль bluetooth (HC-05) и выводить на экран компьютера температуру и уровень воды, внешнюю температуру и процент заполнения резервуара
- установить выключатель для включениявыключения автоматической кормушки для аквариума
- и т.д.