Как сделать автоматическую систему кормления для ваших питомцев?

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

Автоматическая кормушка для домашних животных

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Как настроить устройство и автоматизировать его с помощью Arduino?

Цель этого метода состоит в том, чтобы сделать систему более эффективной из систем, доступных на рынке, таких как гравитационные питатели, со сравнительно низкой стоимостью. Наша система будет нести ответственность за поддержание постоянного снабжения домашних животных едой и водой. Во-первых, мы разработаем автоматическую систему подачи воды, а во-вторых, разработаем автоматическую кормушку для наших питомцев.

Шаг 1: Необходимые компоненты (аппаратное обеспечение)

Шаг 2: Необходимые компоненты (программное обеспечение)

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

  • Proteus 8 Professional (можно скачать с Здесь)

Шаг 3: Принцип работы автономной насосной системы

Среди всех компонентов наиболее важными компонентами являются транзисторы BC 547. Всего имеется 7 транзисторов, и они будут измерять уровень воды. Светодиоды будут следить за уровнем воды в контейнере. по мере того, как вода поднимается, датчики начинают контактировать с водой, и транзисторы активируются, и в транзисторах происходит прогрессирование тока, заставляющего загораться светодиоды. Между транзистором и светодиодом находится токоограничивающий резистор, который предотвращает попадание более высокого напряжения на светодиод. Резиновая трубка будет подсоединена к верхнему баку и будет отвечать за наполнение контейнера при падении уровня ниже определенного порога. Когда уровень воды опускается ниже порогового значения, включается водяной насос, и контейнер начинает наполняться. Таким образом, нет необходимости наполнять контейнер вручную, а домашние животные обеспечены постоянным запасом воды. Для вашего удобства я подробно расскажу о функциональности светодиодов. Установленные в схеме светодиоды четырех видов цветов. Красный, желтый, зеленый и синий. Красный указывает на то, что в контейнере нет воды и ни один из датчиков не контактирует с водой, и контейнер необходимо наполнить. Желтый светодиод указывает на 1/4 воды в контейнере. Зеленый светодиод указывает на то, что емкость наполовину заполнена водой, а синий светодиод указывает на то, что емкость заполнена водой.

Шаг 4: Моделирование схемы

  1. После загрузки и установки программного обеспечения Proteus откройте его. Откройте новую схему, щелкнув значок ISIS в меню.Новая схема
  2. Когда появится новая схема, щелкните значок P в боковом меню. Откроется окно, в котором вы можете выбрать все компоненты, которые будут использоваться.
  3. Теперь введите название компонентов, которые будут использоваться для создания схемы. Компонент появится в списке справа.Выбор компонентов
  4. Точно так же, как и выше, ищите все компоненты, как указано выше. Они появятся в списке устройств.

Шаг 5: Сделайте разводку печатной платы

Поскольку мы собираемся сделать аппаратную схему на печатной плате, нам сначала нужно сделать макет печатной платы для этой схемы.

  1. Чтобы сделать топологию печатной платы в Proteus, нам сначала нужно назначить пакеты печатных плат каждому компоненту на схеме. чтобы назначить пакеты, щелкните правой кнопкой мыши компонент, которому вы хотите назначить пакет, и выберите Инструмент упаковки.Назначить пакеты
  2. Нажмите на опцию ARIES в верхнем меню, чтобы открыть схему печатной платы.ОВЕН Дизайн
  3. Из списка компонентов разместите все компоненты на экране так, как вы хотите, чтобы ваша схема выглядела.
  4. Нажмите на режим дорожки и соедините все контакты, которые программа предлагает вам подключить, указывая стрелкой.

Шаг 6: Принципиальная схема

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

Принципиальная электрическая схема

Шаг 7: Принцип работы автономной системы продовольственного снабжения

Принцип работы системы подачи пищи очень прост, и наиболее важным компонентом в этой схеме является модуль часов реального времени (DS3231), с помощью которого мы можем установить дату и время, когда еда будет подаваться нашим питомцам. ЖК-модуль будет отображать дату и время, а серводвигатель будет вращать миски, в которых будет находиться еда. Я включил клавиатуру 4×4, чтобы вручную установить время кормления домашних животных. Я использовал серводвигатель, чтобы миску с едой можно было вращать, и ее можно было бросить в нижнюю миску, откуда домашние животные смогут ее съесть. Еда будет падать в нижнюю чашу через определенные промежутки времени, которые вы зададите в коде. Вы можете самостоятельно установить количество еды с учетом привычек питания собаки, кошки, попугая и т.д.

Шаг 8: Моделирование схемы

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

  • Компоненты появятся в списке устройств.Используемые компоненты

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

Шаг 9: Принципиальная схема

Принципиальная схема Proteus должна выглядеть так:

Принципиальная электрическая схема

Шаг 10: Начало работы с Arduino

Если вы раньше не были знакомы с Arduino IDE, не волнуйтесь, потому что ниже вы можете увидеть четкие шаги записи кода на плате микроконтроллера с помощью Arduino IDE. Вы можете загрузить последнюю версию Arduino IDE с здесь и выполните следующие действия:

  1. Когда плата Arduino подключена к вашему ПК, откройте «Панель управления» и нажмите «Оборудование и звук». Затем нажмите «Устройства и принтеры». Найдите имя порта, к которому подключена ваша плата Arduino. В моем случае это «COM14», но на вашем компьютере он может быть другим.Поиск порта
  2. Теперь откройте среду разработки Arduino. В меню «Инструменты» установите плату Arduino на Arduino/Genuino UNO.Настройка платы
  3. В том же меню Tool установите номер порта, который вы видели в панели управления.Настройка порта
  4. Загрузите код, прикрепленный ниже, и скопируйте его в свою IDE. Чтобы загрузить код, нажмите кнопку загрузки.Загрузить код

Вы можете скачать код с Здесь.

Шаг 11: Понимание кода

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

  1. В верхней части включены различные библиотеки, так что клавиатура, ЖК-дисплей, микросхема RTC и серводвигатель могут управляться микроконтроллером.

#include #include #include #include

2. Затем ряды и столбцы клавиатуры инициализируют выводы Arduino, к которым они будут подключены, после чего создается вся клавиатура.

константный байт ROWS = 4; // Четыре строки const byte COLS = 4; // Три столбца // Определяем символьные ключи Keymap[ROWS][COLS] = {{‘1′,’2′,’3′,’А’}, {‘4′,’5′,’6′,’В’}, {‘7′,’8′,’9′ ,’C’}, {‘*’,’0′,’#’,’D’} }; байтовая строкаPins[ROWS] = {2, 3, 4, 5}; // Подключите клавиатуру ROW0, ROW1, ROW2 и ROW3 к этим контактам Arduino. байтовые столбцы[COLS] = {6, 7, 8, 9}; // Подключите клавиатуру COL0, COL1 и COL2 к этим контактам Arduino. Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Создаем клавиатуру

3. Затем инициализируются микросхема RTC, серводвигатель и жидкокристаллический дисплей, а также объявляются некоторые переменные, которые будут использоваться для расчетов во время выполнения.

DS3231 rtc(A4, A5); сервопривод_тест; // инициализируем сервообъект для подключенного сервопривода LiquidCrystal lcd(A0, A1, A2, 11, 12, 13); // Создает объект LC. Параметры: (rs, enable, d4, d5, d6, d7) //int angle = 0; // потенциальный потенциал = A0; // инициализируем аналоговый вывод A0 для потенциометра int t1, t2, t3, t4, t5, t6; логическая подача = истина; // условие для будильника char key; инт г[6];

4. void setup() — это функция, которая выполняется в коде только один раз при включении питания микроконтроллера или нажатии кнопки включения. В этой функции задается скорость передачи данных, которая в основном представляет собой скорость в битах в секунду, с которой микроконтроллер взаимодействует с периферийными устройствами. В этой функции также запускаются RTC и сервопривод, а контакты инициализируются для использования в качестве ввода или вывода.

недействительная установка () { servo_test.attach (10); // присоединяем сигнальный контакт сервопривода к контакту 9 Arduino rtc.begin(); lcd.begin(16,2); servo_test.write(55); Серийный.начать(9600); pinMode (A0, ВЫХОД); pinMode(A1, ВЫХОД); pinMode(A2, ВЫХОД); }

5. void loop() — это функция, которая выполняется снова и снова в цикле. Вот в этой функции написан код для отслеживания времени и вывода его на ЖКИ. затем дается команда на поворот сервопривода на заданный угол.

недействительный цикл () {lcd.setCursor (0,0); кнопка IntPress; buttonPress = цифровое чтение (A3); если (buttonPress==1) setFeedingTime(); //Serial.println(buttonPress); lcd.print(“Время: “); Строка т = “”; т = rtc.getTimeStr(); t1 = t.charAt(0)-48; t2 = t.charAt(1)-48; t3 = t.charAt(3)-48; t4 = t.charAt(4)-48; t5 = t.charAt(6)-48; t6 = t.charAt(7)-48; lcd.print(rtc.getTimeStr()); lcd.setCursor(0,1); lcd.print («Дата:»); lcd.print(rtc.getDateStr()); если (t1==r[0] && t2==r[1] && t3==r[2] && t4==r[3]&& t5<1 && t6<3 && feed==true) { servo_test.write(100); //команда повернуть сервопривод на указанный угол delay(400); servo_test.write(55); фид=ложь; } }

6. void setFeedingTime() — это функция, которая принимает ввод с клавиатуры и отображает ввод для установки времени кормления в микроконтроллере. Это время позже используется для вращения двигателя, чтобы кормить домашних животных.

недействительным setFeedingTime () { Feed = true; интервал я=0; ЖК.очистить(); lcd.setCursor(0,0); lcd.print(“Установить время кормления”); ЖК.очистить(); lcd.print(“ЧЧ:ММ”); lcd.setCursor(0,1); в то время как (1) {ключ = kpd.getKey(); символ j; если (ключ! = NO_KEY) { lcd.setCursor (j, 1); lcd.print (ключ); р[i] = ключ-48; я++; j++; если (j==2) {lcd.print(“:”); j++; } задержка(500); } если (ключ == ‘D’) {ключ = 0; перерыв; } } }

Шаг 12: Аппаратный дизайн системы водяных насосов

Поскольку мы выполнили все программные задачи, теперь давайте приступим к разработке аппаратной части проекта. Прежде всего, мы соберем компоненты системы подачи воды, а затем разработаем аппаратную часть автоматической системы подачи продуктов питания. После создания разводки печатной платы припаяйте компоненты на печатной плате в соответствии с принципиальной схемой, показанной выше. Поместите схему в небольшую коробку и проделайте в ней соответствующие отверстия, чтобы светодиоды могли легко выходить из коробки. Возьмите печатную плату и припаяйте к ней светодиоды в соответствии с уровнями, указанными выше. Проанализировав схему, мы узнали, что от основной платы к датчику необходимо вывести пять линий питания. Четыре линии относятся к датчикам, а одна — к общему положительному контакту.

светодиоды

Возможно, нам нужно сделать два канала, чтобы при контакте с водой они действовали как переключатель, поскольку вода является хорошим проводником электричества. Мы можем использовать трубу из ПВХ и сделать в ней отверстия. Сначала измерьте высоту емкости, а затем через равные промежутки времени отметьте на ней 4 точки. Сделайте отверстия в этих точках, а затем сделайте петлю из провода, по которому будет проходить ток. Закрепите эту петлю провода с помощью гаек и болтов в этой трубе из ПВХ, а затем добавьте общий провод к корпусу. Отверстие оголенного провода и болта должно быть минимальным, и в случае необходимости можно припаять немного провода к общей линии рядом с гайкой и винтом, так как чувствительность будет больше в точке, где вода взаимодействует с обычным проводом и болтом, будет передача тока от зачищенного провода к болту, и, следовательно, чувствительная часть готова. Как только уровень воды опускается ниже определенного уровня, включается водяной двигатель и бак начинает наполняться. Когда бак начинает наполняться, контейнер также начинает наполняться благодаря водопроводной трубе, поскольку вода передается из бака в контейнер по трубе. Следовательно, больше нет необходимости вручную заполнять контейнер.

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

Теперь будем собирать аппаратную часть системы питания. Мы можем установить временные интервалы по своему выбору, используя модуль часов реального времени DS3231, и, следовательно, следя за графиком приема пищи нашими питомцами, мы будем корректировать график. Когда таймер достигнет установленной даты и времени, серводвигатель начнет двигаться, и еда будет падать в чашу, расположенную ниже. Соберите схему, как показано выше на макетной плате. Возьмите деревянную палку и прикрепите к ней серводвигатель. Закрепите его вертикально к стене и с помощью шурупов прикрепите к палочке миску с едой. Чаша может быть похожа на полую трубу в форме бамбука, открытую с обоих концов, и на ее дно будет помещена круглая деревянная деталь. Серводвигатель будет прикреплен к деревянной части, и как только двигатель начнет двигаться под некоторым углом, еда будет падать в чашу, расположенную ниже.

Бамбуковая трубка

Это все на сегодня. Не забудьте поделиться своим опытом после завершения этого проекта, и если у вас есть какие-либо проблемы, не стесняйтесь спрашивать в разделе комментариев.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *