Съдържание:

Дървен LED игрален дисплей, захранван от Raspberry Pi Zero: 11 стъпки (със снимки)
Дървен LED игрален дисплей, захранван от Raspberry Pi Zero: 11 стъпки (със снимки)

Видео: Дървен LED игрален дисплей, захранван от Raspberry Pi Zero: 11 стъпки (със снимки)

Видео: Дървен LED игрален дисплей, захранван от Raspberry Pi Zero: 11 стъпки (със снимки)
Видео: 9 лучших деревообрабатывающих инструментов Genius, которые можно купить онлайн 2024, Юли
Anonim
Дървен LED игрален дисплей, задвижван от Raspberry Pi Zero
Дървен LED игрален дисплей, задвижван от Raspberry Pi Zero
Дървен LED игрален дисплей, задвижван от Raspberry Pi Zero
Дървен LED игрален дисплей, задвижван от Raspberry Pi Zero
Дървен LED игрален дисплей, задвижван от Raspberry Pi Zero
Дървен LED игрален дисплей, задвижван от Raspberry Pi Zero

Този проект реализира 20x10 пиксел WS2812 базиран LED дисплей с размер 78x35 см, който може лесно да бъде инсталиран в хола за игра на ретро игри. Първата версия на тази матрица е построена през 2016 г. и възстановена от много други хора. Този опит беше използван, за да обобщи всички подобрения, за да се изгради нова версия на матрицата и да се пренесе това сега на instructables.com. Основните нови функции са актуализацията до Raspberry Pi Zero вместо това да се използва и Pi A плюс Arduino и да се замени предишния голям контролер с Bluetooth геймпад. Също така софтуерът беше подобрен, включително симулатора, който ви позволява да разработвате кода на компютър, дори ако нямате достъп до хардуера на матрицата.

Една особеност на тази LED матрица е специалният дървен фурнир, който се използва за покриване на LED и за тяхното скриване, когато светодиодите са деактивирани. Това значително увеличава коефициента на приемане на нетехнологичните хора;-) Разбира се, ако този специален фурнир не е наличен във вашата страна, можете да използвате и друг дифузен материал като акрил, за да скриете светодиодите. Също така се планира да се предоставят някои ключови части в бъдеще, за да се улесни възстановяването на проекта.

Консумативи:

  • Raspberry Pi Zero W (с известна адаптация, всички други модели също ще работят)
  • 200 LED/s (WS2812B LED ленти с 30 LED/m)
  • 4x SPI LED матричен дисплей с MAX7219
  • Кабели
  • Bluetooth геймпад (напр. Това от Pimoroni)
  • Захранване 5V с поне 5А
  • MDF дърво за лазерно рязане
  • Дървен фурнир или дифузна акрилна плоча
  • Кондензатор, резистор
  • Някои винтове

Стъпка 1: Лазерно рязане

Лазерно рязане
Лазерно рязане
Лазерно рязане
Лазерно рязане
Лазерно рязане
Лазерно рязане

Основната конструкция на матрицата е изработена от MDF дърво с дебелина 3 мм и е изрязана с лазерен нож. Ако не притежавате лазерен нож, можете да използвате онлайн услуга като ponoko.com или formulalor.de или да се свържете със следващия fablab/makerspace във вашата среда. Възможно е също да се използват картон или други по -леки материали, но приложените файлове са с дебелина 3 мм, така че по -тънките или по -дебели материали се нуждаят от препроектиране на файловете. Дизайнът е направен във Fusion 360. Повечето от частите се държат заедно само като ги плъзнете на място, само някои от частите като външните граници трябва да бъдат залепени заедно с помощта на лепило за дърво. Уверете се, че вашата матрица работи напълно, преди да нанесете лепило! Също така дървеният фурнир трябва да бъде залепен, но това е последната стъпка, след като се гарантира, че всичко работи.

В дясната (долната) страна на задната платка има изрязан сегмент, който закрепва електронните компоненти към матрицата и все още има достъп до тези компоненти, когато фурнирът е залепен.

Стъпка 2: Инсталирайте светодиоди

Инсталирайте светодиоди
Инсталирайте светодиоди
Инсталирайте светодиоди
Инсталирайте светодиоди
Инсталирайте светодиоди
Инсталирайте светодиоди

LED лентите са стандартни 30 LED/m WS2812 ивици, които се предлагат в Amazon, eBay или други онлайн магазини по целия свят. Обикновено това е и най -евтината налична адресируема LED лента. Ако искате да използвате други светодиоди, трябва да осигурите 30 LED/m разстояние, за да пасне на матричния модел. Лазерно изрязаните сегменти имат малки изрязани участъци, които да пасват на LED ширината от 10 cm. Тези LED ленти имат двустранна лента на гърба, така че можете просто да ги залепите директно към MDF след прецизно позициониране. Проверете правилната ориентация на всяка лента, преди да използвате лентата (посока DIN-DOUT).

Моделът на окабеляване е зиг-заг, така че в края има само един входен щифт към матрицата и дължините на кабела са възможно най-къси. За правилно разпределение на мощността и намаляване на кабелите в горната част на матрицата, всяка LED лента е свързана към 5V и GND в долната част на матрицата. Можете да използвате или единични проводници, или прототипиране на печатни платки за разпространение на 5V и GND линия.

Стъпка 3: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Изгледът на експлозия помага да се идентифицират правилните парчета за монтажа. Просто следвайте снимките за инсталиране стъпка по стъпка. Задната платка има напречни конструкции, които държат дългите странични стени и някои от късите стени. Ако имате проблеми с инсталирането на парчетата, използвайте шкурка, за да го поправите.

Стъпка 4: Запояване

Запояване
Запояване
Запояване
Запояване

Има различни начини за запояване на електропроводи за различните ивици заедно. Или можете да използвате единични проводници или някакъв вид Common Rail от мед за запояване на различните проводници. В този случай парчета прототипни печатни платки бяха използвани за насочване на релсите към ивиците. Ивиците WS2812B вече имат отделни захранващи кабели, които можете да използвате, за да свържете захранващата шина към първия вход на лентата (лявата страна на снимката).

Стъпка 5: Инсталирайте SPI дисплей

Инсталирайте SPI дисплей
Инсталирайте SPI дисплей

За показване на резултатите от играта и текст се използва LED матричен дисплей, базиран на LED драйвера MAX7219. Той е свързан чрез SPI (сериен периферен интерфейс) към Raspberry Pi. Четири 8x8 дисплея са комбинирани с матричен дисплей с размери 32x8 пиксела. Можете да закупите този 8x8 пикселен дисплей за напр. в eBay има и комбинирани 32x8 пикселни дисплеи. Също така имате различни цветови опции; в този случай бяха използвани червени дисплеи. Тъй като SPI работи като регистър за смяна, дисплеите се свързват последователно чрез свързване на данни от първата матрица към данни от втората и така нататък, започвайки от дясната страна на дисплея.

Този дисплей може да се чете само отвън, ако е поставен директно зад слоя фурнир. Ако не, се вижда само червено замъгляване. Така че трябва да го монтирате върху изрязания сегмент на задната платка с разстояние 30 мм между повърхността на задната платка и повърхността на матрицата. Използвал съм няколко останали дървени парчета и винтове, за да приспособя липсващите 19 мм между задната платка и печатните платки, но можете да използвате и всеки външен тип дистанционни елементи.

Окабеляването на дисплея е показано в стъпка 7.

Стъпка 6: Инсталирайте Pi

Инсталирайте Pi
Инсталирайте Pi
Инсталирайте Pi
Инсталирайте Pi
Инсталирайте Pi
Инсталирайте Pi

В тази инсталация се използва Raspberry Pi Zero. Можете също да използвате всеки друг модел Raspberry Pi, но по -новите с интегриран WiFi и Bluetooth ви позволяват лесно да се свързвате с безжични геймпади и опростявате програмирането. Можете да закрепите Pi, като използвате поне два винта и малки дистанционни елементи, за да го завиете към задната платка.

За Raspberry Pi Zero W се използват следните щифтове:

  • ПИН 2: 5V
  • ПИН 6: GND
  • GPIO18 -> LED ленти
  • GPIO11: SPI CLK -> MAX7219 матричен CLK
  • GPIO10: SPI MOSI -> MAX7219 матрица DIN
  • GPIO8: SPI CS -> MAX7219 матричен CS

Някои хора съобщават за проблеми с използването на GPIO18 за светодиодите. Моля, използвайте GPIO21 в този случай. Ако е така, трябва да промените кода в ред 21 на pixel_pin = board. D21.

Лентата WS2812B се използва тук извън спецификациите си. Обикновено това изисква 5V логическо ниво по DIN, но Pi осигурява само 3, 3V. Дори ако това работи в повечето случаи, трябва да тествате това с вашата лента. Ако не работи, можете да добавите преобразувател на ниво като 74HCT245 или друг преобразувател 3V3 в 5V между Pi и лентата.

Стъпка 7: Окабеляване и захранване

Окабеляване и захранване
Окабеляване и захранване
Окабеляване и захранване
Окабеляване и захранване
Окабеляване и захранване
Окабеляване и захранване

Окабеляването се извършва съгласно схемата на окабеляване. Захранването е 5V DC захранване.

За лесно включване/изключване на матрицата се добавя превключвател между захранващия щепсел и матричните вериги. Въпреки това, тъй като Raspberry Pi не харесва твърдото изключване, в софтуера има опция за изключване, за безопасно изключване на Pi чрез геймпад преди превключване на матрицата.

DIN щифтът на LED лентата е свързан чрез резистор към Pi, също така е добавен голям кондензатор (4700uF) за буфериране на захранването. Моля, проверете Adafruit Überguide за неопиксели за повече подробности.

Светодиодите консумират максимален ток от 60mA на светодиод, така че максимален ток от 200x60mA = 12A е възможен !!! Като се намали яркостта и не се използват всички светодиоди в пълен бял цвят, това е по -скоро теоретична стойност, но зависи от кода кой максимален ток е достигнат. Така че изборът на достатъчно голямо захранване е много важен. За повечето приложения трябва да е достатъчно захранване с 5V/5A (25W).

За да фиксирате задната платка с дисплея Pi и Matrix, някои малки парчета дърво могат да бъдат използвани, за да ги разбият в краищата и също да използват винтове, за да задържат задната платка на място.

Стъпка 8: Настройка на Pi

Настройка на Pi
Настройка на Pi

1. Изтеглете най -новото изображение на Raspbian lite от raspberrypi.org

2. Копирайте го на и SD карта, 8GB са достатъчни. Можете да използвате напр. гравиране, за да направите това.

3. Преди да стартирате Pi със SD картата, подгответе WIFI и ssh достъп

4. Поставете SD картата в който и да е компютър, трябва да е достъпна зареждаща папка

5. Копирайте следните редове във файла wpa_supplicant.conf (генерирайте го, ако не съществува) и променете параметрите в зависимост от вашия Wifi и регион

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev

country = US update_config = 1 network = {ssid = "Домашен Wifi" psk = "mypassword" key_mgmt = WPA-PSK}

6. Добавете празен файл, наречен ssh (без никакво разширение), за да стартирате, за да разрешите ssh достъп

7. Сега поставете SD картата в Raspberry Pi и я стартирайте. Проверете вашия wifi рутер, за да получите IP адреса на Pi

8. стартирайте SSH връзка с Pi, използвайки терминал (Linux, Mac) или напр. Шпакловка на Windows. Вмъкнете IP на Pi вместо 192.168.x.y

ssh [email protected]

9. Актуализирайте Pi (отнема известно време!)

sudo apt-get update

sudo apt-get надстройка

10. Инсталирайте pip и инструмент за настройка

sudo apt-get install python3-pip

sudo pip3 install -надстройка инструменти за настройка

11. Инсталирайте Neopixel драйвер, ws281x lib, pygame и libsdl

sudo pip3 инсталирайте rpi_ws281x adafruit-circuitpython-neopixel

sudo pip3 install pygame sudo apt-get install libsdl1.2-dev sudo pip3 install --upgrade luma.led_matrix

12. Активирайте SPI, като извикате raps-config, отидете до 5 Опции за взаимодействие / P4 SPI / Активиране

sudo raspi-config

13. Добавете Bluetooth геймпад

sudo bluetoothctl

[bluetooth]# агент на [bluetooth]# pakable на [bluetooth]# сканиране на [bluetooth]# двойка aa: bb: cc: dd: ee: ff [bluetooth]# доверие 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, паролата по подразбиране е малинова (потребителите на Windows могат да използват Putty):

ssh [email protected]

Стъпка 9: Python код, тест и симулатор

Python код, тест и симулатор
Python код, тест и симулатор
Python код, тест и симулатор
Python код, тест и симулатор
Python код, тест и симулатор
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 = Вярно

За да копирате кода в Raspberry Pi, можете да използвате командата scp (Windows WinSCP). Отворете прозореца на конзолата, преминете към папката, съдържаща файловете на Github, и се обадете

scp games_pi_only [email protected]:/home/pi

scp *.bmp [email protected]:/home/pi

след това се свържете с Pi чрез ssh (потребителите на Windows могат да използват Putty):

ssh [email protected]

след успешно влизане, можете да стартирате кода на 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 mm. Страната на хартията може да бъде залепена директно върху MDF с помощта на стандартно лепило за хартия без вода.

Стъпка 11: Резултатът

Резултатът
Резултатът
Резултатът
Резултатът

Забавлявайте се и се наслаждавайте на играта!

Конкурс Raspberry Pi 2020
Конкурс Raspberry Pi 2020
Конкурс Raspberry Pi 2020
Конкурс Raspberry Pi 2020

Голямата награда в конкурса Raspberry Pi 2020

Препоръчано: