Автоматическая кормушка для рыбы с бункером для бутылок и...
Ремикс фантастической кормушки для рыбы Энди Форсберга для использования в классе.
Из-за мизинцев и общей неуклюжести, свойственной среде начального класса, я решил, что необходимы некоторые небольшие изменения, и мой список пожеланий сводился к следующему:
Закрытый бункер для корма для рыб
дополнительный корпус Arduino, подходящий для USB mini Arduino nano, который у меня валялся (нужно держать мизинцы подальше от терминалов)
способ использования гораздо более дешевого и повсеместного сервопривода SG90 (у меня был один из моего первого стартового комплекта Arduino, которому сейчас 12 лет, и который никогда не использовался).
Итак, вот мы здесь; Моим решением для корпуса Arduino nano стала эта фантастическая работа от EA3D: https://www.printables.com/model/308536-arduino-nano-case. В конце концов, нет необходимости изобретать велосипед.
Я использовал термосертификаты M3 в основании бункера для бутылок и адаптера бака, с головкой M3, винтами длиной 6 мм для бункера и длиной 5 мм для адаптера бака. Для сервоадаптера я использовал 2 винта диаметром примерно 2,5-3 мм, снятые с телевизора много лет назад. В качестве оборудования для сервопривода использовались винты, поставляемые в комплекте с SG90.
Чтобы смонтировать корпус Arduino, я использовал суперклей, отрезав зажимы Arduino от оригинальной базовой мод��ли с помощью пары бокорезов, чтобы освободить место для корпуса (время на выходных заканчивалось). Я рекомендую загрузить код в Arduino перед пайкой серводвигателя, так как он был немного испорчен, предварительно припаяв его, а затем запрограммировав. Сервопривод припаян к следующим контактам на Arduino Nano:
Оранжевый → D9
Коричневый → земляной
Красный → 5 В
код, я снова использовал следующий код Энди:
#include
/************************************************************************************
Маленькая кормушка для рыбы
код настроен на запуск питателя 1 раз в день. Он запускается один раз сразу при запуске,
затем ждет 24 часа для следующего запуска. Для тестирования закомментируйте строку ДЕНЬ (24*ЧАС)
и раскомментируйте строку Day (2*SECOND)
****************************************************************************************/
#define ВТОРЫЕ 1000Л
#define МИНУТА (60*СЕКУНД)
#define ЧАС (60*МИНУТЫ)
#define DAY (24*HOUR) //раскомментируем фактическое выполнение
//#define DAY (2*SECOND) //тестовая настройка
const int SERVO_PIN = 9; //номер контакта для вывода светодиода — это «const», поскольку он не будет меняться во время кода и экономит память Arduino
константный интервал FILL_DEGREE = 50; //начальное расположение лунки, заполняем ползунок кормом для рыб
const int DISPENSE_DEGREE = 1; //расположение раздаточного отверстия
Сервопривод1;
// установка запускается один раз при включении Arduino
недействительная настройка()
{
servo1.attach(SERVO_PIN); //подключаем сервопривод к выводу SERVO_PIN
} //Настройка() завершена, переходим к циклу()
//цикл работает вечно после завершения установки
недействительный цикл()
{
//***************************************************************************
//ПРИМЕЧАНИЕ: ВАМ придется ИЗМЕНИТЬ ЭТИ ЗНАЧЕНИЯ в зависимости от выравнивания рупора сервопривода.
//***************************************************************************
servo1.write(FILL_DEGREE); // сообщаем сервоприводу перейти на заполнение позиции
задержка(1000); // задержка на 1 секунду
servo1.write(DISPENSE_DEGREE); // сообщаем сервоприводу перейти к месту раздачи
задержка(1000);
servo1.write(FILL_DEGREE); // сообщаем сервоприводу вернуться на позицию заполнения
задержка(ДЕНЬ); // задержка на 1 день
}
Другие кредиты должны быть переданы wdvc за носик для ПЭТ-бутылок, который я одолжил для изготовления резьбы для бутылок с бункерами.





























