Orodha ya maudhui:

Pipboy Imejengwa Kutoka kwa chakavu: Hatua 26 (na Picha)
Pipboy Imejengwa Kutoka kwa chakavu: Hatua 26 (na Picha)

Video: Pipboy Imejengwa Kutoka kwa chakavu: Hatua 26 (na Picha)

Video: Pipboy Imejengwa Kutoka kwa chakavu: Hatua 26 (na Picha)
Video: Насколько реален Pip-Boy из Fallout 2024, Novemba
Anonim
Image
Image
Kujenga Moyo wa Pipboy
Kujenga Moyo wa Pipboy

Huyu ni Pipboy wangu anayefanya kazi, aliyejengwa kutoka kwa taka taka kutoka karakana na uvamizi wa hisa zangu za elektroniki. Nilipata ujenzi huu wenye changamoto na ilinichukua miezi kadhaa ya kazi, kwa hivyo nisingeweka hii kama mradi kamili wa Kompyuta. Ujuzi unaohitajika ni pamoja na kazi ya plastiki na kuni, vifaa vya elektroniki na usimbuaji. Mwili umejengwa kutoka kwa vipande anuwai vya plastiki chakavu zilizokatwa na kuunganishwa pamoja. Nilitumia Raspberry Pi 0 kama mdhibiti mdogo, na kichwa cha kuonyesha kilichowekwa kwenye sehemu ya pini za GPIO. Pini zilizobaki hutumiwa kuendesha LED na kuunganisha vifungo / vidhibiti. Niliandika kiolesura cha mtumiaji wa mtindo wa "Pipboy" na skrini zingine za demo katika Python kukamilisha mradi huo.

Malengo yangu ya mradi yalikuwa:

  • Ilibidi ifanye kazi - i.e. inahitajika kuwa na onyesho ambalo lilifanya vitu
  • Nilitaka iwe na "piga" kuchagua skrini tofauti kwani kila wakati ilinisimama kama sehemu ya picha ya UI katika Kuanguka
  • Ujenzi wote ulilazimika kukamilika kwa kutumia vitu ambavyo nilikuwa tayari niko kwenye karakana au ofisini kwangu (hii haikufanikiwa kabisa, lakini nilipata karibu - zaidi ya 90% ya hii ilipatikana vitu au vitu ambavyo nilikuwa tayari nimeweka karibu)
  • Inahitajika kuvaliwa

Lengo moja ambalo sikuwa nalo lilikuwa kuifanya kuwa mfano halisi wa moja ya mifano ya ndani ya mchezo - napendelea kujenga vitu "kwa mtindo" wa kitu, kwani inanipa nafasi ya kuzoea taka ovyo nipate, na iniruhusu niwe mbunifu zaidi. Mwishowe, ndio najua unaweza kununua hizi lakini hiyo haikuwa maana pia;)

Vifaa

Vifaa

  • Bomba pana la kuzaa (kama kipande cha bomba la kukimbia)
  • Plastiki chakavu (kwa kuunda mwili na kwa madhumuni ya mapambo)
  • Chombo kidogo
  • Kitanda cha sakafu ya povu
  • Pi ya Raspberry
  • Onyesho la 3.5"
  • Encoder ya Rotary ya KY040
  • LED za 3x
  • 2x Bonyeza vifungo
  • Powerbank
  • Wiring
  • Screws, glues, rangi, filler nk

Zana

  • Dremmel
  • Chombo anuwai na mkataji na viambatisho vya mchanga
  • Kuchimba
  • Mafaili
  • Chuma cha kulehemu
  • Moto Gundi Bunduki
  • Dereva wa screw
  • Kisu mkali
  • Saw

Hatua ya 1: Kujenga Moyo wa Pipboy

Kujenga Moyo wa Pipboy
Kujenga Moyo wa Pipboy

Jambo la kwanza nilihitaji kufanya ni kuhakikisha kuwa ningeweza kupata onyesho na mdhibiti mdogo kwa sababu ya fomu ambayo ningeweza kufanya kazi nayo. Nilitokea kuwa na onyesho la 3.5 likipiga teke karibu na ambayo hua kama HAT kwenye pini za GPIO za PI ya Raspberry, kwa hivyo niliamua kutumia hii. Niliiunganisha na Raspberry Pi 0 na nilihakikisha inafanya kazi sawa, kuna hatua chache za kupata Linux kutambua onyesho ambalo unapaswa kupitia.

