Кормушка для рыбы с бункером для бутылок, адаптированная ...
Кормушка для рыб, с бункером для бутылок, адаптированным для корпуса Arduino и sg90 Кормушка для рыб, с бункером для бутылок, адаптированным для корпуса Arduino и sg90
Все напечатано PLA.
Единственное изменение, которое я действительно сделал, касалось основания, поэтому корпус Arduino Nano может поместиться туда.
Ардуино корпус
Use this case for arduino nano- https://www.printables.com/model/308536-arduino-nano-casehttps://www.printables.com/model/308536-arduino-nano-case
Я отрезал зажимы Arduino Nano. Затем для крепления корпуса я использовал Blu Tack (шпаклёвку), при желании можно использовать суперклей. Определенно рекомендую загрузить код в nano перед пайкой.
Оранжевый → D9
Коричневый → земляной
Красный → 5 В
Я не уверен, какие винты использовать, поэтому будет указано, какой гаечный ключ использовался. M3 heat certs in the base for the bottle hopper and the tank adapter, with M3 cap head, screws 6mm long for the hopper and 5mm long for the tank adapter. Для сервоадаптера я использовал 2 винта диаметром примерно 2,5-3 мм, снятые с телевизора много лет назад. The servo-to-slide hardware was the screws supplied in the SG90.
I didnt like that slider only releases a bit of fish food so I made it, so I changed the code the so it turns the servo motor a little more and also turns 3 times so more food is released credit to andy the original creator-
#include
#define ВТОРЫЕ 1000Л
#define МИНУТА (60*СЕКУНД)
#define ЧАС (60*МИНУТЫ)
#define DAY (24*HOUR) //раскомментируем фактическое выполнение
// #define DAY (2*SECOND) //тестовая установка
const int SERVO_PIN = 9; //номер контакта для вывода светодиода — это «const», поскольку он не будет менят��ся во время кода и экономит память Arduino
константный интервал FILL_DEGREE = 27; //начальное расположение лунки, заполняем ползунок кормом для рыб
const int DISPENSE_DEGREE=0; //расположение раздаточного отверстия
Сервопривод1;
// установка запускается один раз при включении Arduino
недействительная настройка()
{
servo1.attach(SERVO_PIN); //подключаем сервопривод к выводу SERVO_PIN
} //Настройка() завершена, переходим к циклу()
//цикл работает вечно после завершения установки
недействительный цикл()
{
//***************************************************************************
//ПРИМЕЧАНИЕ: ВАМ придется ИЗМЕНИТЬ ЭТИ ЗНАЧЕНИЯ в зависимости от выравнивания рупора сервопривода.
//***************************************************************************
for(int я=0; я<5; я++){
servo1.write(FILL_DEGREE); // tell servo to go to fill position
задержка(1000); // задержка на 1 секунду
servo1.write(DISPENSE_DEGREE); // сообщаем сервоприводу перейти к месту раздачи
задержка(1000);
servo1.write(FILL_DEGREE); // сообщаем сервоприводу вернуться на позицию заполнения
}
задержка(ДЕНЬ); // задержка на 1 день
}
загружу несколько фотографий, как только все настрою правильно





























