Isi kandungan:

Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero: 11 Langkah (dengan Gambar)
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero: 11 Langkah (dengan Gambar)

Video: Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero: 11 Langkah (dengan Gambar)

Video: Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero: 11 Langkah (dengan Gambar)
Video: Cara Life Hacks Dengan 13 Gadget Teknologi Keren Ini 2024, Julai
Anonim
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero
Paparan Permainan LED Kayu Dikuasakan oleh Raspberry Pi Zero

Projek ini mewujudkan paparan LED 20x10 piksel WS2812 dengan ukuran 78x35 cm yang boleh dipasang dengan mudah di ruang tamu untuk bermain permainan retro. Versi pertama matriks ini dibina pada tahun 2016 dan dibina semula oleh banyak orang lain. Pengalaman ini digunakan untuk merangkum semua penambahbaikan untuk membina versi baru matriks dan membawanya sekarang ke instruksable.com. Ciri baru utama adalah kemas kini ke Raspberry Pi Zero sebaliknya menggunakan dan Pi A ditambah Arduino dan menggantikan pengawal besar sebelumnya dengan gamepad Bluetooth. Perisian ini juga diperbaiki termasuk simulator, yang memungkinkan anda mengembangkan kod pada komputer walaupun anda tidak mempunyai akses ke perkakasan matriks.

Satu ciri khas matriks LED ini adalah venir kayu khas, yang digunakan untuk menutup LED dan menyembunyikannya, apabila LED dimatikan. Ini sangat meningkatkan faktor penerimaan orang bukan berteknologi;-) Sudah tentu, jika venir khas ini tidak terdapat di negara anda, anda juga boleh menggunakan beberapa bahan lain seperti akrilik untuk menyembunyikan LED. Ia juga dirancang untuk menyediakan beberapa bahagian penting pada masa akan datang untuk mempermudah pembinaan semula projek tersebut.

Bekalan:

  • Raspberry Pi Zero W (dengan beberapa penyesuaian, semua model lain juga akan berfungsi)
  • 200 LED / s (Jalur LED WS2812B dengan 30 LED / m)
  • Paparan matriks 4x SPI LED dengan MAX7219
  • Kabel
  • Gamepad Bluetooth (mis. Ini dari Pimoroni)
  • Bekalan Kuasa 5V dengan sekurang-kurangnya 5A
  • Kayu MDF untuk pemotongan laser
  • Plat kayu akrilik venir atau penyebaran
  • Kapasitor, Perintang
  • Beberapa skru

Langkah 1: Pemotongan Laser

Keratan Laser
Keratan Laser
Keratan Laser
Keratan Laser
Keratan Laser
Keratan Laser

Struktur asas matriks terbuat dari kayu MDF dengan ketebalan 3mm dan dipotong oleh pemotong laser. Sekiranya anda tidak memiliki pemotong laser, anda boleh menggunakan perkhidmatan dalam talian seperti ponoko.com atau formulor.de atau menghubungi ruang fablab / pembuat seterusnya di persekitaran anda. Anda juga boleh menggunakan kadbod atau bahan ringan lain tetapi fail yang dilampirkan adalah reka bentuk untuk ketebalan 3mm, jadi bahan yang lebih nipis atau tebal memerlukan reka bentuk semula fail. Reka bentuk dilakukan di Fusion 360. Sebilangan besar bahagiannya bersatu hanya dengan menggesernya pada tempatnya, hanya sebahagian bahagian seperti bahagian luar yang harus dilekatkan bersama menggunakan gam kayu. Pastikan matriks anda berfungsi sepenuhnya sebelum menggunakan sebarang gam! Veneer kayu juga mesti dilekatkan, tetapi ini adalah langkah terakhir setelah memastikan semuanya berfungsi.

Di sebelah kanan (bawah) landasan belakang, terdapat segmen terpotong untuk mengamankan komponen elektronik ke matriks dan masih mempunyai akses ke komponen ini apabila venir dilekatkan.

Langkah 2: Pasang LED

Pasang LED
Pasang LED
Pasang LED
Pasang LED
Pasang LED
Pasang LED

Jalur LED adalah jalur 30 LED / m WS2812 standard, yang boleh didapati di Amazon, eBay atau kedai dalam talian lain di seluruh dunia. Ini biasanya juga jalur LED yang boleh dialamatkan paling murah. Sekiranya anda ingin menggunakan LED lain, anda mesti memastikan jarak 30 LED / m agar sesuai dengan corak matriks. Segmen lasercutted mempunyai kawasan potong kecil agar sesuai dengan lebar LED 10 cm. Jalur LED ini mempunyai pita dua sisi di punggungnya, jadi anda hanya boleh melekatkannya terus ke MDF setelah kedudukan tepat. Periksa orientasi yang betul pada setiap jalur sebelum menggunakan pita (arah DIN-DOUT).

Corak pendawaian adalah zig-zag jadi pada akhir, hanya ada satu pin input ke matriks dan panjang kabel sesingkat mungkin. Untuk mengagihkan daya dengan betul dan mengurangkan pemasangan kabel di bahagian atas matriks, setiap jalur LED disambungkan ke 5V dan GND di bahagian bawah matriks. Anda boleh menggunakan wayar tunggal atau prototaip PCB untuk mengedarkan garis 5V dan GND.

Langkah 3: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Paparan letupan membantu mengenal pasti kepingan yang betul untuk pemasangan. Ikuti sahaja gambar pemasangan langkah demi langkah. Plat belakang mempunyai struktur silang untuk menahan dinding sisi panjang dan beberapa dinding pendek. Sekiranya anda menghadapi masalah memasang kepingan, gunakan kertas pasir untuk memperbaikinya.

Langkah 4: Pematerian

Pematerian
Pematerian
Pematerian
Pematerian

Terdapat pelbagai cara untuk menyolder talian kuasa untuk jalur yang berbeza bersama-sama. Sama ada anda boleh menggunakan wayar tunggal atau sejenis rel biasa dari tembaga untuk menyolder wayar yang berbeza. Dalam kes ini, kepingan prototaip PCB digunakan untuk memandu rel elektrik ke jalur. Jalur WS2812B sudah mempunyai kabel kuasa yang terpisah yang boleh anda gunakan untuk menyambungkan rel kuasa ke input jalur pertama (sebelah kiri pada gambar).

Langkah 5: Pasang Paparan SPI

Pasang Paparan SPI
Pasang Paparan SPI

Untuk memaparkan skor permainan dan teks, paparan matriks LED berdasarkan pemacu LED MAX7219 digunakan. Ia dihubungkan melalui SPI (Serial Peripheral Interface) ke Raspberry Pi. Empat paparan 8x8 digabungkan dengan paparan dot matriks 32x8 piksel. Anda boleh membeli paparan piksel 8x8 ini untuk mis. di eBay, terdapat juga gabungan paparan 32x8 piksel yang tersedia. Anda juga mempunyai pilihan warna yang berbeza; dalam kes ini paparan merah telah digunakan. Kerana SPI berfungsi seperti shift register, paparan disambungkan bersama secara bersiri dengan menghubungkan data dari matriks pertama ke data yang kedua dan seterusnya bermula dari sebelah kanan paparan.

Paparan ini hanya dapat dibaca dari luar, jika diletakkan tepat di belakang lapisan venir. Sekiranya tidak, hanya ada kabur merah yang kelihatan. Oleh itu, anda mesti memasangnya di atas segmen pemotong pelat belakang dengan jarak 30mm antara permukaan pelantar belakang dan permukaan matriks. Saya telah menggunakan beberapa kepingan kayu dan skru yang tersisa untuk menyesuaikan ketinggian 19 mm antara pelantar belakang dan PCB, tetapi anda juga boleh menggunakan jenis spacer luar.

Pendawaian paparan ditunjukkan pada langkah 7.

Langkah 6: Pasang Pi

Pasang Pi
Pasang Pi
Pasang Pi
Pasang Pi
Pasang Pi
Pasang Pi

Dalam pemasangan ini, Raspberry Pi Zero digunakan. Anda juga boleh menggunakan model Raspberry Pi yang lain, tetapi yang lebih baru dengan WiFi dan Bluetooth bersepadu membolehkan anda menyambung dengan mudah ke gamepad tanpa wayar dan memudahkan pengaturcaraan. Anda boleh mengamankan Pi dengan menggunakan sekurang-kurangnya dua skru dan spacer kecil untuk memasukkannya ke landasan belakang.

Untuk Raspberry Pi Zero W, pin berikut digunakan:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> jalur LED
  • GPIO11: SPI CLK -> MAX7219 matriks CLK
  • GPIO10: SPI MOSI -> MAX7219 matriks DIN
  • GPIO8: SPI CS -> MAX7219 matriks CS

Beberapa orang melaporkan masalah penggunaan GPIO18 untuk LED. Sila gunakan GPIO21 dalam kes ini. Sekiranya demikian, anda mesti menukar kod pada baris 21 menjadi pixel_pin = board. D21.

Jalur WS2812B digunakan di sini di luar spesifikasinya. Biasanya ia memerlukan tahap logik 5V pada DIN, tetapi Pi hanya menyediakan 3, 3V. Walaupun ini berfungsi dalam kebanyakan kes, anda harus mengujinya dengan jalur anda. Sekiranya tidak berfungsi, anda boleh menambah penukar tahap seperti 74HCT245 atau penukar 3V3 hingga 5V lain antara Pi dan jalur.

Langkah 7: Pendawaian dan Bekalan Kuasa

Pendawaian dan Bekalan Kuasa
Pendawaian dan Bekalan Kuasa
Pendawaian dan Bekalan Kuasa
Pendawaian dan Bekalan Kuasa
Pendawaian dan Bekalan Kuasa
Pendawaian dan Bekalan Kuasa

Pendawaian dilakukan mengikut skema pendawaian. Bekalan kuasa adalah bekalan DC 5V.

Untuk pertukaran matriks on / off yang mudah, suis ditambahkan antara palam kuasa dan litar matriks. Walaupun begitu, kerana Raspberry Pi tidak suka mematikan keras, ada pilihan mematikan dalam perisian untuk mematikan Pi melalui Gamepad dengan selamat sebelum beralih matriks.

Pin DIN jalur LED disambungkan melalui Resistor ke Pi, juga kapasitor besar (4700uF) ditambahkan untuk menyangga bekalan kuasa. Sila periksa Adafruit Überguide untuk Neopixels untuk maklumat lebih lanjut.

LED menggunakan arus maksimum 60mA per LED, jadi arus maksimum 200x60mA = 12A adalah mungkin !!! Dengan mengurangkan kecerahan dan tidak menggunakan semua LED dengan warna putih sepenuhnya, ini lebih merupakan nilai teori, tetapi bergantung pada kod mana arus maksimum dicapai. Oleh itu, memilih bekalan kuasa yang cukup besar adalah sangat penting. Untuk kebanyakan aplikasi, bekalan kuasa dengan 5V / 5A (25W) harus mencukupi.

Untuk memperbaiki permukaan belakang dengan paparan Pi dan Matrix, beberapa kepingan kayu kecil dapat digunakan untuk menggosoknya di tepi dan juga menggunakan skru untuk menahan pelat belakang di tempatnya.

Langkah 8: Sediakan Pi

Sediakan Pi
Sediakan Pi

1. Muat turun gambar Raspbian lite terkini dari raspberrypi.org

2. Salin ke dan kad SD, 8GB sudah cukup. Anda boleh menggunakan mis. etcher untuk melakukan ini.

3. Sebelum boot Pi dengan kad SD, sediakan akses WIFI dan ssh

4. Masukkan kad SD ke komputer mana pun, folder boot harus dapat diakses

5. Salin baris berikut ke fail wpa_supplicant.conf (hasilkan jika tidak ada) dan ubah parameter bergantung pada Wifi dan wilayah anda

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

negara = kemas kini AS_config = 1 rangkaian = {ssid = "Home Wifi" psk = "mypassword" key_mgmt = WPA-PSK}

6. Tambahkan fail kosong yang disebut ssh (tanpa pelanjutan) untuk boot untuk membolehkan akses ssh

7. Sekarang masukkan kad SD ke Raspberry Pi dan boot. Periksa penghala wifi anda untuk mendapatkan alamat IP Pi

8. mulakan sambungan SSH ke Pi menggunakan terminal (Linux, Mac) atau mis. Putty Windows. Masukkan IP Pi bukannya 192.168.x.y

ssh [email protected]

9. Kemas kini Pi (memerlukan sedikit masa!)

sudo apt-get kemas kini

sudo apt-get peningkatan

10. Pasang alat paip dan persediaan

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Pasang pemacu Neopixel, ws281x lib, pygame dan libsdl

sudo pip3 pasang rpi_ws281x adafruit-circuitpython-neopixel

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

12. Aktifkan SPI dengan memanggil raps-config, arahkan ke 5 Pilihan Antaramuka / P4 SPI / Aktifkan

sudo raspi-config

13. Tambahkan Gamepad Bluetooth

sudo bluetoothctl

[bluetooth] # ejen di [bluetooth] # berpasangan di [bluetooth] # pindai di [bluetooth] # pasangan aa: bb: cc: dd: ee: ff [bluetooth] # trust aa: bb: cc: dd: ee: ff [bluetooth] # sambung aa: bb: cc: dd: ee: ff [bluetooth] # berhenti

di mana aa: bb: cc: dd: ee: ff adalah pakaian MAC dari gamepad bluetooth anda. Alamat ini harus ditunjukkan setelah memanggil perintah "scan on". Pastikan pengawal Bluetooth anda siap dipasangkan, sila periksa manual pengawal bagaimana melakukan ini.

14. Anda kini boleh berhubung dengan anda melalui Pi, kata laluan lalai adalah raspberry (pengguna Windows boleh menggunakan Putty):

ssh [email protected]

Langkah 9: Python Code, Test and Simulator

Kod Python, Ujian dan Simulator
Kod Python, Ujian dan Simulator
Kod Python, Ujian dan Simulator
Kod Python, Ujian dan Simulator
Kod Python, Ujian dan Simulator
Kod Python, Ujian dan Simulator

Kod boleh didapati di Github. games_pi_only.py dan semua fail bmp diperlukan.

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

Kod ini mempunyai pilihan untuk berjalan dalam mod simulasi di luar Pi menggunakan permainan pygame untuk mensimulasikan matriks. Ini sangat berguna untuk mengembangkan ciri baru tanpa mempunyai akses langsung ke perkakasan matriks. Penyahpepijatan juga lebih mudah. Anda harus menetapkan pemalar PI untuk mengaktifkan mod simulasi (Baris 15):

PI = Salah

Dalam mod simulasi ini, juga Keyboard digunakan dan bukannya gamepad Bluetooth. Butang 1, 2, 3, 4 dipetakan ke A, B, X, Y dari gamepad, kekunci anak panah untuk arah, "s" untuk permulaan dan "x" untuk pilih. Anda boleh menggunakan editor standard dan konsol atau beberapa IDE bersepadu seperti Micosoft Visual Studio Code atau Jetbrain PyCharm untuk melakukan pengembangan pada PC anda.

Sekiranya anda menggunakan matriks dan Raspberry Pi, anda harus menentukan:

PI = Betul

Untuk menyalin kod ke Raspberry Pi, anda boleh menggunakan perintah scp (Windows WinSCP). Buka tetingkap konsol, beralih ke folder yang mengandungi fail dan panggilan Github

scp games_pi_only [email protected]: / rumah / pi

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

kemudian sambungkan ke Pi melalui ssh (pengguna Windows boleh menggunakan Putty):

ssh [email protected]

setelah berjaya log masuk, anda boleh memulakan kod python dengan memanggil:

sudo python3 games_pi_only.py

Sekiranya kod berjalan dengan betul, anda boleh mengaktifkan autostart dengan memanggil:

sudo nano /etc/rc.local

dan tambahkan baris berikut sebelum keluar 0:

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

Simpan (Ctrl + O) dan Keluar (Ctrl + X)

Langkah 10: Ujian Akhir dan Veneer

Ujian Akhir dan Veneer
Ujian Akhir dan Veneer
Ujian Akhir dan Veneer
Ujian Akhir dan Veneer
Ujian Akhir dan Veneer
Ujian Akhir dan Veneer

Sebelum venir dilekatkan pada bahagian atas depan, matriks harus diuji untuk memastikan bahawa semua LED berfungsi. Adalah lebih mudah untuk memperbaiki sesuatu sebelum venir dilekatkan.

Veneer kayu terpakai adalah kertas venir maple khas yang disebut Microwood, yang satu sisi ditutup dengan kertas dan mempunyai ketebalan 0, 1 mm. Bahagian kertas boleh dilekatkan terus pada mdf menggunakan gam kertas bebas air standard.

Langkah 11: Hasilnya

Keputusan
Keputusan
Keputusan
Keputusan

Bersenang-senang dan nikmati permainan!

Peraduan Raspberry Pi 2020
Peraduan Raspberry Pi 2020
Peraduan Raspberry Pi 2020
Peraduan Raspberry Pi 2020

Hadiah Utama dalam Peraduan Raspberry Pi 2020

Disyorkan: