Სარჩევი:

RPi 3 Starboard / ნაწილაკების გენერატორი: 6 ნაბიჯი (სურათებით)
RPi 3 Starboard / ნაწილაკების გენერატორი: 6 ნაბიჯი (სურათებით)

ვიდეო: RPi 3 Starboard / ნაწილაკების გენერატორი: 6 ნაბიჯი (სურათებით)

ვიდეო: RPi 3 Starboard / ნაწილაკების გენერატორი: 6 ნაბიჯი (სურათებით)
ვიდეო: Adding a 7" Display to the Raspberry Pi 3 2024, ივლისი
Anonim
Image
Image
შეიკრიბეთ LED დაფა
შეიკრიბეთ LED დაფა

მოგწყინდებათ ჟოლოს პი? მზად ხართ ბრძანებდეთ სამყაროს ელემენტარულ ძალებს, გამოიძახეთ და გაუშვით ფოტონები სურვილისამებრ? გნებავთ უბრალოდ რაიმე საინტერესო დაკიდოთ თქვენს მისაღებ ოთახში, ან ლამაზი პროექტი გამოაქვეყნოთ ფეისბუქზე, რათა აჩვენოთ დენისს, რომ შენ კარგად ხარ ამ დღეებში, დიდი მადლობა? ხაფანგში ხართ კომპიუტერული სიმულაციის პროცესში და იმდენი საათის განმავლობაში, სანამ არ გათავისუფლდებით ან წაიშლება? თუ რომელიმე მათგანი ან ყველაფერი აღწერს თქვენ, მაშინ [გამომცხადებლის ხმა] მოგესალმებით!

ეს გაკვეთილი გაჩვენებთ, თუ როგორ უნდა შეიკრიბოთ და დააყენოთ ნაწილაკების გენერატორის ჩვენება Raspberry Pi 3 და RGB მატრიქსის პანელების გამოყენებით. თქვენ დაგჭირდებათ ერთიდან ორ საათამდე, ხოლო მზა პროდუქტი იქნება დაახლოებით 30 "x8" (Pi- ს ჩათვლით) და კედელზე დასაყენებელი. ეს ქმნის საკმაოდ მაგარ დეკორაციას მისაღები ოთახის, ოფისის, სათამაშო ოთახისთვის, ან სადმე სხვაგან, სადაც გსურთ მისი განთავსება.

სანამ დაიწყებთ, აი რა დაგჭირდებათ და რა არის სავარაუდო ხარჯები:

  • Rpi 3 + SD ბარათი + ქეისი + კვების ბლოკი: $ 70 (კანაკიტიდან, მაგრამ ნაწილებს ალბათ იაფად შეიძენთ, თუ ცალკე იყიდით.)
  • 4x 32x32 RGB LED მატრიცა (სასურველია p6 შიდა 1/16 სკანირებით): $ 80-$ 100 გაიგზავნება ალიბაბაზე ან ალიექსპრესზე; $ 160 ადაფრუტზე ან სპარკფუნზე.
  • Adafruit RGB მატრიცის ქუდი: 25 დოლარი
  • 5V 4A კვების ბლოკი: 15 $
  • 3D დაბეჭდილი კლიპები: 1 $ (ეს არის პანელების დასაკავშირებლად და კედელზე ჩამოსაკიდებლად; თუ თქვენ არ გაქვთ წვდომა 3D პრინტერზე, შეგიძლიათ გამოიყენოთ ბეწვის ზოლი, რომ დააკავშიროთ ისინი და რამდენიმე ფრჩხილი ტექნიკის მაღაზიიდან ჩამოკიდეთ იგი კედლიდან. მე შევეცადე მეპოვა დიზაინის ფაილები ან.stls ამისთვის, მაგრამ როგორც ჩანს, ისინი მიწიდან გავიდა. კლიპების მოდელირება საკმაოდ ადვილია.)
  • 14x M4x10 ჭანჭიკები: 5 აშშ დოლარი
  • ოთხი 4x8 IDC კაბელი და სამი დენის კაბელი RGB მატრიცებისთვის (არ ვიცი რა ჰქვია მათ!). ეს უნდა შედიოდეს თქვენს LED პანელებთან.
  • სულ: დაახლოებით $ 200, მიეცი ან აიღე.

პროექტი არ საჭიროებს თქვენ solder ან რაიმე კონკრეტული პროგრამირების ცოდნა; ის მიიჩნევს, რომ თქვენ იცით როგორ დაწეროთ სურათი microSD ბარათზე. თუ არ ხართ დარწმუნებული როგორ გააკეთოთ ეს, Raspberry Pi ფონდს აქვს კარგი სამეურვეო პროგრამა აქ.

ის ასევე ითვალისწინებს, რომ თქვენ გაქვთ ძირითადი ცოდნა იმის შესახებ, თუ როგორ უნდა გააკეთოთ რამე Linux– ის ბრძანების სტრიქონიდან, ხოლო კოდის გავლა ვარაუდობს, რომ თქვენ იცით პითონის საფუძვლები (მაგრამ - თქვენ არ გჭირდებათ კოდის გავლა, რომ ააშენოთ და შეძლოთ გაუშვით ნაწილაკების გენერატორი.) თუ რომელიმე საფეხურზე გაჩერდებით, მოგერიდებათ დასვათ შეკითხვა ან განათავსოთ /r /raspberry_pi– ში (რაც ასევე, მე ვთვლი, ამ სასწავლო ინსტრუქციის მთავარი აუდიტორია)

ნაბიჯი 1: შეიკრიბეთ LED დაფა

შეიკრიბეთ LED დაფა
შეიკრიბეთ LED დაფა

პირველი, თქვენ აპირებთ შეაგროვოთ ინდივიდუალური 32x32 LED პანელები ერთ დიდ 128x32 პანელში. თქვენ უნდა დაათვალიეროთ თქვენი დაფები და იპოვოთ პატარა ისრები, რომლებიც მიუთითებენ კავშირის წესრიგზე; ჩემზე ისინი პირდაპირ HUB75/2x8 IDC კონექტორებთან ახლოს არიან. დარწმუნდით, რომ გაქვთ ისრები, საიდანაც Rpi დაუკავშირდება (მარჯვნივ მარჯვნივ) ქვემოთ დაფის სიგრძეზე.

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

იმის გამო, რომ დენის კაბელები ჩემს დაფებთან იყო ძალიან მოკლე, მე უნდა გამეგრძელებინა ერთი ყვავილის ტერმინალის კვეთა მეორის კონექტორში ჩასვით (ეს საკმაოდ მარტივია - თქვენ შეიძლება მოგიწიოთ ყვავის ტერმინალების ოდნავ დახრა შიგნით, მაგრამ მე დაურთო სურათი ყოველ შემთხვევაში). მე დავამთავრე ყვავილოვანი ტერმინალების ორი კომპლექტი და ერთი 2x8 IDC კონექტორი ჩემი უკვე მოგრძო LED დაფის მარჯვნივ.

თქვენ ასევე შეამჩნევთ, რომ მე მაქვს ორი ჭანჭიკი, რომელიც დაფაზე არ არის დამაგრებული არაფერზე; ისინი იქნება თავზე მას შემდეგ, რაც მთელი ნივთი გადატრიალდება და გამოყენებული იქნება კედელზე მისამაგრებლად.

ასე რომ - მას შემდეგ რაც ყველა პანელს დააკავშირებთ სამაგრებთან, 2x8 IDC კაბელებთან და დენის კაბელებთან ერთად, მზად ხართ გადადგათ შემდეგ საფეხურზე!

ნაბიჯი 2: მოამზადეთ ჟოლო პი

შემდეგი, თქვენ აპირებთ განათავსოთ LED დაფა (ჯერჯერობით) და მოამზადოთ Pi 3 მისი გასაშვებად. ჩვენ გამოვიყენებთ Raspbian Stretch Lite- ს და hzeller- ის RGB მატრიცულ ბიბლიოთეკას (ვიდრე ადაფრუტის მატრიცულ ბიბლიოთეკას, რომელიც უფრო ძველი და შეუნახავია.)

პირველ რიგში, თქვენ გსურთ Raspbian Lite გამოსახულების ჩაწერა SD ბარათზე; როგორც კი ამას გააკეთებთ, გააგრძელეთ და დაუკავშირეთ მონიტორი და კლავიატურა pi- ს და ჩატვირთეთ. (თქვენ ასევე შეგიძლიათ ამის გაკეთება უსათაუროდ, ssh ან სერიული კონექტორით, მაგრამ თუ ასე მიდიხართ, თქვენ ალბათ არ გჭირდებათ მე გითხრათ როგორ გავაკეთო ეს.) ამისათვის დაგჭირდებათ ინტერნეტ კავშირი; თუ Wi -Fi გაქვთ, დაუკავშირეთ Pi თქვენს უკაბელო ქსელს /etc/wpa_supplicant/wpa_supplicant.conf რედაქტირებით და გაუშვით wpa_cli -i wlan0 ხელახალი კონფიგურაცია. (თუ ეს არასოდეს გაგიკეთებიათ, შეგიძლიათ მიიღოთ ინსტრუქციები აქ).

ინტერნეტთან დაკავშირებისთანავე, ჩვენ განვაახლებთ dpkg საცავის პარამეტრებს და გადმოვწერთ საჭირო ბიბლიოთეკებს შემდეგი ბრძანებების შესრულებით:

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

sudo apt-get დააინსტალირეთ git python-dev python-pil

git კლონი

ახლა ჩვენ უნდა შევადგინოთ და დავაინსტალიროთ მატრიცის კოდი. თქვენ შეხვალთ ბიბლიოთეკის შემცველ საქაღალდეში:

cd rpi-rgb-led-matrix

და შეადგინე (ამას შეიძლება ერთი წუთი დასჭირდეს):

make && make build-python

და დააინსტალირეთ პითონის კავშირები:

sudo make install-python

თუ ბიბლიოთეკის კოდის შედგენისას რაიმე შეცდომა შეგექმნათ, დაბრუნდით და დარწმუნდით, რომ სწორად დაინსტალირებული გაქვთ python-dev და python-pil! პითონის კავშირები არ შედგენილი იქნება ორივე ამ პაკეტის დაყენების გარეშე.

თქვენ ასევე უნდა გამორთოთ თქვენი Pi- ს ხმის გამომუშავება (ბორტზე ხმა ერევა მატრიცის კოდში) /boot/config.txt რედაქტირებით. მოძებნეთ ხაზი, რომელიც ამბობს dtparam = audio = on და შეცვალეთ dtparam = audio = off.

თუ ყველაფერი კარგად არის შედგენილი (თქვენ მიიღებთ რამდენიმე გაფრთხილებას Wstrict-protoypes– ის შესახებ) თქვენი pi მზად უნდა იყოს მატრიცის დაფის გასაშვებად. წადით წინ და დახურეთ (sudo გამორთვა ახლა), გათიშეთ იგი და ჩვენ დავუკავშირდებით ნათურას pi– ს მომდევნო საფეხურზე.

ნაბიჯი 3: შეაერთეთ Pi + Matrix Hat + LED დაფა

შეაერთეთ Pi + Matrix Hat + LED დაფა
შეაერთეთ Pi + Matrix Hat + LED დაფა

ასე რომ, ახლა, როდესაც თქვენი Pi გამორთული და გამორთულია, მოდით დავუკავშიროთ მატრიცის ქუდი pi- ს და LED დაფა მატრიცის ქუდს. თუ თქვენი Pi ჯერ არ არის საქმე, ახლა კარგი დროა მისი ჩასადებად.

დააინსტალირეთ მატრიქსის ქუდი, დააწებეთ იგი GPIO- ს ქინძისთავებით Pi- ზე და ორივე მხრიდან ნაზად აწიეთ თანაბარი ძალით. დარწმუნდით, რომ ქინძისთავები სწორად არის გაფორმებული, ისე რომ ქუდის ქალი სათაურები ზუსტად ფარავს GPIO ქინძისთავებს pi- ზე. თუ მას არასწორად ალაგებთ, ეს არ არის კატასტროფა; უბრალოდ ნაზად გაიყვანეთ უკან და გაასწორეთ ნებისმიერი ქინძისთავი, რომელიც მოხრილი აქვს.

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

შემდეგი, თქვენ გსურთ დაუკავშიროთ ყვავილის ტერმინალები სიმძლავრისთვის მატრიცის ქუდის ტერმინალურ ბლოკში. თქვენ გაქვთ ორი ყვავი კონექტორი თითოეულ მხარეს, მაგრამ ორივე კარგად უნდა მოთავსდეს იქ. ჯერ ამოიღეთ ხრახნები და - ეს უთქმელად უნდა გაგრძელდეს - დარწმუნდით, რომ 5V ტერმინალები მონიშნული გაქვთ გვერდით + (ეს უნდა იყოს წითელი, მაგრამ - ისევ - კიდევ ერთხელ შეამოწმეთ თქვენი კონექტორები და არ იფიქროთ, რომ ისინი სწორად იქნა წარმოებული) და GND ტერმინალები (ეს უნდა იყოს შავი) იმ მხარეში, რომელსაც ეტიკეტი აქვს -. როდესაც ისინი იქ არიან, გამკაცრეთ ხრახნები ტერმინალის ბლოკის თავზე და თქვენ უნდა გქონდეთ ისეთი რამ, რაც ჰგავს სათაურის სურათს ამ ნაბიჯისათვის.

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

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

მაგრამ - გახვეული თუ არა გახვეული - ყვავის ტერმინალები დაკავშირებულია ტერმინალის ბლოკთან და ჩვენ მზად ვართ გადავიდეთ შემდეგ საფეხურზე.

ნაბიჯი 4: შეამოწმეთ RGB მატრიცა

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

თუ გიჭირთ Pi- ს ჩატვირთვა მატრიქსის ქუდით, დარწმუნდით, რომ იყენებთ Pi- ს ძუძუს საკმარის ენერგიას (2A+ კარგი უნდა იყოს) და შეეცადეთ შეაერთოთ როგორც ქუდი, ასევე ქუდი. ჩაწერეთ ერთსა და იმავე დენის ზოლში ან გაფართოების კაბელში და ჩართეთ ისინი ერთად.

მას შემდეგ რაც Pi დაიწყება, ჩვენ მზად ვართ შევამოწმოთ მატრიცები. გადადით იქ, სადაც არის პითონის დამაკავშირებელი ნიმუშები (cd/rpi-rgb-led-matrix/bindings/python/sample) და სცადეთ მბრუნავი ბლოკის გენერატორი შემდეგი ბრძანებით:

sudo./rotating-block-generator.py -m adafruit-hat --led-chain 4

თქვენ უნდა გაუშვათ sudo, რადგან მატრიცულ ბიბლიოთეკას სჭირდება დაბალი დონის წვდომა აპარატურაზე ინიციალიზაციისას. -M განსაზღვრავს, თუ როგორ უკავშირდება პანელები pi- ს (ამ შემთხვევაში, ადაფრუტის ქუდი) და -aled- ჯაჭვი განსაზღვრავს -თქვენ მიხვდით -რამდენი პანელი გვაქვს მიჯაჭვული ერთად. რიგები და სვეტები თითო პანელზე ორივე ნაგულისხმევია 32 -ზე, ასე რომ ჩვენ იქ კარგად ვართ.

ახლა - პროგრამის შესრულებისთანავე მოხდება ორი (ან, მართლაც, სამიდან) ერთი რამ:

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

თუ არაფერი მოხდება, ან თუ პანელი უცნაურად გამოიყურება, დააჭირეთ ctrl+c პროგრამის ნიმუშიდან გასასვლელად, დახურეთ pi და შეამოწმეთ ყველა თქვენი კავშირი (IDC კაბელი, დენი, დარწმუნდით, რომ ორივე დენის წყარო ჩართულია და ა.შ.) ასევე დარწმუნდით, რომ ქუდი სწორად არის დაკავშირებული; თუ ეს არ გამოასწორებს, წაიყვანეთ იგი ერთ პანელზე (დარწმუნდით, რომ გამოიყენეთ --led-chain 1 ტესტირებისას) და ნახეთ, შეიძლება თუ არა რომელიმე პანელი ცუდი. თუ ეს არ მუშაობს, გადახედეთ ჰზელერის პრობლემების მოგვარების რჩევებს. თუ ეს ჯერ კიდევ არ მუშაობს, სცადეთ გამოაქვეყნოთ /r /raspberry_pi (ან ადაფრუტის ფორუმებზე, თუ თქვენი პანელები ადაფრუტიდან მიიღეთ, ან დასტის გაცვლა და ა.შ. და ა.შ.)

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

ნაბიჯი 5: მულტიპლექსირება და სკანირების ტარიფები (ან: მომენტალური გადახრა საფლავისკენ მიმავალ გზაზე)

ასე რომ, ერთ -ერთი შეცდომა, რომელიც მე დავუშვი, როდესაც ჩემი პირველი ნაკრები პანელის ალიბაბასგან შეკვეთა არის ის, რომ მე მივიღე გარე პანელები (რატომ არა, მეგონა - ისინი წყალგაუმტარი და უფრო კაშკაშაა!). და როდესაც მე მათ ჩემი მატრიცული ქუდი შევაერთე, ყველაფერი ისე ჩანდა.. არ იყო სწორი.

იმის გასაგებად, თუ რატომ ხდება ეს, ჩვენ ერთი წუთით შევხედავთ ფილ ბურჯესს ადაფრუტის აღწერილობიდან, თუ როგორ მუშაობს ეს პანელები. თქვენ გაითვალისწინებთ, რომ ბურჯესი აღნიშნავს, რომ პანელები არ ანათებენ ყველა მათ LED- ს ერთდროულად - ისინი ანათებენ რიგების რიგებს. კავშირი პანელის სიმაღლეს პიქსელებში და რიგების რაოდენობას შორის, რომელიც ერთდროულად ანათებს, ეწოდება სკანირების სიჩქარე. მაგალითად, 32x32 პანელზე 1/16 სკანირებით, ორი სტრიქონი (1 და 17, 2 და 18, 3 და 19 და ა. რა ბიბლიოთეკების უმეტესობა, რომლებიც მართავენ RGB მატრიცებს, აგებულია პანელებისთვის, სადაც სკანირების სიჩქარეა პიქსელებში სიმაღლის 1/2 - ანუ ისინი მართავენ LED– ების ერთ რიგს ერთდროულად.

გარე პანელებზე (და ზოგიერთ შიდა პანელზე - დარწმუნდით, რომ შეხედეთ სპეციფიკაციებს შეკვეთამდე) აქვს სკანირების მაჩვენებლები, რომლებიც სიმაღლის 1/4 პიქსელებშია, რაც იმას ნიშნავს, რომ ისინი ელიან ოთხი ხაზის ერთდროულად გადაადგილებას. ეს მათ უფრო ნათელს ხდის (რაც კარგია), მაგრამ ბევრი სტანდარტული კოდი არ მუშაობს მათთან (რაც ცუდია). გარდა ამისა, მათ აქვთ პიქსელების შინაგანი მწყობრიდან გამოსვლა, რაც მოითხოვს პროგრამული უზრუნველყოფის x და y მნიშვნელობების გარდაქმნას სწორი პიქსელების დასადგენად. რატომ მზადდება ასე? Აზრზე არ ვარ. Იცი? თუ ასეა, გთხოვთ მითხრათ. წინააღმდეგ შემთხვევაში, ის უბრალოდ საიდუმლოდ დარჩება.

ასე რომ, თუ თქვენ გაქვთ ერთი ასეთი უცნაური გარე პანელი, თქვენ (ალბათ) იღბლიანი ხართ! ჰზელერმა ახლახანს დაამატა ამ ტიპის პანელების საერთო კონფიგურაციის მხარდაჭერა თავის ბიბლიოთეკაში. თქვენ შეგიძლიათ წაიკითხოთ მეტი ამის შესახებ github გვერდზე პროექტისთვის, მაგრამ თქვენ შეგიძლიათ გადასცეთ --led-multiplexing = {0, 1, 2, 3} კოდის ნიმუშს (თქვენ ასევე შეიძლება დაგჭირდეთ იმის პრეტენზია, თითქოს თქვენ გაქვთ ნახევრად სიგრძის პანელების ორმაგი სიგრძის ჯაჭვი) და ის უნდა მუშაობდეს.

არსებობს პიქსელის გარდაქმნის შაბლონები, რომლებიც არ არის მხარდაჭერილი - და (გამოიცანი რა) ჩემს პანელს აქვს ერთი მათგანი! ასე რომ, მე უნდა დავწერო ჩემი გარდაქმნის კოდი (მე ასევე - ნებისმიერი მიზეზის გამო - უნდა ვუთხრა ბიბლიოთეკას, რომ მოიქცეს ისე, როგორც მე მაქვს რვა 16x32 პანელი მიჯაჭვული ერთად). რომელიც არის შემდეგი:

def transformPixels (j, k): effJ = j % 32

effK = k % 32

modY = k

modX = j

#modX და modY არის შეცვლილი X და Y;

#effJ და effK დარწმუნდით, რომ ჩვენ გადავინაცვლებთ 32x32 მატრიცის ფარგლებში, სანამ უბიძგებთ

თუ ((effJ)> 15):

modX = modX + 16

თუ ((effK)> 7):

modY = modY - 8

modX = modX + 16

თუ ((effK)> 15):

modX = modX - 16

თუ ((effK)> 23):

modY = modY - 8

modX = modX + 16

#შემდეგ, ჩვენ მათ უბიძგებთ სწორ ადგილას (თითოეული x+32 მოძრაობს ერთ პანელზე)

თუ (j> 31):

modX += 32

თუ (j> 63):

modX += 32

თუ (j> 95):

modX += 32

დაბრუნება (modX, modY)

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

ნაბიჯი 6: Starboard პროგრამა (ან: უკან გზაზე და მზად პიქსელისთვის)

ახლა, როდესაც თქვენი მატრიცები ამოქმედდა და მზად ხართ წასასვლელად, ყველაფერი რაც თქვენ უნდა გააკეთოთ არის დააყენოთ მარჯვენა მხარეს თქვენი Pi და მოამზადოთ იგი წასასვლელად. დარწმუნდით, რომ ხართ pi მომხმარებლის სახლის დირექტორიაში (cd /home /pi) და გაუშვით შემდეგი ბრძანება:

git კლონი

თქვენ უნდა გქონდეთ ახალი საქაღალდე, მარჯვნივ, რომელიც შეიცავს სამ ფაილს: LICENSE.md, README.md და starboard_s16.py. სცადეთ მარცხენა პროგრამა პითონის საშუალებით გაშვებით:

sudo python./starboard_s16.py

თქვენ უნდა მიიღოთ ნაწილაკების რაოდენობა, რომლებიც მოძრაობენ სხვადასხვა სიჩქარით და იშლება სხვადასხვა სიჩქარით. ყოველ 10, 000 ტკიპას (თქვენ შეგიძლიათ შეხვიდეთ პითონის სკრიპტში ამის შესწორება/შეცვლა) ის შეცვლის რეჟიმებს (არის ოთხი: RGB, HSV, Rainbow და Greyscale).

ამრიგად, ახლა ერთადერთი რაც დარჩა გასაკეთებელი არის ის, რომ მარჯვენა კოდის გაშვება ხდება გაშვებისას. ჩვენ ამას გავაკეთებთ რედაქტირებით (sudo) /etc/rc.local. რისი გაკეთებაც გსურთ, დაამატეთ შემდეგი სტრიქონი სკრიპტში "0 გასვლამდე":

პითონი /home/pi/starboard/starboard_s16.py &

ამის შემდეგ, გადატვირთეთ pi - როდესაც ის გადის ჩატვირთვის თანმიმდევრობით, starboard_s16.py სკრიპტი უნდა დაიწყოს პირდაპირ!

თუ გსურთ სცენარის გაცნობა, ამის გაკეთება შეგიძლიათ - ის ლიცენზირებულია GNU GPL 3.0 -ის შესაბამისად. თუ სკრიპტი არ გამოდგება თქვენთვის, ან თქვენ გაქვთ რაიმე პრობლემა, მოგერიდებათ შემატყობინოთ ან წარმოადგინოთ ხარვეზი github– ზე და ვნახავ რას გავაკეთებ ამის გამოსასწორებლად!

ბოლო (ძალიან) ბოლო რამ რისი გაკეთებაც გსურთ, არის SSH– ის დაყენება pi– ზე, ასე რომ თქვენ შეგიძლიათ დისტანციურად შეხვიდეთ და უსაფრთხოდ გამორთოთ იგი. თქვენ / აუცილებლად / გინდათ შეცვალოთ თქვენი პაროლი (passwd ბრძანების საშუალებით) და შეგიძლიათ იპოვოთ ინსტრუქცია ssh- ის ჩართვისთვის (ასევე ბრძანების სტრიქონიდან) აქ.

გირჩევთ: