Სარჩევი:

ხის LED სათამაშო ჩვენება Powered by Raspberry Pi Zero: 11 ნაბიჯი (სურათებით)
ხის LED სათამაშო ჩვენება Powered by Raspberry Pi Zero: 11 ნაბიჯი (სურათებით)

ვიდეო: ხის LED სათამაშო ჩვენება Powered by Raspberry Pi Zero: 11 ნაბიჯი (სურათებით)

ვიდეო: ხის LED სათამაშო ჩვენება Powered by Raspberry Pi Zero: 11 ნაბიჯი (სურათებით)
ვიდეო: ის იძულებით გააძევეს! ~ ჰოლანდიელი ემიგრანტების მიმზიდველი მიტოვებული სახლი 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 წელს და აღადგინეს ბევრმა ადამიანმა. ეს გამოცდილება გამოყენებულ იქნა ყველა გაუმჯობესების შესაჯამებლად მატრიცის ახალი ვერსიის შესაქმნელად და ახლავე ინსტრუქციებისთვის. Com. მთავარი ახალი მახასიათებლებია განახლება Raspberry Pi Zero, ნაცვლად იმისა, რომ გამოიყენოთ Pi Pi და Arduino და შეცვალოთ წინა დიდი კონტროლერი Bluetooth gamepad– ით. ასევე გაუმჯობესდა პროგრამული უზრუნველყოფა სიმულატორის ჩათვლით, რომელიც საშუალებას გაძლევთ შეიმუშაოთ კოდი კომპიუტერზე მაშინაც კი, თუ თქვენ არ გაქვთ წვდომა მატრიცის აპარატურაზე.

ამ LED მატრიცის ერთ -ერთი განსაკუთრებული მახასიათებელია ხის სპეციალური საფარი, რომელიც გამოიყენება LED- ის დასაფარად და მათი დასამალად, როდესაც LED- ები გამორთულია. ეს მნიშვნელოვნად გაზრდის არატექნოლოგიური ადამიანების მიღების ფაქტორს;-) რა თქმა უნდა, თუ ეს სპეციალური საფარი არ არის თქვენს ქვეყანაში, თქვენ ასევე შეგიძლიათ გამოიყენოთ სხვა დიფუზური მასალა, როგორიცაა აკრილი, LED- ების დასამალად. ასევე დაგეგმილია სამომავლოდ რამდენიმე ძირითადი ნაწილის უზრუნველყოფა, რაც გაადვილებს პროექტის აღდგენას.

მასალები:

  • Raspberry Pi Zero W (გარკვეული ადაპტაციით, ყველა სხვა მოდელი ასევე იმუშავებს)
  • 200 LED/s (WS2812B LED ზოლები 30 LED/m)
  • 4x SPI LED მატრიცის ჩვენება MAX7219
  • კაბელები
  • Bluetooth სათამაშო დაფა (მაგ. ეს Pimoroni– დან)
  • კვების წყარო 5V მინიმუმ 5A
  • MDF ხე ლაზერული ჭრისთვის
  • ხის ვინირი ან დიფუზიური აკრილის ფირფიტა
  • კონდენსატორი, რეზისტორი
  • ზოგიერთი ხრახნები

ნაბიჯი 1: ლაზერული ჭრა

ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა

მატრიცის ძირითადი სტრუქტურა დამზადებულია MDF ხისგან 3 მმ სისქით და გაჭრილია ლაზერული საჭრელით. თუ თქვენ არ ფლობთ ლაზერულ საჭრელს, შეგიძლიათ გამოიყენოთ ონლაინ სერვისი, როგორიცაა ponoko.com ან formulor.de ან დაუკავშირდეთ თქვენს გარემოში არსებულ fablab/makerspace– ს. ასევე შესაძლებელია მუყაოს ან სხვა მსუბუქი მასალის გამოყენება, მაგრამ თანდართული ფაილები შექმნილია 3 მმ სისქისთვის, ამიტომ თხელი ან სქელი მასალები საჭიროებს ფაილების გადაკეთებას. დიზაინი გაკეთდა Fusion 360 -ში. ნაწილების უმეტესობა ერთმანეთთან არის გადაჭიმული, მხოლოდ გარე ნაწილების მსგავსი ნაწილები უნდა იყოს შეკრული ხის წებოს გამოყენებით. ნებისმიერი წებოს გამოყენებამდე დარწმუნდით, რომ თქვენი მატრიცა სრულად მუშაობს! ასევე ხის საფარი უნდა იყოს წებოვანი, მაგრამ ეს არის ბოლო ნაბიჯი მას შემდეგ რაც დარწმუნდებით რომ ყველაფერი მუშაობს.

უკანა პლანის მარჯვენა (ქვედა) მხარეს არის ამოჭრილი სეგმენტი, რომ უზრუნველყოს ელექტრონული კომპონენტები მატრიცაზე და მაინც გქონდეთ წვდომა ამ კომპონენტებზე, როდესაც ვინირი მიმაგრებულია.

ნაბიჯი 2: დააინსტალირეთ LED- ები

დააინსტალირეთ LED- ები
დააინსტალირეთ LED- ები
დააინსტალირეთ LED- ები
დააინსტალირეთ LED- ები
დააინსტალირეთ LED- ები
დააინსტალირეთ LED- ები

LED ზოლები არის სტანდარტული 30 LED/m WS2812 ზოლები, რომლებიც ხელმისაწვდომია Amazon, eBay ან სხვა ონლაინ მაღაზიებში მთელს მსოფლიოში. ეს ჩვეულებრივ არის ყველაზე იაფი მიმართვადი LED ზოლები. თუ გსურთ გამოიყენოთ სხვა LED- ები, თქვენ უნდა უზრუნველყოთ 30 LED/m მანძილი, რათა შეესაბამებოდეს მატრიცის ნიმუშს. ლაზერულად მოჭრილ სეგმენტებს აქვთ მცირე ზომის რეგიონები, რომლებიც შეესაბამება LED სიგანეს 10 სმ. ამ LED ზოლებს უკანა მხარეს აქვს ორმხრივი ლენტი, ასე რომ თქვენ შეგიძლიათ უბრალოდ მიამაგროთ ისინი MDF– ზე ზუსტი პოზიციონირების შემდეგ. ფირის გამოყენებამდე შეამოწმეთ თითოეული ზოლის სწორი ორიენტაცია (DIN-DOUT მიმართულება).

გაყვანილობის ნიმუში არის ზიგ-ზაგ, ასე რომ, ბოლოს, მატრიცაში არის მხოლოდ ერთი შესასვლელი პინი და კაბელის სიგრძე რაც შეიძლება მოკლეა. სიმძლავრის სათანადოდ გადანაწილებისა და კაბელის შემცირების მიზნით მატრიცის ზედა ნაწილში, თითოეული LED ზოლი უკავშირდება 5V და GND მატრიცის ბოლოში. 5V და GND ხაზის გასანაწილებლად შეგიძლიათ გამოიყენოთ ერთჯერადი მავთულები ან PCB– ების პროტოტიპირება.

ნაბიჯი 3: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

აფეთქების ხედი ხელს უწყობს ასამბლეის სწორი ნაწილების იდენტიფიცირებას. უბრალოდ მიჰყევით ნაბიჯ ნაბიჯ ინსტალაციის სურათებს. უკანა თვითმფრინავს აქვს ჯვარედინი სტრუქტურები, რათა დაიჭიროს გრძელი გვერდითი კედლები და ზოგიერთი მოკლე კედელი. თუ ნაჭრების დაყენების პრობლემა გაქვთ, გამოიყენეთ ქვიშის ქაღალდი, რომ დააფიქსიროთ.

ნაბიჯი 4: შედუღება

შედუღება
შედუღება
შედუღება
შედუღება

არსებობს სხვადასხვა ხერხი სხვადასხვა ხაზების ერთმანეთთან დასაკავშირებლად. ან შეგიძლიათ გამოიყენოთ ცალკეული მავთულები ან რაიმე სახის საერთო სარკინიგზო სპილენძი, რათა შეაერთოთ სხვადასხვა მავთულები. ამ შემთხვევაში, პროტოტიპის PCB– ების ნაწილები გამოიყენებოდა დენის რელსების ზოლზე გადასაყვანად. WS2812B ზოლს უკვე აქვს ცალკე დენის კაბელები, რომელთა საშუალებითაც შეგიძლიათ დააკავშიროთ დენის სარკინიგზო ხაზის პირველ ზოლს (სურათის მარცხენა მხარე).

ნაბიჯი 5: დააინსტალირეთ SPI ჩვენება

დააინსტალირეთ SPI ჩვენება
დააინსტალირეთ SPI ჩვენება

თამაშის ქულების და ტექსტის საჩვენებლად გამოიყენება LED მატრიცის ჩვენება, რომელიც დაფუძნებულია LED დრაივერზე MAX7219. იგი დაკავშირებულია SPI (სერიული პერიფერიული ინტერფეისი) საშუალებით ჟოლოს პითან. ოთხი 8x8 ჩვენება გაერთიანებულია 32x8 პიქსელიანი წერტილოვანი მატრიცის ეკრანზე. თქვენ შეგიძლიათ შეიძინოთ ეს 8x8 პიქსელიანი დისპლეი მაგ. eBay– ზე ასევე ხელმისაწვდომია 32x8 პიქსელიანი ეკრანი. ასევე თქვენ გაქვთ სხვადასხვა ფერის პარამეტრები; ამ შემთხვევაში წითელი მონიტორები გამოიყენეს. იმის გამო, რომ SPI მუშაობს ცვლის რეგისტრივით, ჩვენებები ერთმანეთთან დაკავშირებულია სერიულად, პირველი მატრიციდან მონაცემების შეერთებით მეორეში და ასე იწყება ეკრანის მარჯვენა მხრიდან.

ეს ჩვენება იკითხება მხოლოდ გარედან, თუ იგი მოთავსებულია უშუალოდ ვინირის ფენის უკან. თუ არა, მხოლოდ წითელი ბუნდოვანი ჩანს. ასე რომ თქვენ უნდა დააინსტალიროთ იგი უკანა თვითმფრინავის ამოჭრილი სეგმენტის თავზე 30 მმ მანძილი უკანა ზედაპირის ზედაპირსა და მატრიცის ზედაპირს შორის. მე გამოვიყენე ზოგიერთი ხის ნაჭერი და ხრახნები, რომ მოვარგოთ დაკარგული 19 მმ უკანა პლანსა და PCB- ებს შორის, მაგრამ თქვენ ასევე შეგიძლიათ ნებისმიერი გარე ტიპის გამყოფი.

ეკრანის გაყვანილობა ნაჩვენებია მე –7 ნაბიჯში.

ნაბიჯი 6: დააინსტალირეთ Pi

დააინსტალირეთ Pi
დააინსტალირეთ Pi
დააინსტალირეთ Pi
დააინსტალირეთ Pi
დააინსტალირეთ Pi
დააინსტალირეთ Pi

ამ ინსტალაციაში, Raspberry Pi Zero გამოიყენება. თქვენ ასევე შეგიძლიათ გამოიყენოთ ნებისმიერი სხვა Raspberry Pi მოდელი, მაგრამ უფრო ახალი მოდელები ინტეგრირებული WiFi და Bluetooth საშუალებას გაძლევთ ადვილად დაუკავშირდეთ უკაბელო სათამაშო დაფებს და გაამარტივოთ პროგრამირება. თქვენ შეგიძლიათ დააფიქსიროთ Pi მინიმუმ ორი ხრახნისა და მცირე ზომის გამყოფის გამოყენებით, რათა ის უკანა პლანზე დაიხუროს.

Raspberry Pi Zero W– სთვის გამოიყენება შემდეგი ქინძისთავები:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> LED ზოლები
  • GPIO11: SPI CLK -> MAX7219 მატრიცა CLK
  • GPIO10: SPI MOSI -> MAX7219 მატრიცა DIN
  • GPIO8: SPI CS -> MAX7219 მატრიცა CS

ზოგიერთმა ადამიანმა აღნიშნა პრობლემები LED- ებისთვის GPIO18– ის გამოყენებისას. გთხოვთ გამოიყენოთ GPIO21 ამ შემთხვევაში. თუ ასეა, თქვენ უნდა შეცვალოთ კოდი 21 სტრიქონში pixel_pin = board. D21.

WS2812B ზოლები აქ გამოიყენება მისი სპეციფიკაციის მიღმა. ჩვეულებრივ ის მოითხოვს 5V ლოგიკურ დონეს DIN– ზე, მაგრამ Pi უზრუნველყოფს მხოლოდ 3, 3V. მაშინაც კი, თუ ეს უმეტეს შემთხვევაში მუშაობს, თქვენ უნდა შეამოწმოთ ეს თქვენი ზოლით. თუ ის არ მუშაობს, შეგიძლიათ დაამატოთ დონის გადამყვანი, როგორიცაა 74HCT245 ან ნებისმიერი სხვა 3V3 5V კონვერტორი Pi და ზოლს შორის.

ნაბიჯი 7: გაყვანილობა და ელექტრომომარაგება

გაყვანილობა და ელექტრომომარაგება
გაყვანილობა და ელექტრომომარაგება
გაყვანილობა და ელექტრომომარაგება
გაყვანილობა და ელექტრომომარაგება
გაყვანილობა და ელექტრომომარაგება
გაყვანილობა და ელექტრომომარაგება

გაყვანილობა ხდება გაყვანილობის სქემის მიხედვით. ელექტრომომარაგება არის 5V DC წყარო.

მატრიცის ადვილად ჩართვის/გამორთვისთვის, გადამრთველი ემატება კვების ბლოკსა და მატრიცის სქემებს შორის. მიუხედავად ამისა, იმის გამო, რომ Raspberry Pi– ს არ უყვარს გამორთვა, პროგრამულ უზრუნველყოფაში არის გამორთვის ვარიანტი, რომ უსაფრთხოდ გამორთოთ Pi, Gamepad– ის საშუალებით მატრიცის გადართვის წინ.

LED ზოლის DIN pin უკავშირდება რეზისტორს Pi- ს, ასევე დიდი კონდენსატორი (4700uF) ემატება ბუფერული დენის წყაროს. გთხოვთ, გაეცნოთ Adafruit Überguide– ს ნეოპიქსელებისთვის დამატებითი ინფორმაციისთვის.

LED- ები მოიხმარენ მაქსიმალურ დენს 60mA თითო LED- ზე, ამიტომ მაქსიმალური დენი 200x60mA = 12A შესაძლებელია !!! სიკაშკაშის შემცირებით და არა ყველა LED- ების სრული თეთრი გამოყენებით, ეს უფრო თეორიული მნიშვნელობაა, მაგრამ ეს დამოკიდებულია კოდზე, რომლის მაქსიმალური დენი მიიღწევა. ასე რომ, საკმაოდ დიდი ელექტრომომარაგების არჩევა ძალიან მნიშვნელოვანია. პროგრამების უმეტესობისთვის საკმარისი უნდა იყოს 5V/5A (25W) კვების ბლოკი.

Pi და Matrix დისპლეით უკანა პლანეტის დასაფიქსირებლად, ხის რამდენიმე პატარა ნაჭერი შეიძლება გამოყენებულ იქნას მათ კიდეებზე გასაპრიალებლად და ასევე ხრახნების გამოყენებით უკანა თვითმფრინავის დასაკავებლად.

ნაბიჯი 8: დააინსტალირეთ Pi

დაყენება Pi
დაყენება Pi

1. ჩამოტვირთეთ Raspbian lite უახლესი სურათი raspberrypi.org– დან

2. დააკოპირეთ და SD ბარათზე, 8 GB საკმარისია. თქვენ შეგიძლიათ გამოიყენოთ მაგ. სხვა ამის გაკეთება.

3. სანამ SD– ს ბარათით ჩატვირთავთ, მოამზადეთ WIFI და ssh წვდომა

4. ჩადეთ SD ბარათი ნებისმიერ კომპიუტერში, ჩატვირთვის საქაღალდე ხელმისაწვდომი უნდა იყოს

5. დააკოპირეთ შემდეგი ხაზები ფაილში wpa_supplicant.conf (გენერირება, თუ ის არ არსებობს) და შეცვალეთ პარამეტრები თქვენი Wifi და რეგიონის მიხედვით

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

ქვეყანა = აშშ განახლება_კონფიგ = 1 ქსელი = {ssid = "სახლის Wifi" psk = "ჩემი პაროლი" key_mgmt = WPA-PSK}

6. ჩადეთ ჩამტვირთავი ფაილი სახელწოდებით ssh (ყოველგვარი გაფართოების გარეშე) ssh წვდომის გასააქტიურებლად

7. ახლა ჩადეთ SD ბარათი Raspberry Pi- ში და ჩატვირთეთ. შეამოწმეთ თქვენი wifi როუტერი Pi- ს IP მისამართის მისაღებად

8. დაიწყეთ SSH კავშირი Pi– სთან ტერმინალის (Linux, Mac) ან მაგ. პუტი და Windows. ჩადეთ IP პი 192,168.x.y ნაცვლად

ssh [email protected]

9. განაახლეთ Pi (გარკვეული დრო სჭირდება!)

sudo apt-get განახლება

sudo apt-get განახლება

10. დააინსტალირეთ პიპი და დაყენების ინსტრუმენტი

sudo apt-get დააინსტალირეთ python3-pip

sudo pip3 install -განაახლეთ setuptools

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 Gamepad

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 არის თქვენი bluetooth დაფის MAC კაბა. ეს მისამართი უნდა იყოს ნაჩვენები "სკანირების" ბრძანების გამოძახების შემდეგ. დარწმუნდით, რომ თქვენი Bluetooth კონტროლერი მზად არის დასაწყვილებლად, გთხოვთ გადაამოწმოთ როგორ გააკეთოთ ეს.

14. ახლა თქვენ შეგიძლიათ Pi- სთან დაკავშირება, ნაგულისხმევი პაროლი არის ჟოლო (Windows მომხმარებლებს შეუძლიათ გამოიყენონ Putty):

ssh [email protected]

ნაბიჯი 9: პითონის კოდი, ტესტი და სიმულატორი

პითონის კოდი, ტესტი და სიმულატორი
პითონის კოდი, ტესტი და სიმულატორი
პითონის კოდი, ტესტი და სიმულატორი
პითონის კოდი, ტესტი და სიმულატორი
პითონის კოდი, ტესტი და სიმულატორი
პითონის კოდი, ტესტი და სიმულატორი

კოდი ხელმისაწვდომია 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]:/მთავარი/pi

scp *.bmp [email protected]:/მთავარი/pi

შემდეგ დაუკავშირდით Pi– ს ssh– ის საშუალებით (Windows მომხმარებლებს შეუძლიათ გამოიყენონ Putty):

ssh [email protected]

წარმატებული შესვლის შემდეგ, შეგიძლიათ დაიწყოთ პითონის კოდი დარეკვით:

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: საბოლოო ტესტირება და ვინირი

დასკვნითი ტესტი და ვინირი
დასკვნითი ტესტი და ვინირი
დასკვნითი ტესტი და ვინირი
დასკვნითი ტესტი და ვინირი
დასკვნითი ტესტი და ვინირი
დასკვნითი ტესტი და ვინირი

სანამ ვინირი წებოვანია წინა მხარეს, მატრიცა უნდა შემოწმდეს იმის უზრუნველსაყოფად, რომ ყველა LED მუშაობს. გაცილებით ადვილია რაღაცის დაფიქსირება მანამ, სანამ ვინირი არ არის შეკრული.

გამოყენებული ხის საფარი არის სპეციალური ნეკერჩხლის ქაღალდი, რომელსაც ეწოდება Microwood, რომელიც ცალ მხარეს არის დაფარული ქაღალდით და აქვს სისქე 0, 1 მმ. ქაღალდის მხარე შეიძლება პირდაპირ წებოვდეს mdf– ზე სტანდარტული წყლის გარეშე ქაღალდის წებოს გამოყენებით.

ნაბიჯი 11: შედეგი

Შედეგი
Შედეგი
Შედეგი
Შედეგი

გაერთეთ და ისიამოვნეთ თამაშით!

ჟოლოს კონკურსი 2020
ჟოლოს კონკურსი 2020
ჟოლოს კონკურსი 2020
ჟოლოს კონკურსი 2020

დიდი პრიზი ჟოლოს კონკურსში 2020

გირჩევთ: