Диспенсер корма для собак и кошек

Владельцам собак и кошек, да и других животных, известна проблема с их кормлением. Одни забывают насыпать корм питомцу, другие насыпают слишком много или наоборот мало. Иногда питомец остается на целый день, или даже несколько дней, один и сложно обеспечить его пищей на это время.
Самый простой способ решить эти проблемы — использовать устройство, которое в заданное время «выдает» определенное количество корма. По-простому, диспенсер или дозатор для корма.
Изготовление именно такого устройства мы и рассмотрим в этой статье.
Инструменты и материалы:
-Arduino UNO;
-Разъем питания для платы Arduino;
-Сервопривод;
-Два 12-полюсных однонаправленных переключателя;
-Кулисный переключатель;
-Батарея 9 В;
-Держатель батареи;
-5-мм светодиод;
-Провода;
-Мебельные магнитные защелки;
-Фанера;
-Акрил;
-Эпоксидная смола;
-Акриловый клей;
-Лазерный резак;
-Кусачки;
-Инструмент для зачистки проводов;
-Напильник;
-Паяльник;
-Компьютер с ПО ( Arduino IDE );

Шаг первый: принцип работы
Устройство имеет два переключателя, с помощью которых выбирается интервал кормления и количество выдаваемого корма.
Для подачи корма на устройстве установлено колеса, разделенное на секции. При проворачивании колеса с помощью сервопривода в секции из бункера набирается корм. Затем колесо прокручивается на 120 градусов, и корм высыпается в лоток. Следующая команда возвращает колесо на исходную позицию, где в секцию снова набирается корм.
Шаг второй: лазерная резка
Детали дозатора вырезается на лазерном резаке. В качестве материала используется фанера и акрил.
Первые два файла ниже для резки фанеры.
Plywood (2).ai
Plywood (1).ai

Ниже три файла для резки акрила.
Acrylic (1).ai
Acrylic (2).ai
Funnel.ai

Шаг третий: сборка корпуса
Все детали, кроме верхней и двух боковых частей, склеиваются. Боковые части удерживаются на месте с помощью магнитных защелок и легко снимаются для облегчения обслуживания. Верхняя часть защелкивается в пазах.
В качестве клея мастер использует эпоксидную смолу.

Диспенсер корма для собак и кошек

Шаг четвертый: колесо
Дальше нужно собрать деталь в форме колеса. Колесо поделено внутри на отсеки и имеет по центру ось. По сути, нужен только один отсек, так как колесо делает не полный оборот, а четверть. Для облегчения сборки мастер промаркировал детали.

Шаг пятый: загрузочный бункер
В бункер засыпается корм и из него, порционно поступает в кормушку. Загрузочный бункер изготавливается из акрил и имеет форму перевернутой пирамиды.

Шаг шестой: сборка
После подготовки деталей можно приступать к сборке. Колесо устанавливается между двумя акриловыми пластинами. Затем весь узел устанавливается в корпус. Сверху устанавливается загрузочный бункер.
Как бункер, так и колесо являются съемными частями. Это сделано для того, что бы можно было их демонтировать и помыть.

Шаг седьмой: электрическая часть
Сначала нужно подготовить детали. Нужно припаять провода к 12-полюсным переключателям. Всего переключателей два. К контактам 1, 4 и 7 припаивает и маркирует провода. Еще один провод — общий, припаивается к GND обоих переключателей.

Дальше устанавливает детали.
Мотор устанавливается в отверстие в деревянной опоре колеса и прикручивается к опоре. Вал двигателя должен находиться между опорами двух колес.
Плата Arduino прикручивается к двигателю с внешней стороны опоры колеса.
Светодиод размещается на лицевой стороне дозатора, как и 12-контактные переключатели.
Держатель батареи прикручивается к деревянной опоре колеса под переключателем включения / выключения.
Выключатель устанавливается с задней стороны устройства.

Теперь нужно подключить комплектующие.
Сервопривод
Красный провод к 5V.
Оранжевый провод к цифровому контакту 9.
Коричневый провод к GND.

Переключатель количества порций
Провод от контакту 1 к контакту 2.
Провод от контакта 4 к цифровому контакту 3.
Провод от контакта 7 к цифровому контакту 4.

Переключатель интервала
Провод от контакта 1 к цифровому контакту 5.
Провод от контакта 4 к цифровому контакту 6.
Провод от контакта 7 к цифровому контакту 7.

Выключатель
Одна клемма переключателя к красному проводу держателя батареи. Вторая клемма подключается к красному проводу разъема питания. Черный провод держателя батареи к черному проводу разъема питания.

Светодиод
Светодиод подключается к GND и Vin Ардуино.

Шаг седьмой: код
Для работы устройства необходимо загрузить на плату Ардуино код представленный ниже.

 Показать / Скрыть текст#include <Servo.h> //Servo library

int fill = 0; //default motor starting position when the continer fills.
int empty= 135; // motor position when emptying the container
int amount = 1; // number of cups to feed
int interval = 4; // interval between feeds in seconds
Servo mainServo;

void setup() {
// put your setup code here, to run once:
mainServo.attach(9);

pinMode(2, INPUT_PULLUP); // pin 1 on amount switch
pinMode(3, INPUT_PULLUP); // pin 4 on amount switch
pinMode(4, INPUT_PULLUP); // pin 7 on amount switch
pinMode(5, INPUT_PULLUP); // pin 1 on time switch
pinMode(6, INPUT_PULLUP); // pin 4 on time switch
pinMode(7, INPUT_PULLUP); // pin 7 on time switch

}

void loop() {
// put your main code here, to run repeatedly:
amount = 1 ; // set to min value
if ( digitalRead(2) == LOW){
amount = 1;
}
else if (digitalRead(3) == LOW) {
amount = 2;
}
else if (digitalRead(4) == LOW) {
amount = 3;
}

runmotor();
if (digitalRead(5) == LOW) {
interval = 4;
}
else if (digitalRead(6) == LOW) {
interval = 8;
}
else if (digitalRead(7) == LOW) {
interval = 12;
}

delay(interval * 3600000);
}

void runmotor(){
for(;amount > 0; amount—) {
mainServo.write(empty);
Serial.write("Motor run starting");
delay(2000);
while(mainServo.read() >100){
mainServo.write(fill);
delay(2000);
mainServo.write(empty);
}
mainServo.write(fill);
delay(2000);
Serial.write("Motor run completed");
Serial.println();
}
}<br>
Все готово. Работу дозатора можно посмотреть ниже.

Источник

Если вам понравилась статья, поделитесь ей в соц.сетях !