Sisukord:
- Tarvikud
- Samm 1: Pipboy südame ehitamine
- 2. samm: papist prototüüp
- Samm: prototüübist mallini
- Samm: lisage ekraani ja pi jaoks ümbris
- Samm: korrake juhtpaneeli jaoks
- Samm: lõigake toru välja
- Samm: raam
- 8. samm: aku test
- 9. samm: sobivuse testimine
- Samm: lisage juhtelemendid ja üksikasjad
- 11. samm: raami taastamine nr 3
- 12. samm: elektroonika prototüüpimine
- 13. samm: elektroonika ülekandmine kehasse
- 14. samm: sobivuse peenhäälestamine
- Samm: pöörake pöördkodeerija uuesti üles
- 16. samm: sisemine vooder
- 17. samm: üksikasjade lisamine
- 18. samm: keha ehitamine ja värvimine
- 19. samm: kodeerimine
- 20. samm: statistikaekraan
- 21. samm: varude ekraan
- 22. samm: kaardiekraan
- Samm 23: Andmete ekraan
- 24. samm: raadioekraan
- 25. samm: lõplikud mõtted
- Samm 26: kood on avatud Githubis
Video: Pipboy ehitatud jääkidest: 26 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
See on minu töötav Pipboy, mis on ehitatud garaaži juhuslikust rämpsust ja minu elektroonikakomponentide rüüstamisest. Mulle tundus see väljakutse keeruline ja see võttis mul mitu kuud tööd, nii et ma ei liigitaks seda algajate täielikuks projektiks. Vajalikud oskused hõlmavad plasti- ja puidutööd, elektroonikat ja kodeerimist. Kere on valmistatud mitmesugustest plastikjäätmetest, mis on lõigatud ja kokku keevitatud. Kasutasin mikrokontrollerina Raspberry Pi 0, mille GPIO-nööpnõelte külge oli paigaldatud kuvari päis. Ülejäänud kontakte kasutatakse LED -ide juhtimiseks ja nuppude/juhtnuppude ühendamiseks. Kirjutasin projekti lõpetamiseks "Pipboy" stiilis kasutajaliidese koos mõne demoekraaniga Pythonis.
Minu eesmärgid projekti jaoks olid:
- Pidi töötama - s.t. tegelikult oli vaja kuvarit, mis tegeles asjadega
- Tahtsin, et sellel oleks "ekraan" erinevate ekraanide valimiseks, kuna see paistis mulle alati silma kui Fallouti kasutajaliidese ikooniline osa
- Kogu ehitamine tuli lõpetada, kasutades asju, mis mul juba garaažis või kontoris olemas olid (seda ei saavutatud täielikult, kuid jõudsin lähedale - 90% sellest leiti esemeid või asju, mis mul juba olid)
- Oli vaja kanda
Üks eesmärk, mida mul polnud, oli teha sellest ühe mängusisese mudeli täpne koopia - ma eelistan ehitada asju "asja stiilis", kuna see annab mulle ruumi juhusliku rämpsu kohandamiseks, mida ma leian, ja lubage mul olla natuke loovam. Lõpuks jah, ma tean, et saate neid osta, kuid see polnud ka mõte;)
Tarvikud
Tarvikud
- Lai avaga toru (näiteks tükk äravoolutoru)
- Plastpuru (nii keha loomiseks kui ka dekoratiivseks otstarbeks)
- Väike konteiner
- Vahtpõrandamatt
- Vaarika Pi
- 3,5 "ekraan
- Pöörlev kodeerija KY040
- 3x LEDid
- 2x nupud
- Akupank
- Juhtmestik
- Kruvid, liimid, värvid, täiteaine jne
Tööriistad
- Dremmel
- Multifunktsionaalne tööriist koos lõikuri ja lihvimisseadmetega
- Puurida
- Failid
- Jootekolb
- Kuum liimipüstol
- Kruvikeeraja (d)
- Terav nuga
- Saag
Samm 1: Pipboy südame ehitamine
Esimese asjana pidin tagama, et saaksin kuvari ja mikrokontrolleri sellises vormis, millega saaksin töötada. Mul juhtus olema 3,5 -tolline ekraan, mis vaarika PI GPIO -tihvtide peal mütsina istub, nii et otsustasin seda kasutada. Ma sidusin selle Raspberry Pi 0 -ga ja veendusin, et see töötab hästi. paar sammu, et Linux tunneks ära kuvari, mille peate läbima.
Nagu näete teisel pildil, lisasin ekraani toetamiseks väikese papist/vahtplatvormi, mille liimisin korpuse külge. Ma tegin seda, kuna teadsin, et hakkan selle osaga palju tegelema ega tahtnud tugi või ekraani katkestada toe puudumise tõttu. Lõpuks asendati see, kuid see oli ehitusprotsessi ajal hea kaitse.
Siinkohal väärib märkimist ka see, et hiljem ehitamisel tekkisid selle seadistusega jõudlusprobleemid - peamiselt värskenduskiirus Pi ja ekraani vahelise liidese kaudu, uurin seda hiljem koostamisel, kuid kui teeksin seda uuesti, võiksin kaaluda siin erinevat riistvara.
Siin on mõned kasulikud lingid selle jaoks:
www.raspberrypi.org/forums/viewtopic.php?t…
www.raspberrypi.org/forums/viewtopic.php?t…
www.raspberrypi.org/forums/viewtopic.php?f…
learn.sparkfun.com/tutorials/serial-periph…
Lisan sellega seotud githubisse ka mõned märkused selle kohta, mida ma tegelikult selle töö tegemiseks tegin (kuigi minu teema lugemisest on palju erinevusi, kuidas see teatud juhtumite/draiverite puhul töötab, nii et teie aeg võib erineda).
2. samm: papist prototüüp
Leidsin mõne vana vihmaveetorustiku/toru, mida saaksin kere jaoks kasutada, kuid mul oli vaja välja mõelda tegeliku ekraani ala ja juhtpaneeli kujundus. Selleks tegin lihtsalt papist maketid ja kasutasin toru külge kinnitamiseks maalriteipi. Esimene oli lihtne "kast", kuid see tundus liiga lihtne, nii et ma muutsin seda, et muuta ekraani ala huvitavamaks, ja lisasin eraldi juhtpaneeli ala. See sai enam -vähem lõplikuks kujunduseks (nagu näete, oli paar muudatust, kuid see oli lähedal).
Samm: prototüübist mallini
Nüüd oli mul prototüüp, millega olin rahul, suutsin papi lamestada ja muuta selle malliks, mille seejärel üle kandsin ühele vanale arvutiümbrisele. Iga sarnane sitke plastik töötaks, ma kasutasin lihtsalt rämpsu, mis mul käepärast oli. Pärast märgistamist suutsin siis tükid välja lõigata, et saaksin põhikorpust kokku panna. Siinkohal kasulik näpunäide, et hõlbustada nii plasti märgistamist kui ka lõikamist, katsin need alad, mida oleks vaja lõigata, kõigepealt maskeerimislindiga, nii et mul oli lihtsam malli mallile joonistada, ja midagi, mis aitaks peatada lõikeketta libisemise, kui tegin esimesi lõikeid.
Samm: lisage ekraani ja pi jaoks ümbris
Ma tahtsin, et ekraani ala nurgad oleksid kõverad ja mul oli vaja midagi, mis Pi ja ekraani tegelikult kinni hoiaks - minu lahendus oli kasutada väikest plastmahutit, mis mul oli. Lõikasin kere ülaosast välja augu ja liimisin anuma sellest läbi. Seejärel liimisin kõik küljed kokku. Keevisõmbluste tugevdamiseks kasutasin siin superliimi rohke söögisoodaga. Hiljem täitsin ja viilisin/lihvisin kõik, et see kõik korda teha ja anda sellele rohkem "vormitud" tunnet.
Samm: korrake juhtpaneeli jaoks
Järgmisena tegin juhtpaneeli korpuse ehitamiseks täpselt sama malli, ülekandmist, lõikamist ja liimimist.
Samm: lõigake toru välja
Nagu näete konteinerit, mida kavatsen kasutada peamiste elektroonikakomponentide paigutamiseks, asub nüüd uhkelt musta plastist ümbrise sees, see tähendab, et mul on vaja torusse ava teha, et see sinna asetada. Joondasin uuesti maalriteibiga sinna, kuhu lõigata tahtsin, ja lõikasin välja toru ruudu, et osad sobiksid.
Samm: raam
Üks väljakutse, mille ma endale kogemata peale surusin, oli üritada välja mõelda raam, mis täidaks ekraani ümbruse kuni anuma servadeni. Kahjuks pole ekraani valmistamisviisil ka midagi kasulikku (nagu augud või midagi), mis aitaks seda paigaldada, nii et ka raam pidi ekraani paigal hoidma. Minu esimene katse (siin näha) oli plasti ja vahu segu. Lõpuks kordasin seda mitu korda ja see oli lõpuks üks keerulisemaid ehituse osi. Halvendavad nii raami enda kui ka ekraani väikesed tolerantsid ja õrn olemus.
8. samm: aku test
Siinkohal pöörasin oma mõtteid sellele, kuidas seda teha sõltumatult USB -võrgust. Katsetasin erinevaid akusid ja leidsin, et Raspberry Pi + ekraan ei tarbinud tegelikult nii palju energiat ja see oli täiesti õnnelik isegi ühe minu väiksema akuga (messilt saadud tasuta kingitus). See oli tõesti õnnelik, kuna pakk sobis ideaalselt ehitise sees olevasse pilusse (fotod hiljem). Nüüd saame korpuse põhikomponendid ajutiselt kokku kleepida ja selle esimene proovisõit minu käele sisse lülitada!
9. samm: sobivuse testimine
Siin näete, kus olen südamikutoru veelgi muutnud, et võimaldada juurdepääsu komponentide alumisele küljele. Näete ka seda, kuidas mul vedas, kui aku mahub ilusti Pi konteineri ühele küljele õõnsusse. Lõpuks alustasin sidemete puhastamise, täitmise, lihvimise protsessi ja tegin kattekihi kruntvärviga, et saada viimistletud välimus (ma teadsin, et lihvin seda veel mitu korda ja peaaegu kogu see krunt läheb, aga ma tahtsin saada aimu, kuidas see välja näeb).
Samm: lisage juhtelemendid ja üksikasjad
Tahtsin mõõteriista moodustamiseks seeria punaseid/kollaseid/rohelisi LED -e, samuti pöördnuppu ja vähemalt kahte vajutusnuppu. Kõik need paigaldati juhtpaneeli sektsiooni - lihtsalt kõigi õigete aukude puurimine. Hakkasin lisama ka väikeseid killukesi plastkomponente (põhimõtteliselt komplektide peksmist), et lisada kerele ja juhtpaneelile detaile ja rohkem huvi.
11. samm: raami taastamine nr 3
Nagu ma varem mainisin, võitlesin selle ehituse jaoks raamiga ja ehitasin selle mitu korda ümber. See on kolmas kordus, millega ma jään. Minu lähenemisviis siin on kasutada puitkiudplaati ja lõigata 2 erinevat kuju, üks mõtleja kui teine ja seejärel liimida (ja klammerdada) need kokku, et saada keskmine pilt. Need kujundid võimaldasid ruudukujulisel ekraanil selle sees istuda ja seejärel hoidis see ekraani paagi sees (nagu pildil 3). See andis mulle piisavalt materjali, et kasutada kinnitusdetailidena 4 väga väikest kruvi - millega ma selle korpuse sees kindlalt paika kinnitasin ja see omakorda hoiaks ekraani stabiilsena ja turvalisena. Tagantjärele leian ekraani, millel olid korralikud kinnitusvõimalused (või kasutan 3D -printerit - mida mul tol ajal polnud).
12. samm: elektroonika prototüüpimine
Ma kasutan oma lihtsate vooluahelate selliseks paigutamiseks leivaplaati ja kuna ma teen seda osa projektist sageli põhiruumi konstruktsioonist erinevas ruumis, sidusin selle ka erineva Raspberry PI -ga. Siin kasutasin mudelit 3, mis andis mulle natuke rohkem jõudu sellega tegelikult otse ühenduse loomiseks ja IDE pardal käitamiseks. See muutis minu jaoks kiire koodi prototüüpimise natuke lihtsamaks. Kaugühenduse/koodi/silumise jaoks on palju muid viise, see on lihtsalt soov, mida ma eelistasin siin teha.
Siin on disain üsna sirgjooneline;
- Pöörlev kodeerija - see kasutab maandust ja hunnikut GPIO tihvte, et tulla toime klõpsamise suuna ja nupuga.
- Paar surunuppu kasutavad need lihtsalt ühte GPIO -tihvti ja ühist alust
- 3 LED -i, millel kõigil on sisseehitatud takistus, mis takistab nende hüppamist, kõik ühisele alusele, kuid igaühel on eraldi GPIO -tihvt, nii et igaüks saab eraldi käsitleda.
See andis mulle mõõturi jaoks 3 LED -i, pöörleva kodeerija, mis pöörleb läbi torujuhtme ekraanide, ja 3 nupule, et juhtida toiminguid (üks pöördkodeerijal ja 2 eraldi juhtmega). See oli peaaegu kõik, mida ma mahutasin, ja kuna ekraan võtab hulga nööpnõelu, kulutab see peaaegu kõik, mis teil on Pi PiPIO standardse paigutuse korral. Minu eesmärkidel oli see siiski hea.
Teine pilt näitab üsna palju lõplikku sisemist paigutust, millega ma läksin. Veetsin siin mõnda aega komponentide juhtimise viiside katsetamist ja selle kõikide toimimise kontrollimist, enne kui selle konstruktsiooni põhiosasse üle võtsin. Kogu kood on githubis.
Märkus pöörlevate kodeerijate kohta. Kulutasin hunniku aega oma Rotary Encoderi olekumasina kirjutamisele, et jälgida GPIO kõrgeid/madalaid muutusi ja kaardistada need pöörlevatesse asenditesse. Mul oli siin ebaõnnestunud edu, sain hakkama enamiku juhtumitega, kuid alati on juhtumeid ja (de) põrgatamist jne. Valmis raamatukogu kasutamine on palju lihtsam ja nende jaoks on Pythoni jaoks installimiseks suurepärane raamatukogu. Ma kasutasin seda lõpuks, kuna see võimaldas mul keskenduda ehitamise lõbusale osale, mitte veeta aegade silumist. Kõik selle üksikasjad sisalduvad lähtekoodis.
Kui olete Raspberry Pi, GPIO ja elektroonika uus kasutaja, soovitan soojalt järgmisi õpetusi, mis juhendavad teid kõike, mida vajate ülaltoodud paigutuse tegemiseks;
projects.raspberrypi.org/en/projects/physi…
thepihut.com/blogs/raspberry-pi-tutorials/…
13. samm: elektroonika ülekandmine kehasse
Pärast seda, kui olin leivalaua abil paigutuse lõpule viinud, oli aeg hakata mõtlema, kuidas neid torupoisi kere külge kinnitada. Otsustasin, et tahan seda teha nii, et saaksin kõik elektroonikakomponendid lahti võtta ja eemaldada, kui peaksin tulevikus midagi parandama või muutma. Selle saavutamiseks otsustasin kõik alamosad ühendada dupontühenduste abil.
Nuppude puhul, mida ma jootsin mõne pikendusjuhtme külge ja kasutasin otste isoleerimiseks traatmähist, võimaldas see neid kehast kokku panna ja lahti võtta (nt katsetamiseks, seejärel värvimiseks jne). Pöörleval kodeerijal olid juba tihvtid, mis võisid vastu võtta dupontühendusi, nii et mul oli vaja lihtsalt teha mõned juhtmed õige pikkusega.
Valgusdioodidel kulus veidi rohkem tööd - selleks otsustasin kasutada pisut plastikust vanarauda (lõigatud sobivaks), et teha eemaldatav paneel, kuhu LED -id paigaldada. Seejärel liimisin need kuumalt oma kohale ja jootsin takistid ja juhtmed. See muutis eemaldamisseadme, mille sain paigaldada ja eemaldada, ning lihtsustas värvimist ja viimistlemist.
Pange tähele, et minu jootmine on kohutav, nii et ma hoidsin seda lihtsana ja vältisin kõike liiga üksikasjalikku/peent. Lõplikul pildil näete, et mul olid ka mõned väga pisikesed lairibad (5x5), kasutasin ühte neist, mis olid paigaldatud, et pakkuda paneeli, mis ühendaks kõik GPIO -ga/sealt. Eriti oli see kasulik ühise maandusliini loomiseks, mida saaksin kasutada, ja vältida seda, et palju maandusjuhtmeid ei satuks tagasi Pi -le.
Seejärel lõikasin konteinerisse erinevad augud, et juhtmed Pi -ni juhtida ja GPIO -ga ühendada. See disain võimaldas mul vajadusel kõik lõpuni riisuda (midagi, mida tegin ehituse lõpetamise ajal mitu korda).
14. samm: sobivuse peenhäälestamine
Siinkohal puutusin kokku mõne sobiva probleemiga. Esiteks tähendas kahekordsete pistikute kasutamine juhtmestiku jaoks seda, et neid oli raske panna tihvtidele, kui ekraanimüts oli paigas, kuna puudus piisavalt kõrgust. Lahendasin selle, ostes (see on üks väheseid asju, mille ma selle projekti jaoks tegelikult ostsin) väikese GPIO -nööpnõela pikendaja, et saaksin kuvari mütsi kõrgemal istuda ja jätta ruumi ülejäänud GPIO -tihvtidele juurdepääsu saamiseks, kasutades duponti pistikuid.
Lõikasin ka mõned väikesed poroloonist põrandamatti tükid, et teha anuma sisse külgpolster, see aitas Pi + ekraani õigesse kohta paigutada ja selle liikumise peatada.
Samm: pöörake pöördkodeerija uuesti üles
Pöördkodeerijatel on sageli (nagu minulgi) kena läikiva moodsa "hi fi" stiilis nupuga. See oli ehituse jaoks täiesti olematu, nii et pidin välja mõtlema midagi muud. Oma juhuslikus osade kastis sattusin vana hammasratta külge puurist, mille ma juba ammu katki tegin. See tundus hea, kuid ei sobinud pöörleva kodeerijaga. Minu lahendus oli siin proovida erinevaid seinakorke, kuni leidsin ühe, mis sobib pöörlevale kettale, ja seejärel lõigata see kuju, et saaksin seda kasutada sisemise kraena, et puurhammas pöörlevale kodeerijale sobitada. kontroll.
16. samm: sisemine vooder
Veel vahtpõrandaplaate! Seekord kasutasin neid pehme voodri ehitamiseks, et see oleks mugavam (ilma liiga lahtise). Vahust augu välja lõigates suutsin ka endasse imeda osa "punnist", mille Pi konteiner teeb. Üldiselt muutis see selle palju kantavamaks. Nendel fotodel pole seda näidatud, kuid tegin selle põhiosast veidi suuremaks, nii et see on otstes nähtav, mille ma hiljem värvisin ja see kõik aitas valmis esemele veidi kontrasti ja huvi lisada.
17. samm: üksikasjade lisamine
On aeg hakata lisama kaunistusi ja muuta see huvitavamaks. Kõigepealt lisasin ühele näole mõned plastikribad, et anda sellele visuaalne huvi. Seejärel lisasin mõnele klemmile mõned võltsjuhtmed ja lükkasin need lihtsalt auku, mille puurisin kere sisse. See kõik värviti hiljem erinevat värvi.
18. samm: keha ehitamine ja värvimine
Ma ei olnud väga mures põlise viimistluse pärast - nagu see peaks olema vana ja hästi kasutatav (tegelikult võin ma kunagi tagasi tulla ja teha sellel veel rohkem ilmastikutingimusi). Kuid ma tahtsin, et see näeks välja nagu järjepidev ja terviklik objekt, mis ei olnud juhuslikust rämpsust kokku pandud (kuigi see oli täpselt see). Käisin läbi mitmeid kordi lihvimist, täitmist (milliput on minu valitud plastmaterjalide täiteaine) ja kordasin. Seejärel mitu kihti kruntvärvi ja värvi, et veelgi paremini siluda kõiki liitekohti. Siis veel lihvimist ja täitmist ning rohkem värvimist.
Kui ma olin oma kehaga rahul ja nägin, hakkasin lisama mõningaid üksikasju. Kasutasin juhtnuppude restidel hõõrumist ja hõõrumist, et anda neile rohkem traatvõrgu tunnet. Lisasin siia ja sinna ka väikseid värvi detaile, kasutades akrüüle.
Uurisin oma juhuslike kleebiste kogumit ja lisasin mõned, et efekt lõpuni viia. Seejärel pesin ilmastikukindlalt mõne segatud värviga, et lisada raskesti ligipääsetavatesse kohtadesse mustust ja mustust. See on praegu võib -olla natuke liiga peen ja ma võin hiljem tagasi tulla ja lisada veel mõned.
19. samm: kodeerimine
Osa selle projekti ambitsioonidest oli panna see reageerima nagu tegelik poissmees - ja minu jaoks on selle mängu kõige ikoonilisem osa valiku keeramine erinevate ekraanide vahel liikumiseks. Selle saavutamiseks otsustasin kirjutada pipboy kasutajaliidese, mis võimaldaks kuvada rea ekraane ja võimaldada teil nende vahel kerida. Tahtsin muuta ekraanide sisu millekski, mida saaksin hõlpsasti muuta, ja tõepoolest oleks võimalik ekraane lisada/eemaldada.
Ma valisin selle kirjutamise Pythonis tänu suurepärasele toele Raspberry Pi, GPIO jne jaoks. Python on minu tuttavate keelte loendis üsna madal, seega oli see minu jaoks suur õppimiskõver ja suur osa koodist on selle tagajärjel segane. Ma ajakohastan seda aja jooksul, kuna ma pole siin kõike valmis tahtnud täielikult lõpetada - kuid see on piisavalt lähedal, et seda nüüd jagada, kuna kõik peamised kontseptsioonid on olemas.
Minu kasutajaliidese koodi kujundus on mõistlikult otsekohene, seal on peamine Pythoni skript, mis seadistab ekraani, konfigureerib GPIO -d, laadib ekraanid ja siseneb lõpmatusse värskendusringi, oodates kasutaja sündmusi ja värskendades ekraani vastavalt vajadusele. Lisaks on olemas erinevaid tugiskripte, mis aitavad kasutajaliidese ekraane enne tähtaega luua.
Peamised kasutatavad raamatukogud:
- pygame: Ma kasutan seda kasutajaliidese käivitamise mootorina, kuna see võimaldas mul joonistada suvalist graafikat, manipuleerida pilte, fonte, minna täisekraanile jne.
- pyky040: See tagab pöördketta käsitsemise ja säästis mulle palju aega (suured tänud Raphael Yanceyle selle vabastamise eest.
- RPi. GPIO: Hea GPIO -sõidu jaoks mängisin siin mõne valikuga, kuid see andis mulle õige paindlikkuse taseme, mida ma tahtsin, eriti selliste asjade puhul nagu varu -GPIO kasutamine teise 3,3 V -na pöörleva kodeerija juhtimiseks jne.
- müra: Perlini müra tekitamiseks lubage mul luua raadioekraani jaoks juhuslik lainekuju, mis näeb välja loomulikum
- järjekord: sattusin pettumust valmistavasse veasse, pöörleva kodeerija sündmuste ajastus ja LCD -ekraani (väga) aeglane värskendussagedus. Lõpuks lahendasin selle nii, et panin sissetulevad sündmused roteerimiskoodist järjekorda ja valisin need ekraani värskendamisel ükshaaval välja.
- os, sys, keermestamine, aeg: kõik kasutatakse standardsete pythoni funktsioonide jaoks
Märkus ekraani käsitsemise disaini kohta. Ekraanid on määratletud koodide nimekirjana. Iga loendi kirjega võib olla seotud kas png- või txt -fail (või mõlemad), kood koostab iga ekraani jaoks vahemälu pärast koodiga seotud Linuxi kataloogistruktuuri failide otsimist.
Nende failide sisu luuakse mujal (käsitsi või muude skriptide abil), mille väljund salvestatakse png- või txt -failidena, mida pipboy kasutajaliides saab seejärel kuvamiseks kuvada. See hoiab peamise "värskendamise" ahela suhteliselt puhtana ja lihtsana, kuid annab mulle ka paindlikkuse värskendada või muuta ekraanide sisu uute andmetega vastavalt vajadusele.
On veidraid erandeid, kus on kodeeritud mõned asjad - näiteks juhusliku raadioekraani lainekuju reaalajas arvutatuna ja animeerituna.
Kui analoogia aitab, siis mõelge kasutajaliidese kujundusele kui äärmiselt toorele ja lihtsale veebibrauserile - iga "ekraan" on nagu tõeliselt lihtne veebileht, mis võib koosneda ainult ühest-p.webp
Siin on lingid peamistele raamatukogudele, mida ma siin kasutasin:
www.pygame.org/news
pypi.org/project/pyky040/
pypi.org/project/noise/
20. samm: statistikaekraan
Ükski pipboy ei oleks täielik ilma klassikalise pipboy siluettistatistika ekraanita. Selle jaoks lõi mu sõber staatilise-p.webp
21. samm: varude ekraan
Midagi, mis Pi -projektide puhul alati kasulik on, on võimalus kuvada põhiteavet, näiteks selle IP -aadressi ja selle DHCP -d jne. Otsustasin varude ekraani üle koormata Pi "inventuuri" kuvana - milline protsessor, mälu, IP -aadress jne Kirjutasin selle teabe kogumiseks väikese Linuxi skripti ja suunasin selle lihtsalt sobiva nimega teksti (.txt) faili, mille kasutajaliidese süsteem seejärel üles võtab ja kuvab. Sel viisil, kui olen kunagi teises kohas, saan skripti käivitada ja hankida värske.txt -faili koos ajakohase IP -aadressiga jne.
22. samm: kaardiekraan
See ekraan oli üks keerukamaid ekraane, mille kallal töötada. Raspberry Pi 0 -l pole GPS -moodulit, kuid ma tahtsin, et kaardil oleks Pi -le kehtivus. Minu lahendus sellele on eraldi skript, mis tõmbab Pi IP -aadressi, kasutab ligikaudse asukoha otsimiseks https://ipinfo.io. JSON-i vastus jäädvustatakse ja seejärel teisendan koordinaadid, et saaksin ligikaudse asukoha jaoks plaadi openstreetmap.org alla tõmmata.
Plaadid on mitmes värvitoonis, kuid ma tahtsin, et rohelise skaala pilt vastaks Pipboy väljanägemisele ja ma ei suutnud täpselt sellist leida, nii et kirjutasin Pythonis rohelise skaala filtri, et värve ümber kujundada openstreetmap paanilt ja vahemällu uue pildi-p.webp
Ülaltoodud protsessi käigus luuakse tekstifail ligikaudse asukoha ja koordinaatidega ning kaardipaan luuakse png-failina. Pipboy kasutajaliides tõmbab mõlemad failid üles ja katab sisu, et luua toimiv kaardiekraan (IP -aadressi eraldusvõime täpsusega).
Samm 23: Andmete ekraan
See on lihtsalt testkaart (genereeritud teise pythoni skripti abil ja väljastatud-p.webp
24. samm: raadioekraan
Koos kaardiekraaniga on see teine ekraan, mis tõepoolest tekitas mulle palju tööd. See on ainus ekraan, kus ma animatsiooniga ringi mängisin - ja see töötab enamasti ettenähtud viisil, kuid jõudlus on endiselt LCD -ekraani värskendussageduste probleem. Ekraani struktuur on tekstifail, mis sisaldab juhuslikult valitud raadio nimesid (need on lihtsalt suvalised stringid ja ei tee muud, kui esitab ekraanil loendi),-p.webp
See on ainus ekraan, kus pügamängu tsükkel teeb iga tsükli ajal reaalset tööd, see peab arvutama uue lainekuju, kustutama ekraanil oleva osa ja sisse joonistama.
25. samm: lõplikud mõtted
See on ilmselt kõige keerulisem ehitis, mille ma teinud olen, kasutades paljusid erinevaid kontseptsioone ja oskusi, kuid see on ka üks meeldivamaid reaalseid asju, mis selle tulemusel töötavad. Ma korrastan veel mõnda oma tehnilisemat märkust ja koodi githubi repot. Kõik need teen varsti kättesaadavaks, nii et tulge varsti uuesti, et saada lisateavet ja teavet, kui mul on aega neid kirjapanekusse lisada.
Kui hakkate midagi sellist tegema, tahaksin näha tulemusi ja kui teil on küsimusi, võtke julgelt ühendust ja püüan lisada lisateavet kõikides sammudes, kus soovite aidata.
Samm 26: kood on avatud Githubis
Lõpuks jõudsin Githubis koodi avada. See on saadaval sellel lingil:
Soovitan:
Naise ehitatud portfell -arvuti: 14 sammu (koos piltidega)
Naise ehitatud portfell -arvuti: 1. samm: kirjutage üles kasutatavad materjalid: balsa puidust 3 -tolline ekraanimonitor AMD RYZEN 5 3500X 3,6 GHz 35 MB AMD protsessor (6C/6T) GIGABYTE B550 AORUS PRO A WIFI AM4 ATX DDR4 CORSAIR VENGEANCE LPX3600416GB (2X8GB) KOMPLEKT CL18 DDR4 (RYZEN) ADATA XPG SX8200 2TB PRO 2 P
Raspberry Pi -le ehitatud automatiseeritud aiasüsteem õues või siseruumides - MudPi: 16 sammu (koos piltidega)
Raspberry Pi -le ehitatud automatiseeritud aiasüsteem õues või siseruumides - MudPi: Kas teile meeldib aiandus, kuid ei leia aega selle hooldamiseks? Võib -olla on teil toataimi, kes näevad pisut janu või otsivad võimalust oma hüdropoonika automatiseerimiseks? Selles projektis lahendame need probleemid ja õpime põhitõdesid
Pöörleva teljega objekti jälgimise kaamera liugur. 3D -trükitud ja ehitatud RoboClaw DC mootorikontrollerile ja Arduinole: 5 sammu (koos piltidega)
Pöörleva teljega objekti jälgimise kaamera liugur. 3D-trükitud ja ehitatud RoboClaw DC mootorikontrollerile ja Arduinole: see projekt on olnud üks minu lemmikprojekte, kuna sain ühendada oma huvi videote tegemise ja isetegemise vastu. Olen alati vaadanud ja tahtnud jäljendada neid filmivõtteid filmides, kus kaamera liigub panoraamimise ajal üle ekraani, et jälgida
Prügikasti ehitatud BT joonistusbot - minu robot: 13 sammu (piltidega)
Trash Built BT Line Drawing Bot - My Bot: Hai sõbrad pärast pikka vaheaega umbes 6 kuud siin tulin uue projektiga. Kuni Cute Drawing Buddy V1, SCARA Robot - Arduino i plaanini teise joonistusboti valmimiseni on peamine eesmärk katta suur joonistamisruum. Nii et fikseeritud robotkäed c
DJi F450 Quadcopter Kuidas ehitada? Kodus ehitatud: 7 sammu (koos piltidega)
DJi F450 Quadcopter Kuidas ehitada? Kodus ehitatud: See oli kodus ehitatud droon, mida juhtisid hobikuningas 6 -kanaliline saatja ja vastuvõtja ning Kk2.1.5 lennujuht, tavaliselt kasutati selleks 1000KV harjadeta mootoreid, kuid oma projekti jaoks olen parima jõudluse saavutamiseks kasutanud 1400KV mootoreid