Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я фанат инженерной мысли, в свободное время люблю программировать и создавать проекты, связанные с электроникой, в этом проекте я хотел бы поделиться с вами простой системой сортировки продуктов, которую я недавно создал.
Для изготовления этой системы подготовьте следующие компоненты:
1. Raspberry Pi 3 + Camera v2.1 + блок питания
2. Arduino Uno + моторный щит + блок питания (для этого я использую тесто)
3. NodeMCU ESP8266 + моторный щит + блок питания (для этого я использую тесто)
4. Двигатель постоянного тока x 1
5. RC сервопривод 9g x 2
6. RC сервопривод MG90S x 2
7. ИК-датчик x 3
8. Светодиоды для осветительной части.
9. Подшипник шарикового передаточного механизма x 1
10. Картон, палочки для мороженого, соломинки.
11. Конвейерная лента
12. Планшет или смартфон.
Шаг 1. Детали и компоненты системы
Эта система в основном состоит из 3 частей.
1. Рука для хранения и потребления продукта. (В качестве продукции использую коробки с этикеткой)
2. Конвейерные ленты и прикрепленные к ней исполнительные механизмы и датчики.
3. Центр управления и монитор. (Raspberry Pi + камера в качестве центра управления и планшет в качестве монитора)
Шаг 2: Часть 1 - Хранение продукта и краткое описание руки потребителя
Потребляющая рука получает управляющий сигнал от контроллера (Raspberry Pi 3) для выполнения следующей последовательности: Рука вверх на 90 градусов => Рука поворачивается на 90 градусов => Рука вниз на 0 градусов => Поле обнаружено ИК-датчиком => Пальцы близко, чтобы взять box => Рука поворачивается обратно на 0 градусов => Пальцы открываются и бросают коробку.
Для получения подробной информации введите код:
github.com/ANM-P4F/ProductSortingSystem/tr…
Шаг 3: Конвейерные ленты Part2 и прикрепленные к ним приводы и датчики
Ядром этой части является Arduino Uno. Он получает сигнал «старт / стоп» от Raspberry Pi через последовательное соединение для запуска / остановки конвейера. Первый ИК-датчик вдоль конвейерного колокола подключается к Arduino Uno через DIO, когда он обнаруживает коробку, Arduino Uno останавливает конвейерный колокол и отправляет сигнал в Raspberry Pi через последовательное соединение для классификации изображений.
После того, как классификация была выполнена, Raspberry Pi отправляет сигнал Arduino, чтобы продолжить работу.
Второй ИК-датчик также подключается к Arduino через DIO, когда он обнаруживает коробку, Arduino управляет серводвигателем для сортировки.
Подробнее см. Исходный код по следующей ссылке:
github.com/ANM-P4F/ProductSortingSystem/tr…
Шаг 4: Центр управления и монитор
Raspberry Pi с подключенной камерой - это центр управления.
В качестве панели монитора можно использовать планшет или смартфон.
Raspberry Pi получает управляющую команду пользователя для запуска / остановки системы через HTTP-запрос, который может быть выполнен в веб-браузере на планшете или смартфоне.
После получения команды управления Raspberry Pi запрашивает запуск частей рычага и конвейера.
Raspberry Pi связывается с Arduino Uno (часть конвейерного колокола) через последовательный порт и NodeMCU ESP8266 (потребляющая часть) через UDP. Raspberry Pi - это потоковый сервер, он передает изображения с камеры в веб-браузер. Он также запускает классификационную сеть vgg16 на tensorflow lite, чтобы классифицировать коробки, чтобы получить тип логотипа (Бэтмен, Супермен и наш). Сеть классификации запускается только тогда, когда Raspberry Pi получает команду от Arduino Uno (когда ящик обнаруживается первым ИК-датчиком).
Что касается этикетки коробки, в этом проекте я использовал 3 класса логотипа.
Если вам нужно обучить собственные классы, воспользуйтесь этим источником:
github.com/ANM-P4F/Classification-Keras
Подробнее см. Код по следующей ссылке:
github.com/ANM-P4F/ProductSortingSystem/tr…
Шаг 5: Вот и все! Надеюсь, вам понравится этот проект
Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация.