İçindekiler:

Raspberry Pi Zero ile Güçlendirilmiş Ahşap LED Oyuncu Ekranı: 11 Adım (Resimlerle)
Raspberry Pi Zero ile Güçlendirilmiş Ahşap LED Oyuncu Ekranı: 11 Adım (Resimlerle)

Video: Raspberry Pi Zero ile Güçlendirilmiş Ahşap LED Oyuncu Ekranı: 11 Adım (Resimlerle)

Video: Raspberry Pi Zero ile Güçlendirilmiş Ahşap LED Oyuncu Ekranı: 11 Adım (Resimlerle)
Video: Raspberry Pi CM4 (delidding or scalping) 2024, Kasım
Anonim
Raspberry Pi Zero ile Güçlendirilen Ahşap LED Oyun Ekranı
Raspberry Pi Zero ile Güçlendirilen Ahşap LED Oyun Ekranı
Raspberry Pi Zero ile Güçlendirilen Ahşap LED Oyun Ekranı
Raspberry Pi Zero ile Güçlendirilen Ahşap LED Oyun Ekranı
Raspberry Pi Zero ile Güçlendirilen Ahşap LED Oyun Ekranı
Raspberry Pi Zero ile Güçlendirilen Ahşap LED Oyun Ekranı

Bu proje, retro oyunları oynamak için oturma odasına kolayca kurulabilen 78x35 cm boyutlarında 20x10 piksel WS2812 tabanlı bir LED ekran gerçekleştirmektedir. Bu matrisin ilk versiyonu 2016 yılında oluşturuldu ve birçok kişi tarafından yeniden oluşturuldu. Bu deneyim, matrisin yeni bir sürümünü oluşturmak için tüm iyileştirmeleri özetlemek ve bunu şimdi instructables.com'a getirmek için kullanıldı. Ana yeni özellikler, bunun yerine bir Raspberry Pi Zero'nun ve Pi A artı bir Arduino'nun kullanılması ve önceki büyük denetleyicinin bir Bluetooth gamepad ile değiştirilmesidir. Ayrıca, matris donanımına erişiminiz olmasa bile kodu bir bilgisayarda geliştirmenize izin veren simülatör dahil olmak üzere yazılım geliştirildi.

Bu LED matrisinin bir özelliği, LED'ler devre dışı bırakıldığında LED'i kapatmak ve gizlemek için kullanılan özel ahşap kaplamadır. Bu, teknoloji dışı kişilerin kabul faktörünü oldukça artırır;-) Tabii ki, bu özel kaplama ülkenizde mevcut değilse, LED'leri gizlemek için akrilik gibi başka bir dağınık malzeme de kullanabilirsiniz. Ayrıca, projeyi yeniden inşa etmeyi kolaylaştırmak için gelecekte bazı önemli parçaların sağlanması da planlanmaktadır.

Gereçler:

  • Raspberry Pi Zero W (bazı uyarlamalarla diğer tüm modeller de çalışır)
  • 200 LED/sn (30 LED/m ile WS2812B LED şeritleri)
  • MAX7219 ile 4x SPI LED matris ekran
  • kablolar
  • Bluetooth gamepad (örneğin, bu Pimoroni'den)
  • En az 5A ile Güç Kaynağı 5V
  • Lazer kesim için MDF ahşap
  • Ahşap kaplama veya difüzyon akrilik plaka
  • Kondansatör, Direnç
  • Bazı vidalar

Adım 1: Lazer Kesim

Lazer Kesim
Lazer Kesim
Lazer Kesim
Lazer Kesim
Lazer Kesim
Lazer Kesim

Matrisin temel yapısı 3 mm kalınlığında MDF ahşaptan yapılmıştır ve lazer kesici ile kesilmiştir. Bir lazer kesiciniz yoksa, ponoko.com veya formülor.de gibi bir çevrimiçi hizmeti kullanabilir veya ortamınızdaki bir sonraki fablab/makerspace ile iletişime geçebilirsiniz. Karton veya daha hafif malzemeler kullanmak da mümkündür ancak ekli eğeler 3 mm kalınlık için tasarlanmıştır, bu nedenle daha ince veya daha kalın malzemeler eğelerin yeniden tasarlanmasını gerektirir. Tasarım Fusion 360'ta yapıldı. Parçaların çoğu sadece kaydırılarak bir arada tutulur, sadece dış kenarlıklar gibi bazı kısımlar ahşap tutkalı kullanılarak yapıştırılmalıdır. Herhangi bir yapıştırıcı uygulamadan önce matrisinizin tamamen çalıştığından emin olun! Ayrıca ahşap kaplama yapıştırılmalıdır, ancak bu, her şeyin çalıştığından emin olduktan sonraki son adımdır.

Arka panelin sağ (alt) tarafında, elektronik bileşenleri matrise sabitlemek ve kaplama yapıştırıldığında bu bileşenlere hala erişebilmek için kesilmiş bir segment vardır.

2. Adım: LED'leri takın

LED'leri takın
LED'leri takın
LED'leri takın
LED'leri takın
LED'leri takın
LED'leri takın

LED şeritleri, tüm dünyadaki Amazon, eBay veya diğer çevrimiçi mağazalarda bulunan standart 30 LED/m WS2812 şeritleridir. Bu normalde aynı zamanda mevcut en ucuz adreslenebilir LED şerididir. Diğer LED'leri kullanmak istiyorsanız, matris modeline uyması için 30 LED/m mesafesini sağlamalısınız. Lazerle kesilmiş segmentler, 10 cm'lik LED genişliğine uyacak şekilde küçük kesik bölgelere sahiptir. Bu LED şeritlerin arkalarında çift taraflı bant bulunur, böylece hassas konumlandırmadan sonra bunları doğrudan MDF'ye yapıştırabilirsiniz. Bandı kullanmadan önce her şeridin doğru yönünü kontrol edin (DIN-DOUT yönü).

Kablolama düzeni zikzak şeklindedir, bu nedenle sonunda matrise yalnızca bir giriş pini vardır ve kablo uzunlukları mümkün olduğunca kısadır. Gücü uygun şekilde dağıtmak ve matrisin üstündeki kablolamayı azaltmak için, her LED şeridi matrisin altında 5V ve GND'ye bağlanır. 5V ve GND hattını dağıtmak için tek kabloları veya prototip PCB'lerini kullanabilirsiniz.

Adım 3: Montaj

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

Patlama görünümü, montaj için doğru parçaları tanımlamaya yardımcı olur. Sadece adım adım kurulum resimlerini takip edin. Arka panel, uzun yan duvarları ve bazı kısa duvarları tutmak için çapraz yapılara sahiptir. Parçaları takmada sorun yaşıyorsanız, düzeltmek için zımpara kağıdı kullanın.

Adım 4: Lehimleme

Lehimleme
Lehimleme
Lehimleme
Lehimleme

Farklı şeritler için güç hatlarını birlikte lehimlemenin farklı yolları vardır. Farklı telleri lehimlemek için tek teller veya bakırdan bir tür ortak ray kullanabilirsiniz. Bu durumda, güç raylarını şeritlere yönlendirmek için prototip PCB parçaları kullanıldı. WS2812B şeritlerinde, güç rayını ilk şerit girişine (resmin sol tarafında) bağlamak için kullanabileceğiniz ayrı güç kabloları zaten vardır.

Adım 5: SPI Ekranını Kurun

SPI Ekranını Yükle
SPI Ekranını Yükle

Oyun puanlarını ve metnini görüntülemek için, LED sürücüsü MAX7219'u temel alan bir LED matris ekranı kullanılır. Raspberry Pi'ye SPI (Seri Çevre Birimi) üzerinden bağlanır. Dört adet 8x8 ekran, 32x8 piksel nokta vuruşlu bir ekrana birleştirilmiştir. Bu 8x8 piksel ekranları örneğin satın alabilirsiniz. eBay'de ayrıca birleştirilmiş 32x8 piksel ekranlar da mevcuttur. Ayrıca farklı renk seçenekleriniz var; bu durumda kırmızı ekranlar kullanıldı. SPI bir kaydırma yazmacı gibi çalıştığı için, ekranlar, ekranın sağ tarafından başlayarak birinci matristeki verilerle ikinci matristeki veriler arasında bağlantı kurularak seri olarak birbirine bağlanır.

Bu ekran, doğrudan kaplama katmanının arkasına yerleştirilmişse yalnızca dışarıdan okunabilir. Değilse, yalnızca kırmızı bir bulanıklık görünür. Bu nedenle, arka panelin yüzeyi ile matrisin yüzeyi arasında 30 mm'lik bir mesafe ile arka panel kesme parçasının üstüne monte etmeniz gerekir. Arka panel ve PCB'ler arasındaki eksik 19 mm'yi uyarlamak için bazı arta kalan ahşap parçalar ve vidalar kullandım, ancak herhangi bir dış ara parçası da kullanabilirsiniz.

Ekranın kablolaması 7. adımda gösterilmektedir.

6. Adım: Pi'yi yükleyin

Pi'yi yükleyin
Pi'yi yükleyin
Pi'yi yükleyin
Pi'yi yükleyin
Pi'yi yükleyin
Pi'yi yükleyin

Bu kurulumda Raspberry Pi Zero kullanılmaktadır. Diğer Raspberry Pi modellerini de kullanabilirsiniz, ancak entegre WiFi ve Bluetooth'lu daha yeni modeller, kablosuz gamepad'lere kolayca bağlanmanıza ve programlamayı basitleştirmenize olanak tanır. Pi'yi arka panele vidalamak için en az iki vida ve küçük ara parçalar kullanarak sabitleyebilirsiniz.

Raspberry Pi Zero W için aşağıdaki pinler kullanılmaktadır:

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

Bazı kişiler LED'ler için GPIO18 kullanımıyla ilgili sorunlar bildirdi. Lütfen bu durumda GPIO21'i kullanın. Eğer öyleyse, 21. satırdaki kodu pixel_pin = board. D21 olarak değiştirmelisiniz.

WS2812B şeridi burada spesifikasyonunun dışında kullanılır. Normalde DIN'de 5V mantık seviyesi gerektirir, ancak Pi sadece 3, 3V sağlar. Çoğu durumda bu işe yarasa bile, bunu stripinizle test etmelisiniz. Çalışmazsa, Pi ve şerit arasına 74HCT245 gibi bir seviye dönüştürücü veya herhangi bir 3V3 ila 5V dönüştürücü ekleyebilirsiniz.

Adım 7: Kablolama ve Güç Kaynağı

Kablolama ve Güç Kaynağı
Kablolama ve Güç Kaynağı
Kablolama ve Güç Kaynağı
Kablolama ve Güç Kaynağı
Kablolama ve Güç Kaynağı
Kablolama ve Güç Kaynağı

Kablolama, kablolama şemasına göre yapılır. Güç kaynağı 5V DC beslemedir.

Matrisin kolay açılıp/kapatılması için elektrik fişi ve matris devreleri arasına bir anahtar eklenir. Bununla birlikte, Raspberry Pi donanımdan kapatmayı sevmediği için, yazılımda matrisi değiştirmeden önce Pi'yi Gamepad üzerinden güvenli bir şekilde kapatmak için bir kapatma seçeneği vardır.

LED şerit DIN pimi bir Direnç aracılığıyla Pi'ye bağlanır, ayrıca güç kaynağını tamponlamak için büyük bir kapasitör (4700uF) eklenir. Daha fazla ayrıntı için lütfen Neopikseller için Adafruit Überkılavuzu'na göz atın.

LED'ler, LED başına maksimum 60mA akım tüketiyor, bu nedenle maksimum 200x60mA = 12A akım mümkün!!! Parlaklığı azaltarak ve tüm LED'leri tam beyaz olarak kullanmayarak, bu daha çok teorik bir değerdir, ancak hangi maksimum akıma ulaşıldığı koda bağlıdır. Bu yüzden yeterince büyük bir güç kaynağı seçmek çok önemlidir. Uygulamaların çoğu için 5V/5A (25W) güç kaynağı yeterli olacaktır.

Arka paneli Pi ve Matrix ekranıyla sabitlemek için, bazı küçük tahta parçaları kenarları ovmak için kullanılabilir ve ayrıca arka paneli yerinde tutmak için vidalar kullanılabilir.

Adım 8: Pi'yi Ayarlayın

Kurulum Pi
Kurulum Pi

1. Raspberrypi.org'dan en son Raspbian lite görüntüsünü indirin

2. SD karta kopyalayın, 8GB yeterlidir. Şunları kullanabilirsiniz: Bunu yapmak için zımparalayın.

3. Pi'yi SD kart ile başlatmadan önce WIFI ve ssh erişimini hazırlayın

4. SD kartı herhangi bir bilgisayara takın, bir önyükleme klasörü erişilebilir olmalıdır

5. Aşağıdaki satırları wpa_supplicant.conf dosyasına kopyalayın (eğer yoksa oluşturun) ve Wifi ve bölgenize göre parametreleri değiştirin

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

ülke=ABD update_config=1 ağ={ ssid="Ev Wifi" psk="parolam" key_mgmt=WPA-PSK }

6. ssh erişimini etkinleştirmek için önyüklemeye ssh adlı boş bir dosya (herhangi bir uzantı olmadan) ekleyin

7. Şimdi SD kartı Raspberry Pi'ye takın ve önyükleyin. Pi'nin IP adresini almak için wifi yönlendiricinizi kontrol edin

8. Bir terminal (Linux, Mac) kullanarak Pi'ye bir SSH bağlantısı başlatın veya örn. Macun bir Windows. 192.168.x.y yerine Pi'nin IP'sini girin

ssh [email protected]

9. Pi'yi güncelleyin (biraz zaman alır!)

sudo apt-get güncellemesi

sudo apt-get yükseltme

10. Pip ve kurulum aracını kurun

sudo apt-get install python3-pip

sudo pip3 install --upgrade kurulum araçları

11. Neopixel sürücüsünü, ws281x lib, pygame ve libsdl'yi kurun

sudo pip3 kurulumu rpi_ws281x adafruit-circuitpython-neopixel

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

12. raps-config'i arayarak SPI'yi etkinleştirin, 5 Arayüz Seçeneği / P4 SPI / Etkinleştir'e gidin

sudo raspi yapılandırması

13. Bluetooth Oyun Kumandası ekleyin

sudo bluetoothctl

[bluetooth]# aracı [bluetooth]# üzerinde eşlenebilir [bluetooth]# üzerinde tarama [bluetooth]# çifti aa:bb:cc:dd:ee:ff [bluetooth]# trust aa:bb:cc:dd:ee:ff [bluetooth]# connect aa:bb:cc:dd:ee:ff [bluetooth]# çık

burada aa:bb:cc:dd:ee:ff bluetooth gamepad'inizin MAC elbisesidir. Bu adres, “tarama açık” komutu çağrıldıktan sonra gösterilmelidir. Bluetooth kontrol cihazınızın eşleşmeye hazır olduğundan emin olun, lütfen bunun nasıl yapılacağı kontrol cihazının kılavuzuna bakın.

14. Artık Pi'nize bağlanabilirsiniz, varsayılan şifre ahududu'dur (Windows kullanıcıları Putty kullanabilir):

ssh [email protected]

Adım 9: Python Kodu, Testi ve Simülatörü

Python Kodu, Testi ve Simülatörü
Python Kodu, Testi ve Simülatörü
Python Kodu, Testi ve Simülatörü
Python Kodu, Testi ve Simülatörü
Python Kodu, Testi ve Simülatörü
Python Kodu, Testi ve Simülatörü

Kod Github'da mevcuttur. games_pi_only.py ve tüm bmp dosyaları gereklidir.

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

Kodun, matrisi simüle etmek için pygame kullanarak Pi dışında simülasyon modunda çalıştırma seçeneği vardır. Bu, matris donanımına doğrudan erişim olmadan yeni özellikler geliştirmek için çok yararlıdır. Ayrıca hata ayıklama çok daha kolaydır. Simülasyon modunu etkinleştirmek için PI sabitini ayarlamalısınız (Satır 15):

PI=Yanlış

Bu simülasyon modunda, Bluetooth gamepad yerine Klavye de kullanılır. Düğmeler 1, 2, 3, 4, gamepad'in A, B, X, Y ile eşleştirilmiştir, yönler için ok tuşları, başlatma için "s" ve seçim için "x". Geliştirmeyi PC'nizde yapmak için standart bir düzenleyici artı konsol veya Micosoft Visual Studio Code veya Jetbrain PyCharm gibi bazı entegre IDE'leri kullanabilirsiniz.

Matrisi ve Raspberry Pi'yi kullanırsanız, şunları tanımlamanız gerekir:

PI=Doğru

Kodu Raspberry Pi'ye kopyalamak için scp komutunu (Windows WinSCP) kullanabilirsiniz. Bir konsol penceresi açın, Github dosyalarının bulunduğu klasöre geçin ve arayın

scp games_pi_only [email protected]:/home/pi

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

daha sonra ssh aracılığıyla Pi'ye bağlanın (Windows kullanıcıları Putty kullanabilir):

ssh [email protected]

Başarılı bir şekilde oturum açtıktan sonra python kodunu aşağıdakileri arayarak başlatabilirsiniz:

sudo python3 games_pi_only.py

Kod doğru çalışıyorsa, aşağıdakileri arayarak otomatik başlatmayı etkinleştirebilirsiniz:

sudo nano /etc/rc.local

ve 0 çıkışından önce aşağıdaki satırı ekleyin:

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

Kaydet (Ctrl+O) ve Çık (Ctrl+X)

Adım 10: Son Test ve Kaplama

Son Test ve Kaplama
Son Test ve Kaplama
Son Test ve Kaplama
Son Test ve Kaplama
Son Test ve Kaplama
Son Test ve Kaplama

Kaplama ön tarafa yapıştırılmadan önce, tüm LED'lerin çalıştığından emin olmak için matris test edilmelidir. Kaplama yapıştırılmadan önce bir şeyi düzeltmek çok daha kolaydır.

Kullanılan ahşap kaplama tek yüzü kağıt kaplı ve 0,1 mm kalınlığında Microwood adı verilen özel bir akçaağaç kaplama kağıdıdır. Kağıt tarafı, standart su içermeyen kağıt tutkalı kullanılarak doğrudan mdf üzerine yapıştırılabilir.

11. Adım: Sonuç

Sonuç
Sonuç
Sonuç
Sonuç

Eğlen ve oyunun tadını çıkart!

Ahududu Pi Yarışması 2020
Ahududu Pi Yarışması 2020
Ahududu Pi Yarışması 2020
Ahududu Pi Yarışması 2020

Raspberry Pi Yarışması 2020'de Büyük Ödül

Önerilen: