Orodha ya maudhui:

RPi 3 Starboard / Jenereta ya Chembe: Hatua 6 (na Picha)
RPi 3 Starboard / Jenereta ya Chembe: Hatua 6 (na Picha)

Video: RPi 3 Starboard / Jenereta ya Chembe: Hatua 6 (na Picha)

Video: RPi 3 Starboard / Jenereta ya Chembe: Hatua 6 (na Picha)
Video: Adding a 7" Display to the Raspberry Pi 3 2024, Julai
Anonim
Image
Image
Kusanya Bodi ya LED
Kusanya Bodi ya LED

Je! Unahisi kuchoka na Raspberry yako Pi? Je! Uko tayari kuamuru vikosi vya msingi vya ulimwengu, kuita na kupiga picha kwa mapenzi? Je! Unataka tu kitu cha kupendeza kutundika kwenye sebule yako, au mradi mzuri wa kuchapisha kwenye facebook kuonyesha Denise kuwa unafanya vizuri siku hizi, asante sana? Je! Umenaswa katika uigaji wa kompyuta na kupiga kelele masaa hadi utakapoachiliwa au kufutwa? Ikiwa yoyote au yote haya yanakuelezea, basi [sauti ya mtangazaji] Karibu!

Mafunzo haya yatakuonyesha jinsi ya kukusanyika na kuweka onyesho la chembechembe za chembe ukitumia Raspberry Pi 3 na paneli zingine za tumbo za RGB. Inapaswa kukuchukua kati ya saa moja na mbili, na bidhaa iliyokamilishwa itakuwa takriban 30 "x8" (bila kujumuisha Pi) na inayoweza kuwekwa ukutani. Inafanya mapambo mazuri ya sebule, ofisi, chumba cha mchezo, au mahali pengine popote unapotaka kuiweka.

Kabla ya kuanza, hii ndio utahitaji, na ni gharama zipi ni:

  • Rpi 3 + Kadi ya SD + Uchunguzi + Ugavi wa Umeme: $ 70 (kutoka Canakit, lakini labda unaweza kupata sehemu hizo kwa bei rahisi ikiwa unazinunua kando.)
  • 4x 32x32 RGB LED Matrix (ikiwezekana p6 ndani na 1/16 scan): $ 80- $ 100 kusafirishwa kwa Alibaba au Aliexpress; $ 160 kwa Adafruit au Sparkfun.
  • Kofia ya Matiti ya Adafruit RGB: $ 25
  • Ugavi wa Umeme wa 5V 4A: $ 15
  • Sehemu zilizochapishwa za 3D: $ 1ish (hizi ni za kuunganisha paneli na kuzitundika ukutani; ikiwa huna ufikiaji wa printa ya 3D, unaweza kutumia ukanda wenye manyoya kuwashika pamoja na mabano kutoka duka la vifaa hadi hutegemea kutoka ukutani. Nilijaribu kupata faili za kubuni au.stls za hizi, lakini zinaonekana zimepita kutoka duniani. Sehemu hizo ni rahisi kuiga, ingawa.)
  • Bolts 14x M4x10: $ 5ish
  • Kamba nne za IDC 4x8 na nyaya tatu za umeme kwa matrices ya RGB (sijui hizi zinaitwaje!). Hizi zinapaswa kujumuishwa na paneli zako za LED.
  • Jumla: Karibu $ 200, toa au chukua.

Mradi hauhitaji wewe kuuza au kuwa na maarifa maalum ya programu; haidhani unajua jinsi ya kuandika picha kwenye kadi ya MicroSD. Ikiwa haujui jinsi ya kufanya hivyo, msingi wa Raspberry Pi una mafunzo mazuri hapa.

Pia inadhania una maarifa ya kimsingi ya jinsi ya kufanya vitu kutoka kwa laini ya amri kwenye Linux, na kutembea kwa nambari kudhani unajua misingi ya Python (lakini - hauitaji kufuata mwendo wa kificho kuweza kujenga na endesha jenereta ya chembe.) Ikiwa utakwama kwenye hatua yoyote, jisikie huru kuuliza swali au kutuma kwa / r / raspberry_pi (ambayo pia, nadhani, hadhira kuu ya hii inayoweza kufundishwa)

Hatua ya 1: Unganisha Bodi ya LED

Kusanya Bodi ya LED
Kusanya Bodi ya LED

Kwanza, utakusanya paneli za kibinafsi za 32x32 za LED kwenye jopo moja kubwa la 128x32. Utahitaji kuangalia bodi zako na upate mishale midogo inayoonyesha mpangilio wa unganisho; kwenye yangu iko karibu na viunganisho vya HUB75 / 2x8 IDC. Hakikisha una mishale inayoelekeza kutoka mahali Rpi itaunganisha (kutoka kulia kwenye picha hapo juu) chini ya urefu wa bodi.

Utahitaji pia kuunganisha nyaya za umeme. Zaidi ya nyaya hizi zina viunganishi viwili vya kike ambavyo huambatanisha na bodi, na seti moja ya vituo vya jembe ambavyo vinaambatana na chanzo cha umeme. Paneli ninazofanya kazi nazo zina viashiria vya 5V na GND karibu kabisa zilizofichwa chini ya viunganishi wenyewe, lakini nyaya zinaunganisha tu katika mwelekeo mmoja. Utahitaji kuhakikisha kuwa unaunganisha 5V zote pamoja na GND zote pamoja, kwa sababu ikiwa unazipa nguvu hizi nyuma hakika utazikaanga.

Kwa sababu nyaya za umeme zilizojumuishwa na bodi zangu zilikuwa fupi sana, ilibidi niongeze moja kwa kuingiza vidonge vya terminal ya jembe ndani ya kontakt ya nyingine (Hii ni sawa moja kwa moja - huenda ukalazimika kuinama vituo vya jembe kidogo ndani, lakini mimi ' nimejumuisha picha ikiwa tu). Niliishia na seti mbili za vituo vya jembe na kontakt 2x8 ya IDC kutoka kulia kwa bodi yangu ya LED iliyoinuliwa sasa.

Pia utagundua kuwa nina vifungo viwili ambavyo havijashikamana na chochote kwenye mwisho wowote wa bodi; hizi zitakuwa juu mara tu kitu kizima kitakapopinduliwa, na kitatumika kukiunganisha ukutani.

Kwa hivyo - mara tu ukiunganisha paneli zote pamoja na klipu, nyaya 2x8 za IDC, na nyaya za umeme, uko tayari kuendelea na hatua inayofuata!

Hatua ya 2: Andaa Raspberry Pi

Ifuatayo, utaweka ubao wa LED kando (kwa sasa) na uweke Pi 3 tayari kuiendesha. Tutatumia maktaba ya Raspbian Stretch Lite na maktaba ya RGB ya hzeller (badala ya maktaba ya matrix ya Adafruit, ambayo ni ya zamani na haijulikani.)

Kwanza, utahitaji kuandika picha ya Raspbian Lite kwenye kadi ya SD; mara tu umefanya hivi, endelea na uunganishe mfuatiliaji na kibodi kwenye pi na uiwashe. (Unaweza pia kufanya hii bila kichwa, ama juu ya ssh au kiunganishi cha serial, lakini ikiwa ndio njia unayoenda labda hauitaji mimi kukuambia jinsi ya kuifanya.) Utahitaji unganisho la mtandao kwa hili; Ikiwa una wifi, unganisha Pi kwenye mtandao wako wa wireless kwa kuhariri /etc/wpa_supplicant/wpa_supplicant.conf na kuendesha wpa_cli -i wlan0 kusanidi upya. (Ikiwa haujawahi kufanya hivyo, unaweza kupata maagizo hapa).

Mara tu ukiunganishwa kwenye mtandao, tutasasisha mipangilio ya dpkg na kupakua maktaba tunayohitaji kwa kutekeleza amri zifuatazo:

Sudo apt-pata sasisho

Sudo apt-get kufunga git python-dev python-pil

clone ya git

Sasa tunapaswa kukusanya na kusanikisha nambari ya tumbo. Kwa hivyo utaingia kwenye folda iliyo na maktaba:

cd rpi-rgb-inayoongozwa-tumbo

na kukusanya (hii inaweza kuchukua dakika):

tengeneza && fanya kujenga-chatu

na usakinishe vifungo vya chatu:

Sudo fanya kufunga-chatu

Ukipata makosa yoyote wakati wa kuandaa nambari ya maktaba, rudi nyuma na uhakikishe umeweka python-dev na python-pil kwa usahihi! Vifungo vya chatu havitakusanyika bila vifurushi vyote viwili vilivyowekwa.

Utahitaji pia kuzima pato lako la sauti ya Pi (sauti ya ndani ya bodi inaingiliana na nambari ya tumbo) kwa kuhariri / boot / konfig.txt. Tafuta laini inayosema dtparam = audio = juu na ubadilishe kuwa dtparam = audio = off.

Ikiwa kila kitu kimekusanywa sawa (utapata onyo chache juu ya Wstrict-protoypes) pi yako inapaswa kuwa tayari kuendesha bodi ya tumbo. Endelea na kuifunga (sudo shutdown sasa), ondoa, na tutaunganisha bodi ya taa kwa pi katika hatua inayofuata.

Hatua ya 3: Unganisha Pi + Matrix Hat + LED Board

Unganisha Kofia ya Pi + Matrix + Bodi ya LED
Unganisha Kofia ya Pi + Matrix + Bodi ya LED

Kwa hivyo, sasa Pi yako ikiwa imezimwa na haijachomwa, wacha tuunganishe kofia ya tumbo na pi na bodi ya LED kwenye kofia ya tumbo. Ikiwa Pi yako haiko tayari katika kesi hiyo, sasa ni wakati mzuri wa kuiweka hapo.

Sakinisha kofia ya tumbo kwa kuipaka na pini za GPIO kwenye Pi na kuisukuma kwa upole chini na nguvu hata pande zote mbili. Hakikisha kuwa pini zimewekwa sawa, ili vichwa vya kike kwenye kofia vifunike vizuri pini za GPIO kwenye pi. Ukiipotosha, sio janga; vuta tu nyuma kwa upole na unyooshe pini yoyote ambayo imeinama.

Mara tu ukivaa kofia, weka Pi kulia kwa bodi ya LED iliyokusanyika (angalia tena unganisho la umeme tena, na uhakikishe kuwa mishale inaelekeza kutoka kwa Pi chini ya urefu wa bodi) na unganisha IDC kebo kwenye kofia ya tumbo.

Ifuatayo, utataka kuunganisha vituo vya jembe kwa nguvu kwenye kizuizi cha kofia ya tumbo. Una viunganisho viwili vya jembe kwa kila upande, lakini vyote vinapaswa kutoshea hapo vizuri. Fungua screws kwanza na - Hii inapaswa kwenda bila kusema - hakikisha unaweka vituo vya 5V katika upande ulioandikwa + (hizi zinapaswa kuwa nyekundu, lakini - tena - angalia viunganishi vyako na usifikirie zimetengenezwa kwa usahihi) na vituo vya GND (hizi zinapaswa kuwa nyeusi) katika upande ulioandikwa -. Mara tu wanapokuwa hapo, kaza screws juu ya block ya terminal, na unapaswa kuwa na kitu ambacho kinaonekana kama picha ya kichwa cha hatua hii.

Sasa - labda umegundua kuwa usanidi huu unaacha nusu ya kituo cha jembe kila upande wazi, ikitetemeka tu kwa milimita juu ya kofia ya tumbo (na sio mbali zaidi kutoka kwa kila mmoja.) NA - vituo vya jembe hivi karibuni vitakuwa kubeba volts kadhaa na amps kadhaa za Nguvu Mbichi. Je! Hii ni, (naweza kukusikia ukiuliza kutoka upande wa pili wa skrini) kweli Njia sahihi ya kuifanya? Je! Ni, (unategemea karibu na kunong'ona), Wazo zuri?

Na jibu ni (mimi hujibu, nikipunguza mabega yangu) - hapana, sivyo. Njia sahihi ya kuifanya itakuwa kuvua vituo vya jembe mbali na nyaya za umeme na kuzifunga tena kwenye kontakt sahihi ya block ya terminal (au kuziacha kama waya tupu na kuziunganisha bila kontakt kwenye block). Ukishindwa, unaweza kuweka neli ya kupunguka kwa joto karibu na upande ulio wazi wa kontakt jembe au tu kuifunga kwa mkanda wa umeme. Lakini ulimwengu umeanguka na mwanadamu ni mvivu na mtupu, kwa hivyo sijafanya hivyo.

Lakini - zilizofungwa au kufunguliwa - vituo vya jembe vimeunganishwa na kituo cha terminal, na tuko tayari kuendelea na hatua inayofuata.

Hatua ya 4: Jaribu Matrix ya RGB

Sasa kwa kuwa Pi yako imeunganishwa hadi kwenye bodi ya taa, geuza ubao juu na uwezeshe tena Pi. Unaweza kuweka kofia ya tumbo baada ya Pi kuingizwa; ikiwa utawasha kofia kabla ya Pi, hata hivyo, Pi atajaribu kuwasha bila sasa ya kutosha, na atalalamika kwa uchungu (na anaweza kukupa hofu ya kernel na sio buti kabisa.)

Ikiwa unapata shida kupata Pi ili kuanza na kofia ya tumbo, hakikisha unatumia nguvu ya kutosha ya nyama kwa Pi (2A + inapaswa kuwa nzuri) na jaribu kuziba usambazaji wa umeme wa kofia na kwa Pii kwenye kamba sawa ya nguvu au kamba ya ugani, na uwaongeze pamoja.

Mara baada ya Pi kupiga kura, tuko tayari kujaribu matrices. Nenda mahali ambapo sampuli za kumfunga za chatu ziko (cd / rpi-rgb-led-matrix / bindings / python / sampuli) na ujaribu jenereta ya block inayozunguka na amri ifuatayo:

Sudo./protting-block-generator.py -m adafruit-kofia -led-mnyororo 4

Lazima uiendeshe kama Sudo kwa sababu maktaba ya tumbo inahitaji ufikiaji wa kiwango cha chini kwa vifaa wakati wa uanzishaji. The -m inabainisha jinsi paneli zimeunganishwa na pi (katika kesi hii, kofia ya matunda) na mnyororo uliofafanuliwa - umebahatisha - ni paneli ngapi ambazo tumefunga pamoja. Safu na nguzo kwa kila jopo zote ni chaguo-msingi hadi 32, kwa hivyo tuko vizuri hapo.

Sasa - ukishafanya mpango, moja ya mbili (au, kweli, moja ya tatu) mambo yatatokea:

  • Hakuna kinachotokea
  • Unapata kizuizi kizuri kinachozunguka katikati ya bodi yako nyepesi.
  • Bodi nyepesi inafanya kazi, uh, nadhani, lakini inaonekana … ya kushangaza (nusu yake ni kijani kibichi, safu zingine haziwashi, n.k.)

Ikiwa hakuna kinachotokea, au ikiwa jopo linaonekana la kushangaza, piga ctrl + c kutoka kwa programu ya mfano, funga pi, na angalia viunganisho vyako vyote (kebo ya IDC, nguvu, hakikisha vifaa vyote vya umeme vimechomekwa, nk) Pia hakikisha kofia imeunganishwa kwa usahihi; ikiwa hiyo haitarekebisha, peleka kwenye jopo moja (hakikisha unatumia mnyororo-1 wakati unaijaribu) na uone ikiwa moja ya paneli zinaweza kuwa mbaya. Ikiwa HIYO haifanyi kazi, angalia vidokezo vya utatuzi wa hzeller. ikiwa HIYO bado haifanyi kazi, jaribu kuchapisha kwa / r / raspberry_pi (au vikao vya Adafruit, ikiwa umepata paneli zako kutoka kwa Adafruit, au ubadilishaji wa stack, nk, nk)

Ikiwa inafanya kazi lakini bado inaonekana ya kushangaza (labda kama picha ya kichwa cha sehemu hii) baada ya kukagua unganisho, inawezekana kuwa umeunganisha kila kitu kwa usahihi, kwamba paneli zinafanya kazi vizuri, lakini kitu kingine kinaenda kuwasha. Ambayo itatupeleka kwenye hatua yetu inayofuata - upunguzaji zaidi kuliko hatua - kwa viwango vya kuzidisha na kuchanganua. (Ikiwa bodi yako iliyoongozwa inafanya kazi vizuri na huna hamu ya utendaji wa ndani wa paneli hizi, jisikie huru kuruka hatua inayofuata.)

Hatua ya 5: Multiplexing na Scan Viwango (au: Kuhama kwa muda mfupi kwenye Barabara ya Kaburi)

Kwa hivyo, mojawapo ya makosa niliyoyafanya wakati nilipokuwa naamuru seti yangu ya kwanza ya paneli kutoka Alibaba ni kwamba nilipata paneli za nje (kwanini sivyo, nilidhani - hazina maji, na ni nyepesi!). Na, nilipowaunganisha kwa kofia yangu ya matrix, mambo yalionekana.. sio sawa.

Ili kuelewa ni kwanini hiyo, tutachukua dakika kutazama Phil Burgess kutoka kwa maelezo ya Adafruit ya jinsi paneli hizi zinafanya kazi. Utagundua kuwa Burgess anasema kuwa paneli haziwashi taa zao zote mara moja - zinawasha safu za safu. Uhusiano kati ya urefu wa jopo katika saizi na idadi ya safu ambazo zinawaka mara moja huitwa kiwango cha skana. Kwa hivyo, kwa mfano - Kwenye jopo la 32x32 na 1/16 scan, safu mbili (1 na 17, 2 na 18, 3 na 19, nk) zinawashwa mara moja, hadi chini ya bodi, halafu mdhibiti hurudia. Maktaba mengi ambayo huendesha matriki ya RGB yamejengwa kwa paneli ambapo kiwango cha skana ni 1/2 ya urefu katika saizi - ambayo ni kwamba, zinaendesha safu mbili za LED mara moja.

Paneli za nje (na paneli zingine za ndani - hakikisha ukiangalia viunga kabla ya kuagiza) zina viwango vya skana ambavyo ni 1/4 ya urefu katika saizi, ambayo inamaanisha wanatarajia mistari minne kuendeshwa mara moja. Hii inawafanya kuwa mkali (ambayo ni nzuri) lakini hufanya nambari nyingi za kawaida zisifanye kazi nao (ambayo ni mbaya). Kwa kuongeza hiyo, huwa na saizi nje ya mpangilio ndani, ambayo inahitaji kubadilisha maadili ya x na y katika programu ili kushughulikia saizi sahihi. Kwa nini wamefanywa hivi? Sijui. Unajua? Ikiwa ndivyo, tafadhali niambie. Vinginevyo itabidi tu ibaki kuwa siri.

Kwa hivyo, ikiwa una moja ya paneli hizi za nje za weirdo, una bahati! hzeller hivi karibuni ameongeza msaada kwa usanidi wa kawaida wa aina hizi za paneli kwenye maktaba yake. Unaweza kusoma zaidi juu yake kwenye ukurasa wa github wa mradi, lakini unaweza kupitisha --led-multiplexing = {0, 1, 2, 3} kwa nambari ya sampuli (unaweza kuhitaji pia kujifanya kama una mnyororo wenye urefu wa mara mbili wa paneli zenye urefu wa nusu) na inapaswa kufanya kazi.

Kuna mifumo kadhaa ya mabadiliko ya pikseli ambayo haitumiki, ingawa - na (nadhani ni nini) paneli zangu zina moja yao! Kwa hivyo, ilibidi niandike nambari yangu ya mabadiliko (mimi pia - kwa sababu yoyote - lazima niambie maktaba kutenda kama nina paneli nane za 16x32 zilizofungwa pamoja). ambayo ni kama ifuatavyo:

saizi za kubadilisha (J, k): effJ = j% 32

ufanisi = k% 32

modY = k

modX = j

#modX na modY ni X na Y zilizobadilishwa;

#effJ na effK hakikisha tunabadilika ndani ya tumbo la 32x32 kabla ya kusukuma

ikiwa ((effJ)> 15):

modX = modX + 16

ikiwa ((effK)> 7):

wastani = wastani - 8

modX = modX + 16

ikiwa ((effK)> 15):

modX = modX - 16

ikiwa ((effK)> 23):

wastani = wastani - 8

modX = modX + 16

#Halafu, tunawasukuma kwa eneo sahihi (kila x + 32 inasonga jopo moja)

ikiwa (j> 31):

modX + = 32

ikiwa (j> 63):

modX + = 32

ikiwa (j> 95):

modX + = 32

kurudi (modX, modY)

Ikiwa una paneli kama yangu, hii inaweza kuifanyia kazi. Ikiwa haifanyi hivyo, itabidi uandike yako mwenyewe - kwa hivyo, unajua, bahati nzuri na kasi ya mungu.

Hatua ya 6: Programu ya Starboard (au: Rudi kwenye Orodha na Uko Tayari kwa Pixel)

Sasa kwa kuwa una matrices yako unafanya kazi na uko tayari kwenda, unachohitajika kufanya ni kuweka programu ya starboard kwenye Pi yako na kuitayarisha kwenda. Hakikisha uko kwenye saraka ya nyumbani ya mtumiaji wa pi (cd / home / pi) na utumie amri ifuatayo:

clone ya git

unapaswa kuwa na folda mpya, ubao wa nyota, ambayo ina faili tatu: LICENSE.md, README.md na starboard_s16.py. Jaribu mpango wa starboard kwa kuiendesha kupitia chatu:

chatu ya sudo./starboard_s16.py

na unapaswa kupata kikundi cha chembe zinazosonga kwa kasi tofauti na kuoza kwa viwango tofauti. Kila kupe elfu 10 au zaidi (unaweza kuingia kwenye hati ya chatu kuhariri / kubadilisha hii) itabadilisha njia (kuna nne: RGB, HSV, Rainbow, na Greyscale).

Kwa hivyo, sasa kitu pekee kilichobaki kufanya ni kufanya nambari ya bodi ya nyota ianze wakati wa kuanza. Tutafanya hivyo kwa kuhariri (na sudo) /etc/rc.local. Unachotaka kufanya ni kuongeza laini ifuatayo kabla ya "kutoka 0" kwenye hati:

chatu / nyumba /pi / ubao wa nyota / bodi ya nyota_s16.py &

Baada ya kufanya hivyo, fungua upya pi - mara tu inapopita kwenye mlolongo wa bootup, scriptboard_16.py script inapaswa kuanza hadi hapo!

Ikiwa unataka kuzunguka kwenye hati, jisikie huru kufanya hivyo - ina leseni chini ya GNU GPL 3.0. Ikiwa hati haitaendesha kwako, au una shida nayo, jisikie huru kunijulisha au kuwasilisha mdudu kwenye github, na nitaona ni nini ninachoweza kufanya kuirekebisha!

Jambo la mwisho kabisa unalotaka kufanya ni kuweka SSH kwenye pi, ili uweze kuingia ndani na kuifunga kwa usalama. Utahitaji / dhahiri / unataka kubadilisha nywila yako (kupitia amri ya kupitisha), na unaweza kupata maagizo ya kuwezesha ssh (pia kutoka kwa laini ya amri) hapa.

Ilipendekeza: