Оглавление:
- Запасы
- Шаг 1. Идея
- Шаг 2: Дизайн - Система хранения
- Шаг 3: Дизайн - дисплейный рычаг
- Шаг 4: 3D-печать и живопись
- Шаг 5: Электроника
- Шаг 6: Обзор программного обеспечения
- Шаг 7: структура данных
- Шаг 8: Сборка - Электроника
- Шаг 9: Сборка - система хранения
- Шаг 10: Заключение
Видео: Система хранения компонентов: 10 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Ultimate Component Storage System - уникальное решение для организации и хранения электронных компонентов. Специальное программное обеспечение позволяет каталогизировать компоненты со встроенной функцией поиска, чтобы получить быстрый доступ к конкретным компонентам. Светодиоды над каждым ящиком используются для индикации местоположения и состояния отдельных или группы компонентов.
Запасы
Спасибо DFRobot за предоставленные ниже детали для этого проекта!
2 x 5 В при 3 А, USB-источник питания
Доступно здесь (партнерская ссылка):
1 х Raspberry Pi 4 Модель B
Доступно здесь (партнерская ссылка):
1 x 8,9-дюймовый сенсорный IPS-дисплей с разрешением 1920 x 1200
Доступно здесь (партнерская ссылка):
1 светодиодная лента WS2812b, 30 светодиодов / м
Доступно на Ebay
Все файлы для этого проекта можно найти на моем GitHub:
Шаг 1. Идея
Фон
У меня всегда были проблемы с организацией и хранением моих компонентов. Фотография выше показывает состояние моего текущего решения для хранения компонентов. Хотя наличие компонентов в нескольких коробках по всей мастерской могло работать для некоторых, это всегда было неэффективным в моем рабочем процессе. Итак, я придумал проект, чтобы решить эту проблему.
Идея
Идея заключалась в том, чтобы хранить все компоненты в одной системе хранения. Система хранения будет состоять из множества ящиков, и над каждым ящиком будет установлен светодиод.
Пользователь будет использовать специальное программное обеспечение для взаимодействия с системой хранения. Когда пользователь выполняет поиск компонентов, система отображает на экране самые популярные результаты поиска. Одновременно с этим загораются светодиоды, соответствующие поиску, что указывает на местоположение компонента в системе хранения.
Помимо отображения местоположения, цвет светодиодов также будет указывать на состояние (то есть количество) каждого компонента.
Требования
Идея была разбита на следующие требования, которым стремится удовлетворить этот проект:
Создайте простую систему хранения и извлечения компонентов малого и среднего размера
Создайте программный интерфейс для каталогизации и поиска по компонентам
Используйте светодиоды RGB, чтобы указать расположение и состояние каждого компонента
Шаг 2: Дизайн - Система хранения
Я начал с 3D-моделирования самой системы хранения.
Я разработал систему хранения в виде матрицы ящиков, напечатанных на 3D-принтере, разных размеров. Ящики расположены в сетке 35 × 12, всего 310 ящиков. Этого места достаточно, чтобы хранить все мои текущие компоненты и оставить место для будущего расширения.
Расстояние между ящиками в вертикальном направлении рассчитано на размещение светодиодной ленты шириной 10 мм над каждым рядом ящиков. Расстояние в горизонтальном направлении рассчитано на то, чтобы равняться расстоянию между светодиодами на светодиодной ленте. Я подумал, что использование светодиодной ленты 30LED / метр обеспечит адекватный размер каждого ящика.
Все ящики и держатели для ящиков предназначены для отдельной печати и сборки в желаемой конфигурации. Ящики доступны в разных размерах, и любая конфигурация ящиков будет работать с программным обеспечением после некоторых изменений кода.
Чтобы свести к минимуму расход нити и время печати, толщина стенок всех деталей, напечатанных на 3D-принтере, сведена к минимуму. После сборки общий блок для хранения становится достаточно прочным, чтобы вместить большинство легких и средних компонентов.
Шаг 3: Дизайн - дисплейный рычаг
Поскольку для системы хранения данных требуется дисплей HDMI для пользовательского интерфейса, я решил разработать регулируемый кронштейн для крепления дисплея и электроники.
Все части кронштейна дисплея были разработаны для 3D-печати и собраны с помощью болтов и гаек M8. Кронштейн дисплея предназначен для размещения дисплея HDMI, Raspberry Pi и всей проводки.
Части кронштейна дисплея были основаны на этом дизайне от Thingiverse.
Шаг 4: 3D-печать и живопись
После 3D-моделирования всех деталей пришло время печатать сотни ящиков.
Я использовал свой Prusa MK2S для всех частей этого проекта, напечатанных на 3D-принтере. Я использовал нить PLA с толщиной слоя 0,2 мм и заполнением 0%.
Поддерживающий материал требовался только для держателя ящика среднего размера и держателя ящика большого размера. Я определил, что идеальный допуск между ящиками и держателями ящиков составляет 0,2 мм. Ваш пробег может сильно зависеть от вашего 3D-принтера.
После распечатки всех отдельных частей я использовал суперклей, чтобы собрать вместе все держатели ящиков в сетку 35 × 12.
У меня не хватило нити того же цвета, поэтому я решил добавить слой черной краски, чтобы система хранения выглядела ровно.
Для справки, вся моя система хранения 35 × 12 с 310 ящиками требовала около 5 кг нити для печати.
Шаг 5: Электроника
Что касается электроники, то выбор оборудования был довольно простым.
В качестве пользовательского интерфейса я выбрал Raspberry Pi 4 Model B, подключенный к дисплею HDMI. Вы также можете использовать безголовый Raspberry Pi и взаимодействовать с системой через SSH. Старые версии Raspberry Pi также могут работать, если они могут запускать Python 3. Библиотека Neopixel, используемая в этом проекте, не поддерживается на Python 2.
Для светодиодов я выбрал 30LED / m, WS2812b, LED-ленту без особой на то причины. Другие светодиодные ленты также будут работать, если они поддерживаются библиотекой Neopixel.
Что касается проводки, то для питания Raspberry Pi, дисплея и светодиодов используются три кабеля USB-C. Кабель HDMI используется для подключения дисплея и Raspberry Pi.
Arduino Uno и USB-кабель, показанные на фото, не являются обязательными. Вы можете отправить данные в Arduino через последовательный порт и использовать его в качестве контроллера светодиода. Для простоты я решил не использовать Arduino в этом проекте.
Хорошей практикой проектирования было бы включение переключателя уровня в линию передачи данных для светодиодов, поскольку Raspberry Pi GPIO имеет только 3V3. У меня пока не было никаких проблем, но если они возникнут, я использую что-то вроде "74AHCT125 Quad Level-Shifter".
Руководство по использованию Neopixel с Python и Raspberry Pi существует здесь.
Шаг 6: Обзор программного обеспечения
Пока все детали печатались на 3D-принтере, я работал над программным обеспечением, управляющим всей системой.
Программное обеспечение написано на Python 3 и предназначено для работы в качестве консольного приложения на Raspberry Pi. Функциональность программного обеспечения можно разбить на следующие части:
- Прочитать ввод пользователя
- Чтение из файла / запись в файл
- Вывод результатов на консоль и светодиоды.
Ниже я дам упрощенное описание каждого шага.
Прочитать ввод пользователя
Когда пользовательский ввод получен, для определения запроса пользователя используется серия выражений Regex. На выбор пользователю доступны следующие функции:
Функция | Пример звонка |
---|---|
Перечислите все компоненты: | все |
Искать компонент по ID: | ID22 |
Искать компонент по параметрам: | R, 22, SMD |
Измените количество компонента: | ID35 + 10 |
Добавьте новый компонент: | PI89: PI90, 100шт, C, 470u, SMD: добавить |
Удалите существующий компонент: | ID10: rm |
Справка по синтаксису: | помощь |
Чтение из файла / запись в файл
Данные компонента хранятся в файле.txt. В зависимости от ввода программное обеспечение либо ищет данные в файле, либо записывает новые данные в файл. Новые данные записываются при удалении, добавлении или изменении компонентов.
Вывод результатов
Программа выводит результаты операции на консоль. Если поиск был проведен, он также генерирует и выводит данные светодиодов одновременно.
Шаг 7: структура данных
Данные компонентов в файле.txt имеют определенную структуру. Каждая строка файла содержит информацию об одном компоненте, хранящемся в системе. Каждый компонент состоит из нескольких параметров, разделенных запятой.
Некоторые параметры являются обязательными и используются программным обеспечением для отслеживания расположения компонентов и цветов светодиодов. Поэтому они должны следовать определенному формату.
Обязательные параметры и их форматы:
-
ID (в формате IDX, где X - одна или несколько цифр)
ID действует как уникальный идентификатор для каждого компонента. Используется при поиске и удалении компонентов
-
PI (в формате PIX: X, где X - одна или несколько цифр)
PI описывает, какие светодиоды соответствуют какому компоненту
-
Количество (в формате Xpcs, где X - одна или несколько цифр)
Количество используется для определения цвета светодиода для каждого компонента
Остальные параметры просто предназначены для пользователя. Программному обеспечению не нужно взаимодействовать с ними, поэтому их формат не является обязательным.
Шаг 8: Сборка - Электроника
Сборку можно разделить на две части, первая часть - это дисплей и электроника.
Я собрал детали, напечатанные на 3D-принтере, используя необходимые болты и гайки. Затем я прикрепил напечатанный на 3D-принтере кронштейн к HDMI-дисплею с помощью 4-миллиметровых винтов. Raspberry Pi был прикреплен в удобном месте, а проводка была подключена в соответствии со схемой в «Шаге 5: Электроника».
Была предпринята попытка прокладки кабеля, намотав его на кронштейн дисплея. Я использовал кабельные стяжки, чтобы провести кабели питания и данных вдоль кронштейна дисплея для подключения к остальной части системы хранения.
Шаг 9: Сборка - система хранения
Вторая часть сборки - это сама система хранения.
Используя входящие в комплект отверстия для винтов, я прикрепил все отдельные сборки ящиков к куску окрашенной фанеры, которая действует как задняя стенка.
После этого я прикрепил светодиодные ленты к каждому ряду и соединил все ряды вместе в одну светодиодную ленту. Конфигурация каждого ряда и направления светодиодной ленты не имеет значения, так как ее можно изменить программно.
Чтобы закончить сборку, я прикрепил кронштейн дисплея с электроникой сбоку от фанерной панели.
Я отсортировал все компоненты по их новому дому и добавил их в базу данных файлов.txt.
Шаг 10: Заключение
Теперь проект завершен, и я очень доволен тем, как он получился!
У меня было время использовать мою новую систему хранения всего несколько дней, и она отлично работает. Я очень рад видеть, как эта система изменит мой рабочий процесс в будущем, поскольку это было целью всего проекта.
Надеюсь, вам понравился этот проект, и если у вас есть какие-либо мысли, комментарии или вопросы, оставьте их ниже.
Рекомендуемые:
Пайка компонентов со сквозным отверстием - Основы пайки: 8 шагов (с изображениями)
Пайка компонентов со сквозным отверстием | Основы пайки: в этой инструкции я расскажу об основах пайки компонентов со сквозными отверстиями на печатные платы. Я предполагаю, что вы уже ознакомились с первыми двумя инструкциями по моей серии «Основы пайки». Если вы еще не зашли в мой In
Тестер компонентов UNO Shield: 5 шагов (с изображениями)
Component Tester UNO Shield: Здравствуйте! В моих прошлых проектах по тестированию компонентов - Тестер компонентов в цепочке для ключей и Тестер компонентов USB я получил много комментариев и сообщений с просьбой предоставить версию тестера компонентов, совместимую с Arduino. Ожидание окончено, ребята !!! Представляем C
Система хранения резисторов "Resys": 7 шагов (с изображениями)
Система хранения резисторов Resys: это система, которая упрощает поиск резисторов. Найдите нужное значение, и загорится правый ящик. Эту систему можно расширить до желаемого количества ящиков
OrangeBOX: Безопасное устройство хранения резервных копий на базе OrangePI: 5 шагов
OrangeBOX: Безопасное устройство хранения резервных копий на базе OrangePI: OrangeBOX - это универсальное устройство удаленного резервного копирования для любых серверов. Ваш сервер может быть заражен, поврежден, удален, и все ваши данные по-прежнему находятся в безопасности на OrangeBOX, и кому не понравится невыполнимая миссия, такая как устройство резервного копирования, что вы только что
ЯЩИК ДЛЯ ХРАНЕНИЯ IC / КОМПОНЕНТОВ ДО 1 ДОЛЛАРА: 5 шагов (с изображениями)
ЯЩИК ДЛЯ ХРАНЕНИЯ ИС / КОМПОНЕНТОВ ДО 1 ДОЛЛАРА: Здесь мы собираемся сделать коробку ИС / компонентов до 1 доллара