
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05



У меня есть две кошки, и необходимость кормить их угощениями примерно 3 раза в день стала довольно неприятной. Они смотрели на меня своими милыми лицами и пристальными взглядами, затем бежали к коробке, полной кошачьей зелени, мяукали и умоляли о них. Я решил, что этого достаточно. Больше не нужно вставать, чтобы угостить кошку парочкой угощений. Пришло время для автомата для раздачи лакомств, потому что, как говорится: «Программисты существуют для того, чтобы делать сложные вещи меньше, чтобы делать простые вещи».
DFRobot спонсировала этот проект.
Список деталей:
- DFRobot Raspberry Pi 3
- Модуль камеры DFRobot Raspberry Pi
- Шаговый двигатель DFRobot с планетарной передачей
- I2C ЖК-дисплей 16x2
- Бочка Джек к Терминалу
- Драйвер шагового двигателя DRV8825
- Конденсатор 100 мкФ
- Arduino UNO и Genuino UNO
- Перемычки (общие)
Шаг 1: Создание дизайна

Сначала был выбор, как управлять моей новой задуманной машиной. Радиус действия Bluetooth был бы слишком мал - всего 30 футов без препятствий. Имея эту информацию, я решил использовать Wi-Fi. Но как теперь использовать Wi-Fi для управления машиной? Raspberry Pi 3 имеет встроенные возможности Wi-Fi, что позволяет мне использовать Flask для размещения веб-страницы. Затем была тема вольера и того, как распределять угощения. Я выбрал конструкцию с вращающимся колесом, в которой лакомства будут распадаться на маленькие части, вращаться вокруг них, а затем лакомства падают на рампу и перемещаются к передней части машины.
Шаг 2: Создание модели Fusion 360



Я начал с создания базовой модели сосуда для угощения. Лакомства попадают в мини-бункер, откуда они попадают во вращающееся колесо.
Затем я добавил Raspberry Pi 3 в дизайн Fusion вместе с другой электроникой, включая ЖК-дисплей и модуль камеры Raspberry Pi. Еще я сделал бункер, в который можно было хранить дополнительные угощения.
Стенки для дозатора угощений должны быть вырезаны из фанеры толщиной 1/4 дюйма на фрезерном станке с ЧПУ. Он состоит из 7 частей, 4 стенок, пола, а также верхней части и крышки, которые можно открывать и закрывать, чтобы обнажить угощения.
Наконец, я создал "причудливую" ручку для открывания крышки.
Шаг 3: настройка Pi
DFRobot обратился ко мне и прислал свой модуль камеры Raspberry Pi 3 и Raspberry Pi. Итак, открыв коробки, я сразу приступил к установке SD-карты. Сначала я зашел на страницу загрузок Raspberry Pi и загрузил самую последнюю версию Raspbian. Затем я извлек файл и поместил его в удобный каталог. Вы не можете просто скопировать / вставить файл.img на SD-карту, вы должны «записать его» на карту. Вы можете загрузить утилиту записи, например Etcher.io, чтобы легко перенести образ ОС. После того, как файл.img был на моей SD-карте, я вставил его в Raspberry Pi и подал питание. Примерно через 50 секунд я отключил шнур и вынул SD-карту. Затем я вставил SD-карту обратно в свой компьютер и перешел в «загрузочную» директорию. Я открыл Блокнот и сохранил его как пустой файл с именем «ssh» без расширения. Я также добавил файл под названием "wpa_supplicant.conf" и поместил в него этот текст: network = {ssid = psk =} Затем я сохранил, извлек карту и вставил ее обратно в Raspberry Pi 3. Теперь это должно позволить использование SSH и подключение к WiFi.
Шаг 4: Установка программного обеспечения
Существует несколько различных программ, которые могут передавать видео, например VLC и движение, но я решил использовать mjpeg-streamer из-за его низкой задержки и простой установки. В соответствии с инструкциями на сайте выполните: git clone https://github.com/jacksonliam/mjpg-streamer.git В папку введите: sudo apt-get install cmake libjpeg8-dev Чтобы установить необходимые библиотеки. Измените свой каталог на папку, которую вы скачали, а затем введите: make Далее следует: sudo make install Для компиляции программного обеспечения. Наконец введите: export LD_LIBRARY_PATH =. И для его запуска введите:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Вы можете получить доступ к потоку, перейдя по адресу: https:// Локальный IP-адрес пи: 8080 / stream. html Для просмотра потока.
Шаг 5: Настройка веб-сервера
Для внешнего управления машиной через Wi-Fi мне понадобился веб-сервер. Веб-сервер в основном обслуживает веб-страницы по запросу, обычно через браузер. Мне нужно было что-то быстрое и простое в установке и использовании, снимающее с стола Apache. Я также хотел связать веб-сервер с Python, чтобы я мог управлять Arduino Uno с помощью PySerial. Этот квест в конечном итоге привел меня к Flask, красивой библиотеке Python, которая позволяет пользователям быстро создавать веб-сервер. Полный код прилагается к этой странице проекта. Сценарий python в основном устанавливает 2 веб-страницы, одну из которых размещают в корневом каталоге «/», а другую - в «/ dispense». Индексная страница имеет HTML-форму, которая при отправке отправляет почтовый запрос на страницу выдачи. Затем страница выдачи проверяет, является ли значение сообщения правильным, и если это сообщение, «D / n» отправляется через последовательный порт на Arduino Uno.
Шаг 6: Управление вводом-выводом




Я решил использовать DRV8825 для привода моего шагового двигателя, в основном из-за того, что ему нужны только 2 контакта ввода-вывода вместе с регулируемым ограничением тока. Я попытался использовать L293D, но он не выдержал нагрузки шагового двигателя. DRV8825 управляется путем подачи импульсов на вывод STEP через ШИМ, а направление регулируется путем подтягивания вывода DIR к высокому или низкому уровню. Шаговый двигатель, который я использую, потребляет 1,2 А, поэтому я установил напряжение VREF на 0,6 В. Следующим был ЖК-дисплей. Я хотел использовать I2C, чтобы уменьшить количество необходимых операций ввода-вывода и упростить код. Чтобы установить библиотеку, просто найдите «LiquidCrystal_I2C» и установите ее. Наконец, Arduino Uno проверяет наличие новой информации в последовательном буфере и ее соответствие «D». Если это так, Uno заставляет шаговый двигатель перемещаться на 180 градусов, а затем на -72 градуса, чтобы лакомства не застревали.
Рекомендуемые:
Проект автоматизированной миски для корма для домашних животных: 13 шагов

Проект «Автоматизированная кормушка для домашних животных»: в этом руководстве будет показано и объяснено, как построить автоматизированную программируемую кормушку для домашних животных с прикрепленными мисками для корма. Я прикрепил сюда видео, показывающее, как работает продукт и как он выглядит
Диспенсер корма для домашних животных: 3 шага

Диспенсер для корма для домашних животных: для талисманов, как это сделать! Un alimentador automático que te permite observar cual es el pesaje de la comida, y solo es necesario que oprimas un botón.Un mecanismo sencillo que podrás armar desde tu
Мяч для домашних животных: 10 шагов (с изображениями)

Pet Robot Ball: Моя собака любит играть с игрушками, особенно с теми, за которыми он может гоняться! Я построил роботизированный мяч, который автоматически включается и откатывается всякий раз, когда он с ним взаимодействует, уведомляет меня по мобильному телефону, который затем я могу использовать для управления им через Wi-Fi и плавник
Автоматическая кормушка для домашних животных с использованием старых цифровых часов: 10 шагов (с изображениями)

Автоматическая кормушка для домашних животных с использованием старых цифровых часов: Здравствуйте, в этой инструкции я покажу вам, как я сделал автоматическую кормушку для домашних животных, используя старые цифровые часы. Я также вложил видео о том, как я сделал эту кормушку. Это руководство будет участвовать в конкурсе печатных плат, и в качестве одолжения я хотел бы
Автоматическая катапульта для бросания корма для домашних животных (собака, кошка, курица и т. Д.), Метания мячей и многого другого!: 4 шага (с изображениями)

Автоматическая катапульта для бросания корма для домашних животных (собаки, кошки, курицы и т. Д.), Метания мячей и многого другого !: Здравствуйте, и добро пожаловать на мой первый инструктаж! Наша собака ОБОЖАЕТ свою еду, она буквально съест ее в считанные секунды. Я придумывал способы замедлить это, от шариков с едой внутри до разбрасывания ее на задний двор. Удивительно, но она