Kama unavyoona kwenye picha ya pili niliongeza jukwaa ndogo la kadibodi / povu ambalo niliunganisha kwenye kesi hiyo kusaidia kuunga mkono onyesho. Nilifanya hivi kwani nilijua nitashughulikia sehemu hii sana na sikutaka kuvunja pini au onyesho kwa kukosa msaada. Hatimaye hii ilibadilishwa, lakini ilikuwa ulinzi mzuri zaidi wakati wa mchakato wa ujenzi.

Inastahili pia kuzingatiwa wakati huu, kwamba baadaye katika ujenzi niliingia kwenye maswala ya utendaji na usanidi huu - haswa kiwango cha kuburudisha juu ya kiunganishi kati ya Pi na onyesho, nitaingia hivi baadaye katika ujenzi lakini ikiwa alifanya hivi tena nipate kuzingatia vifaa tofauti hapa.

Hapa kuna viungo muhimu kwa hii:

www.raspberrypi.org/forums/viewtopic.php?t…

www.raspberrypi.org/forums/viewtopic.php?t…

www.raspberrypi.org/forums/viewtopic.php?f…

medium.com/@avik.das/setting-up-an-lcd-scr ……

learn.sparkfun.com/tutorials/serial-periph…

Nitajumuisha pia kwenye github inayohusishwa na hii noti kadhaa kwa kile nilichofanya kweli kufanya hii ifanye kazi (ingawa kutoka kwa kusoma kwangu mada kuna tofauti nyingi kwa jinsi hii inavyofanya kazi kwa visa / dereva maalum, kwa hivyo millage yako inaweza kutofautiana).

Hatua ya 2: Mfano wa Kadibodi

Mfano wa Kadibodi
Mfano wa Kadibodi
Mfano wa Kadibodi
Mfano wa Kadibodi
Mfano wa Kadibodi
Mfano wa Kadibodi

Nilipata bomba la zamani / bomba ambalo ningeweza kutumia kwa mwili, lakini nilihitaji kupata muundo wa eneo halisi la skrini na jopo la kudhibiti. Kwa hili nilifanya tu kadibodi za kejeli na nikatumia mkanda wa kuficha kuzirekebisha kwa bomba. Ya kwanza ilikuwa "sanduku" rahisi lakini ilionekana kuwa rahisi sana, kwa hivyo niliibadilisha ili kufanya eneo la skrini liwe la kupendeza zaidi na nikaongeza eneo tofauti la jopo la kudhibiti. Hii zaidi au chini ikawa muundo wa mwisho (kulikuwa na tweaks kadhaa kama utaona, lakini iko karibu).

Hatua ya 3: Kutoka Prototype hadi Kiolezo

Kutoka Prototype hadi Kiolezo
Kutoka Prototype hadi Kiolezo
Kutoka Mfano hadi Kiolezo
Kutoka Mfano hadi Kiolezo
Kutoka Prototype hadi Kiolezo
Kutoka Prototype hadi Kiolezo

Sasa nilikuwa na mfano ambao nilikuwa na furaha nao, ningeweza kuweka gorofa kadibodi na kuigeuza kuwa kiolezo ambacho kisha nikapita kwenye sehemu ya kesi ya zamani ya PC niliyokuwa nikipiga teke. Plastiki yoyote ngumu kama hiyo ingefanya kazi, nilikuwa nikitumia takataka niliyopaswa kupeana. Mara baada ya kutambulishwa, basi niliweza kukata vipande hivyo ili niweze kuanza kukusanya mwili kuu. Kidokezo muhimu hapa, ili kuifanya iwe rahisi kuweka alama na baadaye kukata plastiki, nilifunikiza maeneo ambayo ningehitaji kukata na mkanda wa kuficha kwanza, yote haya yalinipa njia rahisi ya kuchora templeti kwenye plastiki, na kitu cha kusaidia kuzuia diski ya kukata kuteleza kama nilivyopunguza kwanza.

Hatua ya 4: Ongeza Kesi ya Screen & Pi

Ongeza Kesi ya Screen & Pi
Ongeza Kesi ya Screen & Pi
Ongeza Kesi ya Screen & Pi
Ongeza Kesi ya Screen & Pi

Nilitaka pembe za eneo la skrini ziwe zimepindika, na nilihitaji kitu cha kushikilia Pi na kuonyesha - suluhisho langu lilikuwa kutumia kontena dogo la plastiki nililokuwa nalo. Nilikata shimo kutoka juu ya mwili na nikaunganisha chombo kupitia hii. Kisha nikaunganisha pande zote pamoja. Nilitumia superglue hapa na soda kubwa ya kuoka kusaidia kuimarisha welds. Baadaye nilijaza na kufungua / kuweka mchanga kila kitu kukisafisha na kuipatia "umbo" zaidi.

Hatua ya 5: Rudia Jopo la Kudhibiti

Rudia Jopo la Kudhibiti
Rudia Jopo la Kudhibiti
Rudia Jopo la Kudhibiti
Rudia Jopo la Kudhibiti
Rudia Jopo la Kudhibiti
Rudia Jopo la Kudhibiti

Ifuatayo, nilifanya templeti sawa ikipitisha, kukata na kushikamana ili kujenga nyumba ya jopo la kudhibiti.

Hatua ya 6: Kata Bomba

Kata Bomba
Kata Bomba

Kama unavyoona kontena ninayopanga kutumia kuweka vifaa kuu vya elektroniki sasa inakaa fahari ndani ya mazingira nyeusi ya plastiki, hii inamaanisha kuwa ninahitaji kufungua kwenye bomba ili iweze kuingia. Nilitumia mkanda wa kujificha tena kujipanga mahali ambapo nilitaka kukata, na kukata mraba wa bomba ili sehemu ziweze kutoshea.

Hatua ya 7: Bezel

Bezeli
Bezeli
Bezeli
Bezeli

Changamoto moja niliyojilazimisha kwa bahati mbaya ilikuwa kujaribu kupata bezel ambayo ingejaza eneo karibu na onyesho hadi kingo za chombo. Kwa bahati mbaya jinsi onyesho linafanywa pia haina kitu muhimu katika muundo wake (kama mashimo au kitu chochote) kusaidia kuipandisha, kwa hivyo bezel pia ililazimika kushikilia onyesho mahali pake. Jaribio langu la kwanza (lililoonekana hapa) lilikuwa mchanganyiko wa plastiki na povu. Mwishowe niliishia kujirudia juu ya hii mara kadhaa na ikaishia kuwa moja ya sehemu zenye changamoto zaidi za ujenzi. Imezidishwa zaidi na uvumilivu mdogo na asili maridadi ya bezel yenyewe na onyesho.

Hatua ya 8: Mtihani wa Betri

Mtihani wa Batri
Mtihani wa Batri
Mtihani wa Batri
Mtihani wa Batri
Mtihani wa Batri
Mtihani wa Batri

Kwa wakati huu, niligeuza akili yangu jinsi ya kuifanya kukimbia bila uhuru wa USB iliyosambazwa. Nilijaribu betri anuwai na nikagundua kuwa onyesho la Raspberry Pi + halikuvuta nguvu nyingi na ilikuwa na furaha kabisa kukimbia hata kwenye vifurushi vyangu vidogo vya betri (freebie kutoka kwa onyesho la biashara). Hii ilikuwa bahati kweli kwani kifurushi kilitoshea kabisa kwenye pengo ndani ya jengo (picha baadaye). Sasa tunaweza kuweka mkanda kwa muda sehemu kuu za mwili pamoja, na kupata majaribio yetu ya kwanza ya kutumia mkono wangu!

Hatua ya 9: Upimaji wa Fit

Upimaji wa Fit
Upimaji wa Fit
Upimaji wa Fit
Upimaji wa Fit
Upimaji wa Fit
Upimaji wa Fit

Hapa unaweza kuona ambapo nimebadilisha bomba la msingi zaidi kuruhusu ufikiaji wa sehemu ya chini ya vifaa. Unaweza pia kuona jinsi nilivyobahatika na betri kufaa vizuri kwenye patupu kwa upande mmoja wa chombo cha Pi. Mwishowe nilianza mchakato wa kusafisha vifungo, kujaza, kupiga mchanga na kufanya kanzu ya majaribio ili kupata sura ya kumaliza (nilijua katika hatua hii nitakuwa nikipiga mchanga mara nyingi zaidi na karibu kila kitu hicho kitaenda, lakini nilitaka kupata hisia ya jinsi ingeonekana).

Hatua ya 10: Ongeza Udhibiti na Ufafanuzi

Ongeza Udhibiti na Ufafanuzi
Ongeza Udhibiti na Ufafanuzi
Ongeza Udhibiti na Ufafanuzi
Ongeza Udhibiti na Ufafanuzi
Ongeza Udhibiti na Ufafanuzi
Ongeza Udhibiti na Ufafanuzi

Nilitaka safu ya LED nyekundu / manjano / kijani kuunda gauge, pamoja na piga rotary na angalau vifungo 2 vya kushinikiza. Hizi zote zilitengwa kwa sehemu ya jopo la kudhibiti - kesi ya kuchimba mashimo yote ya kulia. Nilianza pia kuongeza vipande vidogo vya vifaa vya plastiki chakavu (kimsingi kit bashing) kuongeza maelezo na maslahi zaidi kwa mwili na jopo la kudhibiti.

Hatua ya 11: Bezel Jenga Nambari 3

Ujenzi wa Bezel Nambari 3
Ujenzi wa Bezel Nambari 3
Ujenzi wa Bezel Nambari 3
Ujenzi wa Bezel Nambari 3
Ujenzi wa Bezel Nambari 3
Ujenzi wa Bezel Nambari 3

Kama nilivyosema hapo awali, nilijitahidi na bezel kwa ujenzi huu na kuijenga tena mara kadhaa. Hii ni iteration ya tatu ambayo nilishikilia nayo. Njia yangu hapa ya kutumia ubao mgumu na kukata maumbo 2 tofauti, mmoja anayefikiria kuliko yule mwingine kisha akaunganisha (na kuibana) pamoja kuunda picha ya kati. Maumbo haya yaliruhusu onyesho la mraba kukaa ndani ya hii na kisha ikashikilia onyesho mahali ndani ya chombo (kama kwenye picha 3). Hii ilinipa nyenzo za kutosha tu kutumia screws 4 ndogo sana kama vifaa - ambavyo nilitumia kurekebisha hii ndani ya kesi hiyo, na kwa hiyo ingeshikilia skrini kuwa thabiti na salama. Kwa kurudia ningepata onyesho ambalo lilikuja na chaguzi nzuri za kuweka (au tumia printa ya 3D - ambayo sikuwa nayo wakati huo).

Hatua ya 12: Kutengeneza Elektroniki

Kutengeneza Elektroniki
Kutengeneza Elektroniki
Kutengeneza Elektroniki
Kutengeneza Elektroniki

Ninatumia ubao wa mkate kupangilia mizunguko yangu rahisi kama hii, na kama mimi hufanya sehemu hii ya mradi katika nafasi tofauti na ujenzi kuu wa mwili, pia niliiunganisha na Raspberry PI tofauti. Hapa nilitumia mfano 3, ambayo ilinipa nguvu kidogo zaidi kuungana nayo moja kwa moja na kuendesha IDE ndani. Hii ilifanya tu nambari ya haraka kuiga rahisi kwangu. Kuna njia zingine nyingi za kuunganisha / msimbo / utatuzi kwa mbali, hii ni kutaka tu nilipendelea kufanya hapa.

Ubunifu hapa ni sawa mbele, tunayo;

  1. Encoder ya Rotary - hii hutumia ardhi na rundo la pini za GPIO kushughulikia mwelekeo wa kubofya na kitufe cha kushinikiza.
  2. Jozi ya vifungo vya kushinikiza, hizi hutumia tu pini moja ya GPIO kila moja na uwanja wa kawaida
  3. 3 za LED, kila moja ikiwa na mpingaji wa ndani ili kuwazuia kuibuka, wote wanaenda kwa uwanja wa pamoja, lakini na pini ya kibinafsi ya GPIO kila mmoja ili kila moja ishughulikiwe kibinafsi.

Hii ilinipa 3 LED kwa gauge yangu, encoder ya kuzunguka kupitia skrini kwenye bomba na vifungo 3 vya kushinikiza kuendesha vitendo (moja kwenye encoder ya rotary na 2 waya tofauti). Hii ilikuwa juu ya yote ninayoweza kutoshea, na kwa onyesho kuchukua pini nyingi, hutumia sana kile ulicho nacho kwenye mpangilio wa kawaida wa Pi GPIO. Walakini ilikuwa nzuri kwa madhumuni yangu.

Picha ya pili inaonyesha sana mpangilio wa mwisho wa ndani niliyokwenda nao. Nilitumia muda hapa kujaribu njia za kuendesha vifaa na kuithibitisha yote ilifanyika kabla ya kuipeleka kwenye mwili wa jengo. Nambari yote iko katika github.

Ujumbe kuhusu encoders za rotary. Nilitumia wakati mwingi kuandika mashine yangu ya hali ya Rotary Encoder kufuatilia mabadiliko ya GPIO ya juu / chini na ramani hizi kwa nafasi za kuzunguka. Nilikuwa na mafanikio mchanganyiko hapa, nilipata kufanya kazi kwa kesi "nyingi", lakini wakati wote kuna kesi za kukomesha na (de) kushawishi nk kushughulikia. Ni mbali, ni rahisi kutumia maktaba iliyotengenezwa tayari na inakuwa nzuri sana kwa hizi zinazopatikana kusanikisha Python. Nilitumia hiyo mwishowe kwani iliniruhusu kuzingatia sehemu ya kufurahisha ya kujenga, badala ya kutumia miaka mingi kusuluhisha shida. Maelezo yote ya hayo yamejumuishwa kwenye nambari ya chanzo.

Ikiwa wewe ni mpya kwa Raspberry Pi, GPIO na vifaa vya elektroniki, ninapendekeza sana mafunzo yafuatayo ambayo hukutumia kila kitu unachohitaji kufanya mpangilio hapo juu;

projects.raspberrypi.org/en/projects/physi…

thepihut.com/blogs/raspberry-pi-tutorials/…

Hatua ya 13: Kupitisha Elektroniki ndani ya Mwili

Kupitisha Elektroniki ndani ya Mwili
Kupitisha Elektroniki ndani ya Mwili
Kupitisha Elektroniki ndani ya Mwili
Kupitisha Elektroniki ndani ya Mwili
Kupitisha Elektroniki ndani ya Mwili
Kupitisha Elektroniki ndani ya Mwili

Baada ya kumaliza mpangilio kwa kutumia ubao wa mkate, ilikuwa wakati wa kuanza kufikiria juu ya jinsi ya kuziweka kwenye mwili wa mpiga bomba. Niliamua nilitaka kuifanya ili niweze kuvunja na kuondoa vifaa vyote vya elektroniki ikiwa ningehitaji kukarabati au kubadilisha chochote baadaye. Ili kufanikisha hili, niliamua kutengeneza sehemu zote ndogo kuziba-kutumia viunganishi vya dupont.

Kwa vifungo nilivyouza kwenye waya zingine za ugani na kutumia waya kufunika waya mwisho, hii iliniruhusu kukusanyika na kutenganisha hizi kutoka kwa mwili (k.v kwa kupima, kisha uchoraji nk). Encoder ya Rotary tayari ilikuwa na pini ambazo zinaweza kukubali viunganishi vya dupont, kwa hivyo nilihitaji tu kutengeneza waya urefu sawa.

LED ilichukua kazi kidogo zaidi - kwa hili, niliamua kutumia kidogo ya plastiki chakavu niliyokuwa nayo (iliyokatwa kutoshea) kutengeneza jopo linaloweza kutolewa ili kuweka LED ndani. Kisha nikawaunganisha kwa moto mahali na kugeuza viunga na waya. Hii ilifanya kitengo cha kuondoa ambacho ningeweza kutoshea na kuondoa na kufanya uchoraji na kumaliza iwe rahisi.

Kumbuka soldering yangu ni ya kutisha, kwa hivyo niliweka hii rahisi na kuepusha chochote kilicho na maelezo mengi / nzuri. Katika picha ya mwisho unaweza kuona pia nilikuwa na vitufe vidogo sana (5x5), nilitumia moja ya hizi zilizowekwa ndani kutoa jopo la kuunganisha kila kitu kutoka / kutoka kwa GPIO. Hasa hii ilikuwa muhimu kuunda reli ya kawaida ambayo ningeweza kutumia na kuzuia kuwa na waya nyingi za ardhini zikirudi kwa Pi.

Kisha nikakata mashimo anuwai kwenye chombo ili kulisha waya kupitia kwa Pi na kuungana na GPIO. Ubunifu huu uliniruhusu kumaliza kumaliza kila kitu ikiwa nahitaji (kitu nilichokifanya mara kadhaa wakati nilikuwa nikikamilisha ujenzi).

Hatua ya 14: Kupanga vizuri Fit

Kupanga vizuri Faini
Kupanga vizuri Faini
Kupanga vizuri Faini
Kupanga vizuri Faini

Wakati huu niliingia kwenye maswala kadhaa "yanayofaa". Kwanza, matumizi ya viunganisho vya dupont kwa wiring ilimaanisha kuwa ilikuwa ngumu kuwafanya watoshe kwenye pini na kofia ya kuonyesha kwani hakukuwa na kibali cha kutosha cha urefu. Nilitatua hii kwa kununua (hii ni moja ya vitu vichache nilivyonunua kwa mradi huu) kiboreshaji kidogo cha pini cha GPIO ili nipate kofia ya kuonyesha iketi juu na kuacha nafasi ya kupata pini zilizobaki za GPIO kwa kutumia viunganishi vya dupont.

Pia nilikata vipande vidogo vya mkeka wa sakafu ya povu ili kutengeneza pedi ya pembeni ndani ya chombo, hii ilisaidia kuketi Uonyesho wa Pi + mahali pazuri na kuiacha ikizunguka.

Hatua ya 15: Rudisha Encoder ya Rotary

Rudisha Usimbuaji wa Rotary
Rudisha Usimbuaji wa Rotary

Misimbo ya Rotary mara nyingi huja (kama ilivyofanya yangu) na kitovu kizuri cha mtindo wa "hi fi" wa kisasa. Hii haikuwa na tabia kabisa kwa ujenzi, kwa hivyo ilibidi nipe kitu kingine. Katika sanduku langu la nasibu la sehemu nilikuta cog ya zamani kutoka kwa kuchimba visima nilivunja muda mrefu uliopita. Hii ilionekana kuwa nzuri, lakini haikufaa kisimbuzi cha rotary. Suluhisho langu hapa lilikuwa kujaribu vifurushi anuwai vya ukuta hadi nitakapopata moja inayofaa kupiga simu ya rotary, na kisha kuikata ili kuunda ili nipate kuitumia kama "kola ya ndani" kukalia kozi ya kuchimba kwenye kisimbuzi cha rotary kama mada zaidi inayofaa kudhibiti.

Hatua ya 16: Usanifu wa ndani

Utando wa ndani
Utando wa ndani
Utando wa ndani
Utando wa ndani

Matofali zaidi ya sakafu ya povu! Wakati huu, niliwatumia kujenga kitambaa laini ili kuifanya iwe sawa vizuri (bila huru sana). Kwa kukata shimo nje ya povu pia niliweza kunyonya "donge" ambalo chombo cha Pi hufanya. Kwa jumla hii ilifanya iweze kuvaliwa zaidi. Haionyeshwi kwenye picha hizi, lakini niliifanya iwe kubwa kidogo kuliko mwili kuu ili ionekane mwisho, ambayo baadaye nilipaka rangi na yote ilisaidia kuongeza tofauti na kupendeza kwa bidhaa iliyokamilishwa.

Hatua ya 17: Kuongeza undani

Inaongeza undani
Inaongeza undani
Inaongeza undani
Inaongeza undani

Wakati wa kuanza kuongeza mapambo na kuifanya iwe ya kupendeza zaidi. Kwanza kabisa niliongeza vipande vipande vya plastiki kando ya uso mmoja ili nipate kupendeza. Kisha nikaongeza waya bandia kwenye vituo kadhaa na nikazisukuma kwenye shimo nililochimba mwilini. Hii yote baadaye ilipakwa rangi tofauti.

Hatua ya 18: Kupaka rangi na kumaliza mwili

Uchoraji na Mwili wa Kujenga
Uchoraji na Mwili wa Kujenga
Uchoraji na Mwili wa Kujenga
Uchoraji na Mwili wa Kujenga
Uchoraji na Mwili wa Kujenga
Uchoraji na Mwili wa Kujenga

Sikuwa na wasiwasi sana na kumaliza kwa kawaida - kama inavyotakiwa kuwa ya zamani na kutumika vizuri hata hivyo (kwa kweli naweza kurudi na kufanya hali ya hewa zaidi juu yake wakati fulani). Lakini nilitaka ionekane kama kitu thabiti na kamili ambacho hakikutumiwa pamoja kutoka kwa taka taka (hata ingawa hiyo ni nini haswa). Nilipitia maagizo kadhaa ya mchanga, kujaza (milliput ni kichungi changu cha chaguo la plastiki), na kurudia. Kisha tabaka kadhaa za utangulizi na rangi ili kusaidia zaidi kulainisha viungo vyote. Kisha mchanga zaidi na kujaza zaidi, na uchoraji zaidi.

Mara tu nilipokuwa na sura na hisia ya mwili niliofurahi na, nilianza kuongeza maelezo kadhaa. Nilitumia kusugua na kubana kwenye grills kwenye vidhibiti ili kuwapa waya zaidi ya waya. Niliongeza pia maelezo madogo ya rangi hapa na pale kwa kutumia akriliki.

Nilichimba mkusanyiko wangu wa stika za nasibu na nikaongeza chache kumaliza athari. Kisha nikaosha safisha ya hali ya hewa na rangi zingine mchanganyiko ili kuongeza uchafu na uchafu kwenye maeneo magumu kufikia ambayo itakuwa ngumu kusafisha. Labda hii ni kidogo sana kwa sasa, na naweza kurudi na kuongeza zingine baadaye.

Hatua ya 19: Usimbuaji

Kuandika
Kuandika

Sehemu ya matamanio yangu kwa mradi huu ilikuwa kuifanya ifanye kama mpiga bomba halisi - na kwangu mimi sehemu ya kupendeza ya mchezo huo inageuza piga kubonyeza kati ya skrini tofauti. Ili kufanikisha hili, niliamua kuandika kiolesura cha mtumiaji wa bomba ambaye ataweza kuonyesha safu ya skrini na kukuruhusu kutembeza kati yao. Nilitaka kufanya yaliyomo kwenye skrini kitu ambacho ningeweza kubadilisha kwa urahisi, na kwa kweli naweza kuongeza / kuondoa skrini.

Ninachagua kuandika hii kwa Python kwa sababu ya msaada bora wa Raspberry Pi, GPIO n.k Python iko chini sana kwenye orodha yangu ya lugha ninazozijua, kwa hivyo hii ilikuwa eneo kubwa la kujifunza kwangu, na nambari nyingi ni fujo kama matokeo. Nitasasisha hii kwa muda kwani sijamaliza kabisa kila kitu nilitaka kufanya hapa - lakini iko karibu kutosha kushiriki sasa kwani dhana zote kuu zipo.

Ubunifu wangu wa nambari ya UI ni sawa mbele, kuna hati kuu ya Python inayoweka onyesho, inasanidi GPIO, inapakia skrini na inaingia kwenye kitanzi kisicho na kipimo, ikingojea hafla za watumiaji na kusasisha onyesho kama inahitajika. Kwa kuongeza kuna maandishi anuwai ya msaada ambayo husaidia kutengeneza skrini za UI kabla ya wakati.

Maktaba kuu kutumika:

  • pygame: Ninatumia hii kama injini kuendesha UI kwani iliniruhusu kuchora picha za kiholela, kudhibiti picha, fonti, kwenda skrini kamili nk.
  • pyky040: Hii hutoa utunzaji wa piga rotary na kuniokoa muda mwingi (shukrani nyingi kwa Raphael Yancey kwa kutolewa hii.
  • RPi. GPIO: Kwa kuendesha vizuri GPIO, nilicheza na chaguzi kadhaa hapa, lakini hii ilinipa kiwango sahihi cha kubadilika nilitaka, haswa na vitu kama kutumia GPIO ya ziada kama 3.3v nyingine ya kuendesha encoder ya rotary nk.
  • kelele: Kwa utengenezaji wa kelele ya perlin, kuniruhusu kuunda muundo wa wimbi kwa skrini ya redio ambayo inaonekana asili zaidi
  • Foleni: Niliingia kwenye mdudu unaokatisha tamaa na wakati wa hafla kutoka kwa encoder ya rotary ikigeuzwa na kiwango cha (polepole sana) cha kuonyesha LCD. Mwishowe njia niliyotatua hii ilikuwa kuweka foleni kwenye matukio yaliyoingia kutoka kwa encoder ya rotary na kuichukua moja kwa moja wakati skrini inaburudishwa.
  • os, sys, threading, time: zote zinazotumiwa kwa kazi za kawaida za chatu

Ujumbe juu ya muundo wa utunzaji wa skrini. Skrini hufafanuliwa kama orodha ya majina ndani ya nambari. Kila kiingilio kwenye orodha kinaweza kuwa na-p.webp

Yaliyomo ya faili hizo hutengenezwa mahali pengine (kwa mkono au kwa maandishi mengine), ambayo matokeo yake yanahifadhiwa kama faili za-p.webp

Kuna tofauti za kawaida ambapo vitu vichache vimeorodheshwa - kama muundo wa wimbi la skrini ya redio ya nasibu kwani hiyo imehesabiwa kwa wakati halisi na iliyohuishwa.

Ikiwa mlinganisho unasaidia, fikiria muundo wa UI kama kivinjari kibichi sana na rahisi - kila "skrini" ni kama ukurasa wa wavuti rahisi ambao unaweza kuwa na-p.webp

Hapa kuna viungo vya maktaba kuu nilizotumia hapa:

www.pygame.org/news

pypi.org/project/pyky040/

pypi.org/project/noise/

Hatua ya 20: Skrini ya Takwimu

Skrini ya Takwimu
Skrini ya Takwimu

Hakuna bomba anayekamilika bila skrini ya kawaida ya takwimu za silketi ya bomba. Kwa hili, rafiki yangu aliunda tuli-p.webp

Hatua ya 21: Skrini ya Hesabu

Skrini ya Hesabu
Skrini ya Hesabu

Kitu ambacho ni muhimu kila wakati na miradi ya Pi ni kuwa na njia ya kuonyesha maelezo ya msingi kama anwani ya IP DHCP'd yake n.k. Niliamua kupakia skrini ya Hesabu kama onyesho la "hesabu" ya Pi - ni nini CPU, kumbukumbu, anwani ya IP nk. Niliandika hati ndogo ya Linux kukusanya maelezo haya na kuielekeza tu kwa faili iliyoitwa ipasavyo (.txt) faili ambayo mfumo wa UI unachukua na kuonyesha. Kwa njia hii ikiwa niko katika eneo tofauti naweza kuchoma hati na kuchukua faili mpya ya.txt na anwani ya IP ya kisasa nk.

Hatua ya 22: Skrini ya Ramani

Skrini ya Ramani
Skrini ya Ramani

Skrini hii ilikuwa moja wapo ya skrini ngumu zaidi kufanya kazi. Raspberry Pi 0 haiji na moduli ya GPS, lakini nilitaka kuifanya Ramani iwe na uhalali wa mahali ambapo Pi ilikuwa. Suluhisho langu kwa hii ni maandishi tofauti ambayo huvuta anwani ya IP IP, hutumia https://ipinfo.io kutafuta eneo la karibu. Jibu la JSON linashikiliwa na kisha ninabadilisha kuratibu ili niweze kubomoa tile ya openstreetmap.org kwa eneo karibu.

Tiles zinashuka kwa rangi nyingi, lakini nilitaka picha ya kijani kibichi ilingane na muonekano na hisia za Pipboy na sikuweza kupata moja kama hiyo, kwa hivyo niliandika kichungi cha kijani kibichi katika Python ili urekebishe rangi ya tile ya barabara ya wazi na kisha cheka picha mpya kwenye faili ya png.

Wakati wa mchakato hapo juu faili ya maandishi hutengenezwa na eneo la karibu na huratibu, na tile ya ramani imeundwa kama png. PIPboy UI huvuta faili hizi zote na kubandika yaliyomo ili kuunda skrini ya Ramani inayofanya kazi (kwa usahihi wa azimio la anwani ya IP kwa eneo).

Hatua ya 23: Skrini ya Takwimu

Skrini ya Takwimu
Skrini ya Takwimu

Hii ni kadi ya majaribio tu (iliyotengenezwa na hati nyingine ya chatu na pato kwa faili ya png) ambayo inaonyeshwa kusaidia kupima ukubwa / mpangilio. Niliiacha kwa sababu bado ni aina ya muhimu kudhibitisha ni mali ngapi ninahitaji kucheza nayo wakati ninakejeli skrini.

Hatua ya 24: Skrini ya Redio

Skrini ya Redio
Skrini ya Redio

Pamoja na skrini ya ramani, hii ndio skrini nyingine ambayo imenisababishia kazi nyingi. Huu ndio skrini pekee ambayo nilicheza karibu na uhuishaji - na inafanya kazi zaidi kama ilivyokusudiwa, lakini utendaji bado ni shida na viwango vya kuonyesha skrini ya LCD. Muundo wa skrini ni faili ya maandishi iliyo na majina ya redio yaliyochaguliwa bila mpangilio (hizi ni kamba za kiholela na hazifanyi chochote isipokuwa kuwasilisha orodha kwenye skrini), faili ya-p.webp

Hii ndio skrini pekee ambapo kitanzi cha pygame hufanya kazi yoyote halisi kama kila mzunguko, inapaswa kuhesabu muundo mpya wa wimbi, futa sehemu ya skrini katika hii inayoishi na kuunda tena.

Hatua ya 25: Mawazo ya Mwisho

Image
Image
Mawazo ya Mwisho
Mawazo ya Mwisho

Huu labda ni ujenzi mgumu sana ambao nimefanya, na dhana nyingi na ustadi unaotakiwa, lakini pia ni moja ya kufurahisha zaidi na kitu halisi kinachofanya kazi kama matokeo. Bado niko katika mchakato wa kuandaa maandishi yangu ya kiufundi zaidi na repo ya github ya nambari. Zote ambazo nitafanya zipatikane hivi karibuni, kwa hivyo rudi tena hivi karibuni kwa maelezo zaidi na maelezo ninapopata muda wa kuwaongeza kwenye uandishi.

Ikiwa unapata kufanya kitu kama hiki, ningependa kuona matokeo na ikiwa una maswali yoyote tafadhali jisikie huru kuwasiliana na nitajitahidi kuongeza maelezo zaidi katika hatua zozote ambazo unataka kusaidia.

Hatua ya 26: Nambari wazi kwenye Github

Nambari Fungua kwenye Github
Nambari Fungua kwenye Github

Mwishowe nilikaribia kufungua nambari kwenye Github. Inapatikana katika kiunga hiki:

Ilipendekeza: