цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Самодельный механизм автоматической подачи корма для рыб на основе Arduino



Самодельный механизм автоматической подачи корма для рыб на основе Arduino

Автор: Mike(admin) от 27-10-2021, 03:55

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


Самодельный механизм автоматической подачи корма для рыб на основе Arduino

В данном проекте мы создадим автоматический механизм кормления рыбы с таймером, используя Arduino. Каждые 12 часов он будет кормить рыбу. Мы можем установить любое время, которое захотим, потому что в этом проекте мы используем часы реального времени.


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


Самодельный механизм автоматической подачи корма для рыб на основе Arduino

Далее мы разрежем ручку и просверлим отверстие на одном конце. Это необходимо для механизма открывания и подачи корма.


Самодельный механизм автоматической подачи корма для рыб на основе Arduino

Второй конец ручки следует прикрепить к валу сервомотора с помощью пластикового переходника.


Самодельный механизм автоматической подачи корма для рыб на основе Arduino

Теперь соедините вместе Arduino, серводвигатель и часы реального времени в соответствии со схемой подключения, приведенной далее.


Самодельный механизм автоматической подачи корма для рыб на основе Arduino

Для проверки системы сначала лучше загрузить следующий тестовый код.



#include <Servo.h>
Servo myservo;
void setup() {
myservo.attach(9);
}
void loop() {
myservo.write(0);
delay (300);
myservo.write(45);
delay (300);
}

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



#include <DS1302.h>
#include <Servo.h>
Time t;
Servo myservo;
int Hour;
int Min;
int Sec;
DS1302 rtc(2, 3, 4);
void setup()
{
myservo.attach(9);
myservo.write(45);
// Установим часы в рабочий режим и отключим защиту от записи
rtc.halt(false);
rtc.writeProtect(false);
Serial.begin(9200);
// Следующие строки можно закомментировать, чтобы использовать значения, уже сохраненные в DS1302
rtc.setDOW(SUNDAY); // Установим день недели на воскресенье
rtc.setTime(8, 59, 50); // Установим время на 12:00:00 (24-часовой формат)
rtc.setDate(10, 25, 2021); // Установим дату на 25 октября 2021 г.
}
void loop()
{
t = rtc.getTime();
Hour = t.hour;
Min = t.min;
Sec = t.sec;
// Serial.print(Hour);
// Serial.print(":");
// Serial.print(Min);
// Serial.print(":");
// Serial.println(Sec);
// установим время кормления рыб
if ((Hour== 10 && Min== 0 && Sec== 2)||(Hour== 21 && Min== 0 && Sec== 2)) {
myservo.write(0);
delay (300);
myservo.write(45);
delay (300);}
}



© digitrode.ru


Теги: Arduino




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий