Mục lục:

Màn hình chơi game LED bằng gỗ được cung cấp bởi Raspberry Pi Zero: 11 bước (có hình ảnh)
Màn hình chơi game LED bằng gỗ được cung cấp bởi Raspberry Pi Zero: 11 bước (có hình ảnh)

Video: Màn hình chơi game LED bằng gỗ được cung cấp bởi Raspberry Pi Zero: 11 bước (có hình ảnh)

Video: Màn hình chơi game LED bằng gỗ được cung cấp bởi Raspberry Pi Zero: 11 bước (có hình ảnh)
Video: Cách kết nối màn hình LCD 3.5" với Raspberry Pi 2024, Tháng bảy
Anonim
Màn hình chơi game LED bằng gỗ được hỗ trợ bởi Raspberry Pi Zero
Màn hình chơi game LED bằng gỗ được hỗ trợ bởi Raspberry Pi Zero
Màn hình chơi game LED bằng gỗ được hỗ trợ bởi Raspberry Pi Zero
Màn hình chơi game LED bằng gỗ được hỗ trợ bởi Raspberry Pi Zero
Màn hình chơi game LED bằng gỗ được hỗ trợ bởi Raspberry Pi Zero
Màn hình chơi game LED bằng gỗ được hỗ trợ bởi Raspberry Pi Zero

Dự án này nhận ra màn hình LED dựa trên WS2812 20x10 pixel với kích thước 78x35 cm có thể dễ dàng lắp đặt trong phòng khách để chơi các trò chơi cổ điển. Phiên bản đầu tiên của ma trận này được xây dựng vào năm 2016 và được xây dựng lại bởi nhiều người khác. Kinh nghiệm này được sử dụng để tổng hợp tất cả các cải tiến nhằm xây dựng một phiên bản mới của ma trận và đưa điều này ngay bây giờ cho guideables.com. Các tính năng mới chính là bản cập nhật cho Raspberry Pi Zero thay thế bằng cách sử dụng và Pi A cộng với Arduino và thay thế bộ điều khiển lớn trước đó bằng một gamepad Bluetooth. Phần mềm cũng được cải tiến bao gồm trình mô phỏng, cho phép bạn phát triển mã trên máy tính ngay cả khi bạn không có quyền truy cập vào phần cứng ma trận.

Một tính năng đặc biệt của ma trận LED này là vân gỗ đặc biệt, được sử dụng để che đèn LED và ẩn chúng khi đèn LED bị tắt. Điều này làm tăng cao yếu tố chấp nhận của những người không am hiểu công nghệ;-) Tất nhiên, nếu loại veneer đặc biệt này không có sẵn ở quốc gia của bạn, bạn cũng có thể sử dụng một số vật liệu khuếch tán khác như acrylic để ẩn đèn LED. Nó cũng được lên kế hoạch cung cấp một số bộ phận chính trong tương lai để giúp việc xây dựng lại dự án dễ dàng hơn.

Quân nhu:

  • Raspberry Pi Zero W (với một số điều chỉnh, tất cả các mô hình khác cũng sẽ hoạt động)
  • 200 LED / s (sọc LED WS2812B với 30 LED / m)
  • Màn hình ma trận LED SPI 4x với MAX7219
  • Cáp
  • Gamepad Bluetooth (ví dụ: cái này của Pimoroni)
  • Nguồn cung cấp 5V với ít nhất 5A
  • Gỗ MDF để cắt laser
  • Ván gỗ hoặc tấm acrylic khuếch tán
  • Tụ điện, điện trở
  • Một số ốc vít

Bước 1: Cắt Laser

Sự cắt bằng tia la-ze
Sự cắt bằng tia la-ze
Sự cắt bằng tia la-ze
Sự cắt bằng tia la-ze
Sự cắt bằng tia la-ze
Sự cắt bằng tia la-ze

