Оглавление:
- Шаг 1: лазерная резка
- Шаг 2: Установите светодиоды
- Шаг 3: Сборка
- Шаг 4: пайка
- Шаг 5: Установите SPI Display
- Шаг 6: установите Pi
- Шаг 7: Электропроводка и источник питания
- Шаг 8: настройка Pi
- Шаг 9: код Python, тест и симулятор
- Шаг 10: заключительный тест и облицовка
- Шаг 11: результат
Видео: Деревянный светодиодный игровой дисплей на базе Raspberry Pi Zero: 11 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:47
В рамках этого проекта реализуется светодиодный дисплей на основе WS2812 с разрешением 20x10 пикселей и размером 78x35 см, который можно легко установить в гостиной, чтобы играть в ретро-игры. Первая версия этой матрицы была построена в 2016 году и перестроена многими другими людьми. Этот опыт был использован для обобщения всех улучшений для создания новой версии матрицы и размещения ее на сайте Instructables.com. Основные новые функции - это обновление Raspberry Pi Zero вместо Pi A плюс Arduino и замена предыдущего большого контроллера на геймпад Bluetooth. Также было улучшено программное обеспечение, включая симулятор, который позволяет вам разрабатывать код на компьютере, даже если у вас нет доступа к аппаратному обеспечению матрицы.
Особенностью этой светодиодной матрицы является специальный деревянный шпон, которым покрывают светодиоды и скрывают их, когда светодиоды отключены. Это значительно увеличивает приемлемость для нетехнических людей;-) Конечно, если этот специальный шпон недоступен в вашей стране, вы также можете использовать другой рассеивающий материал, например акрил, чтобы скрыть светодиоды. Также в будущем планируется предоставить некоторые ключевые части, чтобы упростить восстановление проекта.
Запасы:
- Raspberry Pi Zero W (с некоторыми адаптациями все остальные модели также будут работать)
- 200 светодиодов / с (светодиодные ленты WS2812B с 30 светодиодами / м)
- 4-кратный светодиодный матричный дисплей SPI с MAX7219
- Кабели
- Bluetooth-геймпад (например, от Pimoroni)
- Блок питания 5В не менее 5А
- Древесина МДФ для лазерной резки
- Деревянный шпон или диффузионная акриловая плита
- Конденсатор, резистор
- Некоторые винты
Шаг 1: лазерная резка
Основание матрицы выполнено из дерева МДФ толщиной 3 мм и вырезано лазерным резаком. Если у вас нет лазерного резака, вы можете использовать онлайн-сервис, например ponoko.com или formulor.de, или связаться с ближайшим fablab / makerspace в вашей среде. Также можно использовать картон или другие более легкие материалы, но прикрепленные файлы рассчитаны на толщину 3 мм, поэтому более тонкие или более толстые материалы требуют изменения дизайна файлов. Дизайн был выполнен в Fusion 360. Большинство частей скрепляется простым сдвигом на место, только некоторые части, такие как внешние границы, должны быть склеены с помощью столярного клея. Перед нанесением клея убедитесь, что ваша матрица полностью исправна! Также необходимо наклеить деревянный шпон, но это последний шаг после того, как вы убедитесь, что все работает.
На правой (нижней) стороне объединительной платы есть вырезанный сегмент, чтобы прикрепить электронные компоненты к матрице и по-прежнему иметь доступ к этим компонентам, когда облицовка наклеена.
Шаг 2: Установите светодиоды
Светодиодные полосы представляют собой стандартные полосы WS2812 30 светодиодов / м, которые можно купить на Amazon, eBay или в других интернет-магазинах по всему миру. Обычно это также самая дешевая из доступных адресных светодиодных лент. Если вы хотите использовать другие светодиоды, вы должны обеспечить расстояние 30 светодиодов / м для соответствия шаблону матрицы. Сегменты, вырезанные лазером, имеют небольшие вырезанные области, соответствующие ширине светодиода 10 см. Эти светодиодные ленты имеют двустороннюю ленту на обратной стороне, поэтому вы можете просто приклеить их непосредственно к МДФ после точного позиционирования. Перед использованием ленты проверьте правильность ориентации каждой полосы (направление DIN-DOUT).
Схема подключения - зигзагообразная, поэтому в конце к матрице имеется только один входной контакт, а длина кабеля должна быть как можно короче. Чтобы правильно распределить мощность и уменьшить количество кабелей в верхней части матрицы, каждая светодиодная полоса подключена к 5V и GND в нижней части матрицы. Вы можете использовать одиночные провода или прототипы печатных плат для распределения линии 5V и GND.
Шаг 3: Сборка
Разнесенный вид помогает определить правильные детали для сборки. Просто следуйте пошаговым инструкциям по установке. Объединительная плата имеет поперечные конструкции для удержания длинных боковых стенок и некоторых коротких стенок. Если у вас возникли проблемы с установкой деталей, исправьте их наждачной бумагой.
Шаг 4: пайка
Есть разные способы спаять вместе силовые линии для разных полос. Либо вы можете использовать одиночные провода, либо какую-то общую рейку из меди, чтобы припаять разные провода. В этом случае части прототипа печатной платы использовались для направления силовых шин к полосам. У полосок WS2812B уже есть отдельные кабели питания, которые можно использовать для подключения шины питания к входу первой полосы (слева на картинке).
Шаг 5: Установите SPI Display
Для отображения результатов игры и текста используется светодиодный матричный дисплей на базе драйвера светодиодов MAX7219. Он подключен через SPI (последовательный периферийный интерфейс) к Raspberry Pi. Четыре дисплея 8x8 объединены в матричный дисплей 32x8 пикселей. Вы можете купить эти дисплеи 8x8 пикселей, например, для на eBay также доступны комбинированные дисплеи 32x8 пикселей. Также у вас есть разные варианты цвета; в этом случае использовались красные дисплеи. Поскольку SPI работает как регистр сдвига, дисплеи подключаются друг к другу последовательно путем соединения данных из первой матрицы с данными из второй и так далее, начиная с правой стороны дисплея.
Этот дисплей доступен для чтения только снаружи, если он расположен непосредственно за слоем фанеры. В противном случае видно только красное пятно. Таким образом, вы должны установить его поверх вырезанного сегмента объединительной платы на расстоянии 30 мм между поверхностью объединительной платы и поверхностью матрицы. Я использовал некоторые оставшиеся деревянные детали и винты, чтобы приспособить недостающие 19 мм между объединительной платой и печатными платами, но вы также можете использовать любые внешние прокладки.
Подключение дисплея показано на шаге 7.
Шаг 6: установите Pi
В этой установке используется Raspberry Pi Zero. Вы также можете использовать любую другую модель Raspberry Pi, но более новые модели со встроенным Wi-Fi и Bluetooth позволяют легко подключаться к беспроводным геймпадам и упростить программирование. Вы можете закрепить Pi, используя как минимум два винта и небольшие прокладки, чтобы прикрутить его к объединительной плате.
Для Raspberry Pi Zero W используются следующие контакты:
- PIN 2: 5 В
- ПИН 6: GND
- GPIO18 -> светодиодные ленты
- GPIO11: SPI CLK -> MAX7219 матрица CLK
- GPIO10: SPI MOSI -> MAX7219 матрица DIN
- GPIO8: SPI CS -> MAX7219 матрица CS
Некоторые люди сообщали о проблемах с использованием GPIO18 для светодиодов. В этом случае используйте GPIO21. Если это так, вам нужно изменить код в строке 21 на pixel_pin = board. D21.
Полоса WS2812B используется здесь вне ее спецификации. Обычно для этого требуется логический уровень 5 В на DIN, но Pi обеспечивает только 3,3 В. Даже если это работает в большинстве случаев, вам следует проверить это с помощью своей полоски. Если это не работает, вы можете добавить преобразователь уровня, такой как 74HCT245, или любой другой преобразователь 3V3 в 5V между Pi и полосой.
Шаг 7: Электропроводка и источник питания
Электромонтаж выполняется по схеме разводки. Источник питания - источник постоянного тока 5 В.
Для легкого включения / выключения матрицы между вилкой питания и цепями матрицы добавлен переключатель. Тем не менее, поскольку Raspberry Pi не любит жесткого выключения, в программном обеспечении есть опция выключения, чтобы безопасно выключить Pi через геймпад перед переключением матрицы.
Вывод DIN светодиодной ленты подключен через резистор к Pi, также добавлен большой конденсатор (4700 мкФ) для буферизации источника питания. Пожалуйста, ознакомьтесь с Ибергидом Adafruit для Neopixels для получения более подробной информации.
Светодиоды потребляют максимальный ток 60 мА на светодиод, поэтому возможен максимальный ток 200x60 мА = 12 А !!! Если уменьшить яркость и не использовать все светодиоды в полностью белом цвете, это скорее теоретическое значение, но оно зависит от кода, при котором достигается максимальный ток. Поэтому очень важно выбрать достаточно большой блок питания. Для большинства приложений достаточно источника питания 5 В / 5 А (25 Вт).
Чтобы закрепить объединительную плату с дисплеем Pi и Matrix, можно использовать небольшие кусочки дерева, чтобы втиснуть их в края, а также использовать винты, чтобы удерживать объединительную панель на месте.
Шаг 8: настройка Pi
1. Загрузите последний образ Raspbian lite с raspberrypi.org
2. Скопируйте его на SD-карту, достаточно 8Гб. Вы можете использовать, например, etcher для этого.
3. Перед загрузкой Pi с SD-картой подготовьте доступ к Wi-Fi и ssh.
4. Вставьте SD-карту в любой компьютер, загрузочная папка должна быть доступна
5. Скопируйте следующие строки в файл wpa_supplicant.conf (сгенерируйте его, если он не существует) и измените параметры в зависимости от вашего Wi-Fi и региона.
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
country = US update_config = 1 network = {ssid = "Домашний Wi-Fi" psk = "mypassword" key_mgmt = WPA-PSK}
6. Добавьте пустой файл с именем ssh (без расширения) для загрузки, чтобы разрешить доступ по ssh.
7. Теперь вставьте SD-карту в Raspberry Pi и загрузите его. Проверьте свой Wi-Fi роутер, чтобы узнать IP-адрес Pi.
8. запустите SSH-соединение с Pi с помощью терминала (Linux, Mac) или, например, Шпатлевать винду. Вставьте IP-адрес Pi вместо 192.168.x.y
9. Обновите Pi (требуется время!)
sudo apt-get update
sudo apt-get upgrade
10. Установите pip and setup tool.
sudo apt-get install python3-pip
sudo pip3 install --upgrade setuptools
11. Установите драйвер Neopixel, ws281x lib, pygame и libsdl.
sudo pip3 установить rpi_ws281x adafruit-circuitpython-neopixel
sudo pip3 установить pygame sudo apt-get install libsdl1.2-dev sudo pip3 install --upgrade luma.led_matrix
12. Включите SPI, вызвав raps-config, перейдите к пункту 5 Interfacing Options / P4 SPI / Enable.
sudo raspi-config
13. Добавьте Bluetooth-геймпад.
sudo bluetoothctl
[bluetooth] # агент на [bluetooth] # сопоставляемый на [bluetooth] # сканирование на [bluetooth] # пара aa: bb: cc: dd: ee: ff [bluetooth] # trust aa: bb: cc: dd: ee: ff [bluetooth] # подключить aa: bb: cc: dd: ee: ff [bluetooth] # выйти
где aa: bb: cc: dd: ee: ff - это MAC-адрес вашего bluetooth-геймпада. Этот адрес должен отображаться после вызова команды «сканирование включено». Убедитесь, что ваш контроллер Bluetooth готов к сопряжению, пожалуйста, проверьте руководство контроллера, как это сделать.
14. Теперь вы можете подключиться к себе через Pi, пароль по умолчанию - raspberry (пользователи Windows могут использовать Putty):
Шаг 9: код Python, тест и симулятор
Код доступен на Github. games_pi_only.py и все файлы bmp необходимы.
git clone href = https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
Код имеет возможность работать в режиме симуляции вне Pi с использованием pygame для имитации матрицы. Это очень полезно для разработки новых функций без прямого доступа к аппаратному обеспечению матрицы. Также намного проще отладка. Вы должны установить константу PI, чтобы активировать режим моделирования (строка 15):
PI = ложь
В этом режиме моделирования вместо геймпада Bluetooth используется клавиатура. Кнопки 1, 2, 3, 4 отображаются на A, B, X, Y геймпада, клавиши со стрелками для направлений, «s» для начала и «x» для выбора. Вы можете использовать стандартный редактор плюс консоль или некоторые интегрированные IDE, такие как Micosoft Visual Studio Code или Jetbrain PyCharm, для разработки на вашем ПК.
Если вы используете матрицу и Raspberry Pi, вам необходимо определить:
PI = True
Чтобы скопировать код на Raspberry Pi, вы можете использовать команду scp (Windows WinSCP). Откройте окно консоли, переключитесь в папку, содержащую файлы Github, и вызовите
scp games_pi_only [email protected]: / home / pi
scp *.bmp [email protected]: / home / pi
затем подключитесь к Pi через ssh (пользователи Windows могут использовать Putty):
после успешного входа в систему вы можете запустить код Python, вызвав:
sudo python3 games_pi_only.py
Если код работает правильно, вы можете включить автозапуск, вызвав:
sudo nano /etc/rc.local
и добавьте следующую строку перед выходом 0:
/ usr / bin / nice -n -20 python3 /home/pi/games_pi_only.py &
Сохранить (Ctrl + O) и выйти (Ctrl + X)
Шаг 10: заключительный тест и облицовка
Прежде чем наклеить шпон на лицевую часть, необходимо проверить матрицу, чтобы убедиться, что все светодиоды работают. Намного проще что-то исправить до того, как наклеят шпон.
Используемый деревянный шпон представляет собой специальную бумагу из кленового шпона под названием Microwood, которая с одной стороны покрыта бумагой и имеет толщину 0,1 мм. Бумажную сторону можно приклеить непосредственно к МДФ с помощью стандартного безводного клея для бумаги.
Шаг 11: результат
Получайте удовольствие и наслаждайтесь игрой!
Главный приз конкурса Raspberry Pi 2020
Рекомендуемые:
Понижающий светодиодный драйвер 3A на базе ATTiny84: 7 шагов (с изображениями)
Понижающий светодиодный драйвер 3A на базе ATTiny84: если вы хотите запитать светодиоды мощностью 10 Вт, вы можете использовать этот светодиодный драйвер 3A. С 3 светодиодами Cree XPL вы можете достичь 3000 люмен
Контроллер DIY на базе Arduino - Игровой контроллер Arduino PS2 - Игра в Tekken с DIY-геймпадом Arduino: 7 шагов
Контроллер DIY на базе Arduino | Игровой контроллер Arduino PS2 | Игра в Tekken с помощью DIY Arduino Gamepad: Здравствуйте, ребята, играть в игры всегда весело, но играть с вашим собственным игровым контроллером DIY еще веселее. Поэтому мы создадим игровой контроллер с использованием arduino pro micro в этих инструкциях
Светодиодный куб 3x3 на базе Arduino: 7 шагов (с изображениями)
Светодиодный куб 3x3x3 на базе Arduino: Здравствуйте и добро пожаловать в мой первый учебник. Я представляю простой и аккуратный дизайн для начинающих светодиодных кубов 3x3x3. Чтобы упростить сборку, я предоставляю подробную информацию о пользовательской печатной плате, которую вы можете сделать самостоятельно или купить, инструкции, и вы можете, как и я, повторно использовать программное обеспечение
Простой дисплей эргометра на базе Arduino с дифференциальной обратной связью: 7 шагов (с изображениями)
Простой дисплей эргометра на базе Arduino с дифференциальной обратной связью: кардиотренировки утомительны, особенно при занятиях в помещении. Несколько существующих проектов пытаются облегчить это, делая крутые вещи, такие как соединение эргометра с игровой консолью или даже имитируя настоящую поездку на велосипеде в VR. Интересно, как
Деревянный светодиодный настенный светильник: 5 шагов (с изображениями)
Деревянный светодиодный настенный светильник: Хорошо, мне нравится играть со светодиодами, и я также люблю работать с деревом. Почему бы не использовать и то, и другое и не создать что-то уникальное. Возникла необходимость в каком-нибудь приятном приятном источнике света над моим компьютерным столом, и мне не понравился осветительный прибор, который уже был