Оглавление:
- Запасы
- Шаг 1. Как это работает?
- Шаг 2: Программное обеспечение
- Шаг 3: Схема схемы
- Шаг 4: крафтить
- Шаг 5: Москитто
- Шаг 6: IDE Arduino
- Шаг 7: Нгрок
- Шаг 8: Node-RED
- Шаг 9: Заключение
Видео: Умная кормушка для домашних животных: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
У тебя есть домашнее животное?
- Нет: усыновить! (и вернемся к этому наставлению).
- Да, молодец!
Разве не было бы замечательно, если бы вы могли покормить и поить любимого человека, не отменяя планов, чтобы добраться домой вовремя? Мы говорим, не беспокойтесь больше.
В этом проекте мы создали диспенсеры для еды и воды с дистанционным управлением (через Интернет).
Через онлайн-панель вы можете просматривать данные и управлять дозаторами:
- Наблюдайте за уровнями пищи и воды в резервуарах.
- Следите за уровнем еды и воды в мисках.
- Ест или пьет животное в этот момент?
- Составьте расписание кормлений (устройство не выдаст еду, если в миске достаточно еды).
- Автоматическая подача воды, когда чаша опустеет.
- Выдайте еду / воду нажатием кнопки.
- Получайте push-уведомления на свой телефон (через приложение Telegram).
Кто мы?
Создано Томом Кауфманом и Катей Фичман, студентами факультета информатики в IDC Herzliya.
Этот проект был разработан для курса IOT.
Запасы
Электроника
- 2 X ESP8266 (Wemos d1 mini).
- Провода перемычки.
- 2 X Макет.
- 4 X ультразвуковой датчик.
- 2 X тензодатчика.
- 2 усилителя тензодатчика (HX711).
- Сервопривод (180 °).
- Сервопривод (непрерывное вращение).
- Источник питания 2 X 6 В.
Запчасти
- Дозатор кукурузных хлопьев (ссылка на Amazon).
- Напечатанная на 3D-принтере воронка для раздаточного устройства для еды (https://www.thingiverse.com/thing:3998805).
- Насадка сервомотора, напечатанная на 3D-принтере (https://www.thingiverse.com/thing:3269637).
- Стенд для раздачи еды, напечатанный на 3D-принтере (разработан для этого проекта:
- Основание и пластина тензодатчика, напечатанные на 3D-принтере (разработаны для этого проекта:
- Диспенсер для воды (ссылка Amazon на нечто подобное).
- Провод (для соединения ручки дозатора воды с сервоприводом).
- 3 X подставка для ультразвукового датчика.
Шаг 1. Как это работает?
Платы ESP8266 отправляют показания датчиков в Node-RED через Mosquitto (брокер MQTT).
Node-RED обрабатывает данные, выполняя соответствующие действия (также отправляя команды дозирования на платы ESP8266 через Mosquitto) и отображая информацию на приборной панели.
Все вычисления выполняются в Node-RED, поэтому было бы легко воспроизвести этот проект и изменить обработку данных в соответствии с вашими настройками и предпочтениями, не запачкая руки кодированием.
Шаг 2: Программное обеспечение
IDE Arduino
Загрузите и установите (ссылка:
Москитто
Скачайте и установите (ссылка:
Node.js
Скачайте и установите (ссылка:
Узел-КРАСНЫЙ
Следуйте инструкциям:
нгрок
Скачать:
Телеграмма
Установите приложение на свой смартфон.
Шаг 3: Схема схемы
* Оба устройства имеют идентичные схемы
Рукомойник
-
Ультразвуковой датчик (для резервуара с водой)
- GND - G
- VCC - 5 В
- ЭХО - D5
- ТРИГГЕР - D0
-
Ультразвуковой датчик (для определения расстояния питомца от миски)
- GND - G
- VCC - 5 В
- ЭХО - D6
- ТРИГГЕР - D7
-
Весоизмерительная ячейка
- ЗЕЛЕНЫЙ - A + (HX711)
- БЕЛЫЙ - A- (HX711)
- ЧЕРНЫЙ - E- (HX711)
- КРАСНЫЙ - E + (HX711)
-
HX711 (усилитель тензодатчика)
- GND - G
- VCC - 5 В
- DT - D4
- SCK - D3
-
Сервопривод (180 °)
- GND - G
- VCC - 5 В
Диспенсер для еды
-
Ультразвуковой датчик (для емкости для пищевых продуктов)
- GND - G
- VCC - 5 В
- ЭХО - D5
- ТРИГГЕР - D0
-
Ультразвуковой датчик (для определения расстояния питомца от миски)
- GND - G
- VCC - 5 В
- ЭХО - D6
- ТРИГГЕР - D7
-
Весоизмерительная ячейка
- ЗЕЛЕНЫЙ - A + (HX711)
- БЕЛЫЙ - A- (HX711)
- ЧЕРНЫЙ - E- (HX711)
- КРАСНЫЙ - E + (HX711)
-
HX711 (усилитель тензодатчика)
- GND - G
- VCC - 5 В
- DT - D4
- SCK - D3
-
Сервопривод (непрерывное вращение)
- GND - G
- VCC - 5 В
- КОНТРОЛЬ - D8
Шаг 4: крафтить
Рукомойник
- Приклейте сервопривод к верхней части нижней части дозатора (как показано на фото).
- Просверлите небольшое отверстие в ручке дозатора воды.
- Подключите сервоголовку к ручке с помощью провода (убедитесь, что сервоголовка находится в положении 0, и убедитесь, что провод затянут).
- Приклейте один ультразвуковой датчик к внутренней стороне резервуара рядом с его верхом (датчик направлен вниз).
- Приклейте один ультразвуковой датчик под ручкой подачи воды к внешней стороне (убедитесь, что он достаточно высок, чтобы емкость для воды не влияла на его показания).
Диспенсер для еды
- Прикрутите сервопривод к держателю (деталь, напечатанная на 3D-принтере).
- Приклейте воронку (деталь, напечатанная на 3D-принтере) к держателю резервуара (деталь, напечатанная на 3D-принтере).
- Подсоедините держатель резервуара к стойке дозатора (деталь, напечатанная на 3D-принтере) и установите резервуар на место.
- Вставьте вращающуюся часть (напечатанную на 3D-принтере) на место и через вращающуюся резиновую часть дозатора.
- Прикрутите часть держателя сервопривода к стойке дозатора.
- Приклейте один ультразвуковой датчик к внутренней стороне крышки резервуара (датчик направлен вниз).
- Приклейте один ультразвуковой датчик к стороне держателя резервуара, обращенной к месту, где будет есть ваш питомец.
Тензодатчики
Приклейте каждый датчик нагрузки к основанию и пластине, напечатанным на 3D-принтере (стрелка датчика нагрузки направлена вниз)
Шаг 5: Москитто
Откройте Mosquitto (пользователи Windows: перейдите в папку Mosquitto, откройте cmd и введите: "mosquitto -v").
* Чтобы получить внутренний IP-адрес компьютера, запустите cmd и введите «ipconfig».
Шаг 6: IDE Arduino
Откройте Arduino IDE и следуйте разделу «Установка надстройки ESP8266 в Arduino IDE» этого руководства:
Перейдите в Инструменты-> Доска и выберите «LOLIN (WEMOS) D1 R2 & mini».
Перейдите в Sketch-> Include Library-> Add. ZIP Library… и добавьте 3 библиотеки в файл «Libraries.rar».
Откройте скетч «HX711Calibration», загрузите его в оба ESP8266, запустите его и следуйте инструкциям (в начале кода и в последовательном мониторе), чтобы откалибровать датчики веса (убедитесь, что скорость передачи последовательного монитора установлена на 115200 бод).
* Запишите калибровочный коэффициент и смещение нуля (для дальнейшего использования).
Откройте эскизы "FoodDispenser" и "WaterDispenser" в среде IDE и измените следующие переменные своими настройками (в файле "Settings.h"):
- WIFI_SSID
- WIFI_PASSWORD
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* В MQTT_SERVER введите внутренний IP-адрес из шага «Mosquitto».
Загрузите эскизы на свои два ESP8266 (по одному коду на каждую плату).
* Обратите внимание, что мы использовали библиотеку «AsyncMqttClient», а не более распространенную библиотеку «pubsubclient», поскольку esp8266 дает сбой при объединении с библиотекой «HX711».
* Если вы решите внести изменения в код, убедитесь, что не используете функции «delay» и «yield» внутри функций обратного вызова, так как это вызовет сбои.
Шаг 7: Нгрок
Разархивируйте загруженный файл (по ссылке в шаге «Программное обеспечение»).
Откройте «ngrok.exe» и выполните команду «ngrok http 1880».
* Вы можете выбрать ближайший к вам регион (au, eu, ap, us, jp, in, sa). По умолчанию мы.
Например, запустите команду: «ngrok http --region = eu 1880» (укажите регион в Европе).
Теперь вы увидите свой веб-адрес для внешнего использования (мы будем называть этот адрес YOUR_NGROK_ADDRESS).
Шаг 8: Node-RED
Откройте Node-RED (пользователи Windows: откройте cmd и введите "node-red") и перейдите по адресу https:// localhost: 1880 (если это не сработает, найдите адрес в окне cmd, где написано "Сервер сейчас работает на ").
Откройте меню (в правом верхнем углу) и нажмите «Управление палитрой».
Перейдите на вкладку «Установить», найдите и установите следующие модули:
- узел-красный-вклад-персист.
- узел-красный-вклад-крон-плюс.
- узел-красный-вклад-пользовательский интерфейс.
- узел-красный-приборная панель.
- узел-красный-вклад-телеграмбот.
Перейдите в меню-> Импорт и загрузите файл потока (извлеките прикрепленный файл RAR и загрузите файл json).
См. Приложенные изображения для объяснения потока.
Вам нужно будет изменить эти узлы с вашими настройками:
- Обновите профиль узла «Отправитель Telegram», указав имя пользователя и токен вашего бота (используйте это руководство:
- Внизу потока измените полезные данные узлов «Ngrok Address» и «Telegram Chat Id» (получите свой идентификатор чата, используя руководство Telegram по ссылке выше).
-
В нижней части потока находятся узлы настроек - измените их под свои нужды:
- Активировать оповещения о еде / питье питомца.
- Определите, на каком расстоянии активируется оповещение о еде / питье.
- Определите обработку данных чаш и резервуаров.
- Измените время выдачи (как долго происходит выдача - автоматический режим и нажатие кнопки).
- Определите процентное значение порога переполнения чаши для еды (отмените автоматическую раздачу еды, если в чаше достаточно еды).
Разверните поток (вверху справа).
* Только при первом развертывании вы увидите предупреждение в окне отладки об отсутствии файла persistance.json. Не беспокойтесь об этом, поскольку в тот момент, когда вы установите время кормления или измените автоматический переключатель подачи воды, он инициализирует этот файл, и у вас больше не будет этого предупреждения.
Вы можете просмотреть свою панель управления на https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880 / ui (если вы подключены к той же локальной сети, что и сервер) или YOUR_NGROK_ADDRESS / ui (отовсюду).
Шаг 9: Заключение
Мы надеемся, что это руководство было информативным и легким для чтения, понимания и реализации.
Не стесняйтесь спрашивать нас о чем угодно.
Рекомендуемые:
Автоматическая кормушка для домашних животных с использованием AtTiny85: 6 шагов
Автоматическая кормушка для домашних животных с использованием AtTiny85: Нет Автоматическая кормушка для домашних животных с использованием AtTiny85 от ПЭТ Engenharia de Computação имеет лицензию com uma Licença Creative Commons - Atribuição 4.0 Internacional
Умная кормушка для домашних животных: 11 шагов
Smart Pet Feeder: Я учусь в Академии Howest Kortrijk в Бельгии. Специально для кошек и собак я сделала кормушку. Я сделал этот проект для своей собаки. Часто меня нет дома, чтобы покормить собаку вечером. Из-за этого моя собака должна ждать, чтобы получить свою еду. С
Кормушка для домашних животных Google Assistance: 3 шага
Google Assistance Pet Fedder: Введение: Как оказалось, я слишком ленив, и входить в облачную консоль Bolt, чтобы кормить моего питомца, было слишком много, поэтому я использовал облако Bolt и службу IFTTT, чтобы кормите моего питомца всякий раз, когда я говорю об этом Google Ассистенту на своем телефоне.TLD
Автоматическая кормушка для домашних животных с использованием старых цифровых часов: 10 шагов (с изображениями)
Автоматическая кормушка для домашних животных с использованием старых цифровых часов: Здравствуйте, в этой инструкции я покажу вам, как я сделал автоматическую кормушку для домашних животных, используя старые цифровые часы. Я также вложил видео о том, как я сделал эту кормушку. Это руководство будет участвовать в конкурсе печатных плат, и в качестве одолжения я хотел бы
Кормушка для домашних животных с дистанционным управлением: 5 шагов
Кормушка для домашних животных с дистанционным управлением: в этой инструкции я покажу, как вы можете построить простую кормушку для домашних животных с дистанционным управлением. С помощью этого простого проекта Arduino вы можете кормить своего питомца с помощью пульта дистанционного управления. Все, что вам нужно, это плата Arduino Uno (или аналогичная) , пластиковая бутылка, сервопривод