Kết cấu cơ sở của ma trận được làm bằng gỗ MDF dày 3mm và được cắt bằng máy cắt laser. Nếu bạn không sở hữu máy cắt laser, bạn có thể sử dụng dịch vụ trực tuyến như ponoko.com hoặc formulor.de hoặc liên hệ với fablab / makerpace tiếp theo trong môi trường của bạn. Cũng có thể sử dụng bìa cứng hoặc các vật liệu khác nhẹ hơn nhưng tệp đính kèm được thiết kế cho độ dày 3mm, vì vậy vật liệu mỏng hơn hoặc dày hơn cần thiết kế lại tệp. Thiết kế đã được thực hiện trong Fusion 360. Hầu hết các bộ phận giữ lại với nhau chỉ bằng cách trượt chúng vào vị trí, chỉ một số bộ phận như viền ngoài nên được dán lại với nhau bằng keo dán gỗ. Đảm bảo rằng ma trận của bạn hoạt động hoàn toàn trước khi áp dụng bất kỳ loại keo nào! Ngoài ra, veneer gỗ cũng phải được dán lên, nhưng đây là bước cuối cùng sau khi đảm bảo rằng mọi thứ hoạt động.

Ở phía bên phải (phía dưới) của bảng nối đa năng, có một đoạn cắt để cố định các thành phần điện tử vào ma trận và vẫn có quyền truy cập vào các thành phần này khi dán veneer lên.

Bước 2: Cài đặt đèn LED

Cài đặt đèn LED
Cài đặt đèn LED
Cài đặt đèn LED
Cài đặt đèn LED
Cài đặt đèn LED
Cài đặt đèn LED

Các sọc LED là các sọc tiêu chuẩn 30 LED / m WS2812, có sẵn tại Amazon, eBay hoặc các cửa hàng trực tuyến khác trên toàn thế giới. Đây thường cũng là dải LED có địa chỉ rẻ nhất hiện có. Nếu bạn muốn sử dụng các đèn LED khác, bạn phải đảm bảo khoảng cách 30 LED / m để phù hợp với mẫu ma trận. Các phân đoạn được cắt laser có các vùng cắt nhỏ để vừa với chiều rộng của đèn LED là 10 cm. Các sọc LED này có băng keo hai mặt ở mặt sau của chúng, vì vậy bạn có thể chỉ cần dán chúng trực tiếp vào MDF sau khi định vị chính xác. Kiểm tra hướng chính xác của mọi sọc trước khi sử dụng băng (hướng DIN-DOUT).

Kiểu đi dây là zig-zag nên ở cuối, chỉ có một chân đầu vào cho ma trận và chiều dài cáp càng ngắn càng tốt. Để phân phối nguồn điện một cách hợp lý và giảm việc mắc dây ở đầu ma trận, mọi dải LED được kết nối với 5V và GND ở cuối ma trận. Bạn có thể sử dụng dây đơn hoặc PCB tạo mẫu để phân phối đường 5V và GND.

Bước 3: Lắp ráp

cuộc họp
cuộc họp
cuộc họp
cuộc họp
cuộc họp
cuộc họp

Chế độ xem vụ nổ giúp xác định các mảnh chính xác để lắp ráp. Chỉ cần làm theo các hình ảnh cài đặt từng bước. Bảng nối đa năng có các cấu trúc chéo để giữ các bức tường bên dài và một số bức tường ngắn. Nếu bạn gặp vấn đề trong việc lắp các mảnh, hãy dùng giấy nhám để sửa nó.

Bước 4: Hàn

Hàn
Hàn
Hàn
Hàn

Có nhiều cách khác nhau để hàn các đường dây điện ở đó cho các sọc khác nhau với nhau. Bạn có thể sử dụng dây đơn hoặc một số loại thanh ray thông dụng bằng đồng để hàn các dây khác nhau. Trong trường hợp này, các mảnh PCB nguyên mẫu đã được sử dụng để dẫn đường ray điện đến các đường sọc. Các sọc WS2812B đã có cáp nguồn riêng biệt mà bạn có thể sử dụng để kết nối ray nguồn với đầu vào sọc đầu tiên (phía bên trái trên hình).

Bước 5: Cài đặt SPI Display

Cài đặt SPI Display
Cài đặt SPI Display

Để hiển thị điểm số và văn bản của trò chơi, một màn hình LED ma trận dựa trên trình điều khiển LED MAX7219 được sử dụng. Nó được kết nối qua SPI (Giao diện ngoại vi nối tiếp) với Raspberry Pi. Bốn màn hình 8x8 được kết hợp thành màn hình ma trận điểm 32x8 pixel. Bạn có thể mua màn hình 8x8 pixel này cho ví dụ: tại eBay, cũng có sẵn các màn hình 32x8 pixel kết hợp. Ngoài ra bạn có các tùy chọn màu sắc khác nhau; trong trường hợp này, màn hình màu đỏ đã được sử dụng. Bởi vì SPI hoạt động giống như một thanh ghi dịch chuyển, các màn hình được kết nối với nhau nối tiếp bằng cách kết nối dữ liệu từ ma trận đầu tiên với dữ liệu trong ma trận thứ hai và cứ tiếp tục như vậy bắt đầu từ phía bên phải của màn hình.

Màn hình này chỉ có thể đọc được từ bên ngoài, nếu nó được đặt ngay sau lớp veneer. Nếu không, chỉ có một vệt mờ màu đỏ có thể nhìn thấy được. Vì vậy, bạn phải gắn nó trên đầu đoạn cắt bảng nối đa năng với khoảng cách 30mm giữa bề mặt của bảng nối liền và bề mặt của ma trận. Tôi đã sử dụng một số mảnh gỗ và đinh vít còn sót lại để điều chỉnh khoảng cách 19 mm còn thiếu giữa bảng nối đa năng và PCB, nhưng bạn cũng có thể sử dụng bất kỳ loại miếng đệm bên ngoài nào.

Đấu dây của màn hình được hiển thị trong bước 7.

Bước 6: Cài đặt Pi

Cài đặt Pi
Cài đặt Pi
Cài đặt Pi
Cài đặt Pi
Cài đặt Pi
Cài đặt Pi

Trong cài đặt này, Raspberry Pi Zero được sử dụng. Bạn cũng có thể sử dụng bất kỳ mô hình Raspberry Pi nào khác, nhưng những mô hình mới hơn với WiFi và Bluetooth tích hợp cho phép bạn dễ dàng kết nối với gamepad không dây và đơn giản hóa việc lập trình. Bạn có thể cố định Pi bằng cách sử dụng ít nhất hai vít và miếng đệm nhỏ để vặn nó vào bảng nối đa năng.

Đối với Raspberry Pi Zero W, các chân sau được sử dụng:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> LED sọc
  • GPIO11: SPI CLK -> MAX7219 ma trận CLK
  • GPIO10: SPI MOSI -> DIN ma trận MAX7219
  • GPIO8: SPI CS -> MAX7219 ma trận CS

Một số người đã báo cáo sự cố khi sử dụng GPIO18 cho đèn LED. Vui lòng sử dụng GPIO21 trong trường hợp này. Nếu vậy, bạn phải thay đổi mã ở dòng 21 thành pixel_pin = board. D21.

Dải WS2812B được sử dụng ở đây ngoài thông số kỹ thuật của nó. Thông thường nó yêu cầu mức logic 5V trên DIN, nhưng Pi chỉ cung cấp 3, 3V. Ngay cả khi điều này hiệu quả trong hầu hết các trường hợp, bạn nên kiểm tra điều này bằng que thử của mình. Nếu nó không hoạt động, bạn có thể thêm một bộ chuyển đổi mức như 74HCT245 hoặc bất kỳ bộ chuyển đổi 3V3 sang 5V nào khác giữa Pi và dải.

Bước 7: Đấu dây và cấp nguồn

Hệ thống dây điện và nguồn điện
Hệ thống dây điện và nguồn điện
Hệ thống dây điện và nguồn điện
Hệ thống dây điện và nguồn điện
Hệ thống dây điện và nguồn điện
Hệ thống dây điện và nguồn điện

Hệ thống dây điện được thực hiện theo sơ đồ đấu dây. Nguồn cung cấp là nguồn 5V DC.

Để dễ dàng bật / tắt ma trận, một công tắc được thêm vào giữa phích cắm nguồn và các mạch ma trận. Tuy nhiên, vì Raspberry Pi không thích tắt cứng, có một tùy chọn tắt trong phần mềm để tắt Pi một cách an toàn thông qua Gamepad trước khi chuyển đổi ma trận.

Chân DIN của dải LED được kết nối thông qua Điện trở với Pi, cũng có một tụ điện lớn (4700uF) được thêm vào để đệm nguồn điện. Vui lòng xem Adafruit Überguide cho Neopixels để biết thêm chi tiết.

Đèn LED đang tiêu thụ dòng điện tối đa là 60mA cho mỗi đèn LED, vì vậy có thể có dòng điện tối đa là 200x60mA = 12A !!! Bằng cách giảm độ sáng và không sử dụng tất cả các đèn LED có màu trắng hoàn toàn, đây là một giá trị lý thuyết nhiều hơn, nhưng nó phụ thuộc vào mã mà dòng điện tối đa đạt được. Vì vậy việc lựa chọn một bộ nguồn đủ lớn là rất quan trọng. Đối với hầu hết các ứng dụng, nguồn điện có 5V / 5A (25W) là đủ.

Để cố định bảng nối đa năng với màn hình Pi và màn hình Ma trận, bạn có thể sử dụng một số mảnh gỗ nhỏ để mài chúng ở các cạnh và cũng có thể sử dụng vít để giữ bảng nối đa năng tại chỗ.

Bước 8: Thiết lập Pi

Thiết lập Pi
Thiết lập Pi

1. Tải xuống hình ảnh Raspbian lite mới nhất từ raspberrypi.org

2. Sao chép nó vào và thẻ SD, 8GB là đủ. Bạn có thể sử dụng v.d. vv để làm điều này.

3. Trước khi khởi động Pi bằng thẻ SD, hãy chuẩn bị truy cập WIFI và ssh

4. Cắm thẻ SD vào bất kỳ máy tính nào, một thư mục khởi động sẽ có thể truy cập được

5. Sao chép các dòng sau vào tệp wpa_supplicant.conf (tạo tệp nếu không tồn tại) và thay đổi các thông số tùy thuộc vào Wifi và khu vực của bạn

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

country = US update_config = 1 network = {ssid = "Home Wifi" psk = "mypassword" key_mgmt = WPA-PSK}

6. Thêm một tệp trống có tên ssh (không có bất kỳ phần mở rộng nào) vào khởi động để cho phép truy cập ssh

7. Bây giờ hãy lắp thẻ SD vào Raspberry Pi và khởi động nó. Kiểm tra bộ định tuyến wifi của bạn để lấy địa chỉ IP của Pi

8. bắt đầu kết nối SSH với Pi bằng thiết bị đầu cuối (Linux, Mac) hoặc ví dụ: Putty một Windows. Chèn IP của Pi thay vì 192.168.x.y

ssh [email protected]

9. Cập nhật số Pi (mất một chút thời gian!)

sudo apt-get cập nhật

sudo apt-get nâng cấp

10. Cài đặt pip và công cụ thiết lập

sudo apt-get install python3-pip

sudo pip3 install - nâng cấp setuptools

11. Cài đặt trình điều khiển Neopixel, ws281x lib, pygame và libsdl

sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel

sudo pip3 install pygame sudo apt-get install libsdl1.2-dev sudo pip3 install - nâng cấp luma.led_matrix

12. Kích hoạt SPI bằng cách gọi raps-config, điều hướng đến 5 Interfacing Options / P4 SPI / Enable

sudo raspi-config

13. Thêm Bluetooth Gamepad

sudo bluetoothctl

[bluetooth] # tác nhân trên [bluetooth] # có thể ghép nối trên [bluetooth] # quét trên [bluetooth] # cặp aa: bb: cc: dd: ee: ff [bluetooth] # tin cậy aa: bb: cc: dd: ee: ff [bluetooth] # kết nối aa: bb: cc: dd: ee: ff [bluetooth] # thoát

trong đó aa: bb: cc: dd: ee: ff là trang phục MAC của gamepad bluetooth của bạn. Địa chỉ này sẽ được hiển thị sau khi gọi lệnh "quét trên". Đảm bảo rằng bộ điều khiển Bluetooth của bạn đã sẵn sàng để ghép nối, vui lòng kiểm tra hướng dẫn sử dụng bộ điều khiển để thực hiện việc này.

14. Bây giờ bạn có thể kết nối với bạn Pi thông qua, mật khẩu mặc định là raspberry (người dùng Windows có thể sử dụng Putty):

ssh [email protected]

Bước 9: Mã Python, Kiểm tra và Trình mô phỏng

Mã Python, Thử nghiệm và Trình mô phỏng
Mã Python, Thử nghiệm và Trình mô phỏng
Mã Python, Thử nghiệm và Trình mô phỏng
Mã Python, Thử nghiệm và Trình mô phỏng
Mã Python, Thử nghiệm và Trình mô phỏng
Mã Python, Thử nghiệm và Trình mô phỏng

Mã có sẵn trên Github. games_pi_only.py và tất cả các tệp bmp là cần thiết.

git clone href = https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only

Mã có một tùy chọn để chạy trong chế độ mô phỏng bên ngoài Pi bằng cách sử dụng pygame để mô phỏng ma trận. Điều này rất hữu ích để phát triển các tính năng mới mà không cần truy cập trực tiếp vào phần cứng ma trận. Ngoài ra việc gỡ lỗi cũng dễ dàng hơn nhiều. Bạn phải đặt hằng số PI để kích hoạt chế độ mô phỏng (Dòng 15):

PI = Sai

Trong chế độ mô phỏng này, rất nhiều Bàn phím được sử dụng thay vì gamepad Bluetooth. Các nút 1, 2, 3, 4 được ánh xạ tới A, B, X, Y của gamepad, các phím mũi tên để chỉ đường, “s” để bắt đầu và “x” để chọn. Bạn có thể sử dụng một trình soạn thảo tiêu chuẩn cùng với bảng điều khiển hoặc một số IDE tích hợp như Micosoft Visual Studio Code hoặc Jetbrain PyCharm để thực hiện việc phát triển trên PC của mình.

Nếu bạn sử dụng ma trận và Raspberry Pi, bạn phải xác định:

PI = Đúng

Để sao chép mã vào Raspberry Pi, bạn có thể sử dụng lệnh scp (Windows WinSCP). Mở cửa sổ bảng điều khiển, chuyển sang thư mục chứa các tệp Github và gọi

scp games_pi_only [email protected]: / home / pi

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

sau đó kết nối với Pi qua ssh (người dùng Windows có thể sử dụng Putty):

ssh [email protected]

sau khi đăng nhập thành công, bạn có thể bắt đầu mã python bằng cách gọi:

sudo python3 games_pi_only.py

Nếu mã chạy chính xác, bạn có thể bật tự động khởi động bằng cách gọi:

sudo nano /etc/rc.local

và thêm dòng sau trước khi thoát 0:

/ usr / bin / nice -n -20 python3 /home/pi/games_pi_only.py &

Lưu (Ctrl + O) và Thoát (Ctrl + X)

Bước 10: Kiểm tra lần cuối và Veneer

Kiểm tra cuối cùng và Veneer
Kiểm tra cuối cùng và Veneer
Kiểm tra cuối cùng và Veneer
Kiểm tra cuối cùng và Veneer
Kiểm tra cuối cùng và Veneer
Kiểm tra cuối cùng và Veneer

Trước khi dán veneer lên mặt trước, ma trận phải được kiểm tra để đảm bảo rằng tất cả các đèn LED đều hoạt động. Sẽ dễ dàng hơn nhiều để sửa một thứ gì đó trước khi dán veneer.

Loại veneer gỗ được sử dụng là loại giấy veneer maple đặc biệt có tên là Microwood, được phủ một mặt bằng giấy và có độ dày 0, 1 mm. Mặt giấy có thể được dán trực tiếp trên mdf bằng keo dán giấy không chứa nước tiêu chuẩn.

Bước 11: Kết quả

Kết quả
Kết quả
Kết quả
Kết quả

Hãy vui vẻ và tận hưởng các trò chơi!

Cuộc thi Raspberry Pi 2020
Cuộc thi Raspberry Pi 2020
Cuộc thi Raspberry Pi 2020
Cuộc thi Raspberry Pi 2020

Giải thưởng lớn trong Cuộc thi Raspberry Pi 2020

Đề xuất: