Sadržaj:
- Supplies
- Korak 1: Izgradnja srca Pipboya
- Korak 2: Prototip kartona
- Korak 3: Od prototipa do predloška
- Korak 4: Dodajte futrolu za Screen & Pi
- Korak 5: Ponovite za kontrolnu tablu
- Korak 6: Izrežite cijev
- Korak 7: Okvir
- Korak 8: Test baterije
- Korak 9: Testiranje sposobnosti
- Korak 10: Dodajte kontrole i detalje
- Korak 11: Obnova okvira broj 3
- Korak 12: Prototipiranje elektronike
- Korak 13: Transponiranje elektronike u tijelo
- Korak 14: Fino podešavanje Fit -a
- Korak 15: Povucite okretni davač unatrag
- Korak 16: Unutrašnja obloga
- Korak 17: Dodavanje detalja
- Korak 18: Bojenje i završna izrada karoserije
- Korak 19: Kodiranje
- Korak 20: Ekran sa statistikom
- Korak 21: Ekran inventara
- Korak 22: Zaslon karte
- Korak 23: Ekran sa podacima
- Korak 24: Radio ekran
- Korak 25: Završne misli
- Korak 26: Kod otvoren na Githubu
Video: Pipboy izgrađen od otpada: 26 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Ovo je moj radni Pipboy, napravljen od slučajnog smeća iz garaže i pretresa mojih zaliha elektroničkih komponenti. Smatrao sam da je ovo izazovna građevina i trebalo mi je nekoliko mjeseci rada pa ovo ne bih kategorizirao kao kompletan projekt za početnike. Potrebne vještine uključuju plastične i drvene radove, elektroniku i kodiranje. Tijelo je izrađeno od raznih komada otpadne plastike izrezanih i zavarenih zajedno. Koristio sam Raspberry Pi 0 kao mikrokontroler, sa zaglavljem ekrana montiranim na dio GPIO pinova. Preostali pinovi koriste se za pogon LED dioda i povezivanje tipki/kontrola. Napisao sam korisničko sučelje u stilu "Pipboy" s nekim demo ekranima u Pythonu kako bih dovršio projekt.
Moji ciljevi na projektu bili su:
- Morao je raditi - tj. Morao je imati zaslon koji je radio stvari
- Htio sam da ima "brojčanik" za odabir različitih ekrana jer mi se to uvijek isticalo kao kultni dio korisničkog sučelja u Falloutu
- Cijela je izgradnja morala biti dovršena korištenjem stvari koje sam već imao u garaži ili u uredu (to nije u potpunosti postignuto, ali sam se približio - više od 90% toga je pronađeno ili stvari koje sam već ležao okolo)
- Mora biti nosivo
Jedan cilj koji nisam imao bio je napraviti točnu kopiju jednog od modela u igri - više volim stvarati stvari "u stilu" stvari, jer mi daje prostora za prilagođavanje slučajnog smeća koje pronađem, i dozvolite mi da budem malo kreativniji. Konačno, da, znam da ih možete kupiti, ali ni to nije bila poenta;)
Supplies
Supplies
- Široka cijev (poput komada odvodne cijevi)
- Otpadna plastika (i za izradu tijela i u dekorativne svrhe)
- Mali kontejner
- Podna prostirka od pjene
- Raspberry Pi
- Ekran od 3,5"
- KY040 Rotacijski davač
- 3x LED diode
- 2x tipke
- Powerbank
- Ožičenje
- Vijci, ljepila, boje, punila itd
Alati
- Dremmel
- Višenamenski alat sa nastavcima za sečenje i brušenje
- Drill
- Datoteke
- Lemilica
- Pištolj za vruće ljepilo
- Odvijači
- Oštri nož
- Saw
Korak 1: Izgradnja srca Pipboya
Prvo što sam trebao učiniti je osigurati da mogu dobiti ekran i mikrokontroler u formatu s kojim mogu raditi. Slučajno sam imao 3.5 -inčni ekran koji je postavljen kao HAT na GPIO pinove Raspberry PI -a, pa sam odlučio koristiti ovo. Upario sam ga s Raspberry Pi 0 i uvjerio se da radi u redu, postoje nekoliko koraka do toga da Linux prepozna displej koji morate proći.
Kao što možete vidjeti na drugoj slici, dodao sam malu platformu od kartona/pjene koju sam zalijepio za kućište kako bih podržao ekran. Učinio sam to jer sam znao da ću se dosta baviti ovim dijelom i nisam htio slomiti pinove ili ekran zbog nedostatka podrške. Na kraju je ovo zamijenjeno, ali je to bila dobra dodatna zaštita tokom procesa izgradnje.
U ovom trenutku također je vrijedno napomenuti da sam kasnije u izgradnji naišao na probleme s performansama s ovim postavljanjem - pretežno brzinu osvježavanja preko sučelja između Pi -a i ekrana, o tome ću kasnije više u izgradnji, ali ako uradio ovo ponovo, mogao bih razmotriti drugačiji hardver ovdje.
Evo nekoliko korisnih veza za to:
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…
U github povezan s ovim uvrstit ću i neke napomene o tome šta sam zapravo učinio da ovo funkcionira (iako iz mog čitanja teme postoji mnogo varijacija u načinu na koji ovo funkcionira za određene instance/upravljačke programe, pa vaš miljaž može varirati).
Korak 2: Prototip kartona
Pronašao sam neke stare oluke/cijevi koje bih mogao koristiti za tijelo, ali morao sam smisliti dizajn za stvarnu površinu ekrana i kontrolnu ploču. Za to sam samo napravio makete od kartona i upotrijebio maskirnu traku da ih pričvrstim na cijev. Prva je bila jednostavna "kutija", ali činilo mi se da je previše jednostavna, pa sam je izmijenila kako bih područje zaslona učinila zanimljivijim i dodala zasebnu površinu upravljačke ploče. Ovo je manje -više postalo konačni dizajn (bilo je nekoliko izmjena kao što ćete vidjeti, ali blizu).
Korak 3: Od prototipa do predloška
Sada sam imao prototip s kojim sam bio zadovoljan, mogao sam spljoštiti karton i pretvoriti ga u predložak koji sam zatim premjestio na dio starog kućišta za računalo koje sam razbijao. Bilo koja slična čvrsta plastika bi radila, samo sam koristio otpad koji sam morao imati u ruci. Nakon što sam ih označio, tada sam mogao izrezati komade kako bih mogao početi sastavljati glavno tijelo. Ovdje je koristan savjet, kako bih olakšao označavanje, a zatim i rezanje plastike, pokrio sam područja koja bih trebao izrezati prvo maskirnom trakom, što mi je oboje omogućilo lakši način da nacrtam predložak na plastiku, i nešto što će spriječiti klizanje diska za rezanje prilikom prvih rezova.
Korak 4: Dodajte futrolu za Screen & Pi
Htio sam da uglovi područja ekrana budu zakrivljeni i trebalo mi je nešto za držanje Pi -a i prikaz u njemu - moje rješenje je bilo upotrijebiti mali plastični spremnik koji sam imao. Izrezao sam rupu na vrhu tijela i zalijepio posudu kroz ovo. Zatim sam zalijepila sve strane. Ovdje sam upotrijebio super ljepilo s obilnom sodom bikarbonom za jačanje zavara. Kasnije sam napunio i popunio/brusio sve kako bih sve pospremio i dao osjećaj "oblikovanijeg".
Korak 5: Ponovite za kontrolnu tablu
Zatim sam napravio potpuno isti predložak za transponiranje, rezanje i lijepljenje za izgradnju kućišta kontrolne ploče.
Korak 6: Izrežite cijev
Kao što vidite, spremnik koji planiram koristiti za smještaj glavnih elektroničkih komponenti sada ponosno sjedi u crnom plastičnom okviru, to znači da moram napraviti otvor u cijevi u koji će se smjestiti. Ponovo sam upotrijebio maskirnu traku kako bih se poredao tamo gdje sam želio izrezati i izrezati kvadrat cijevi tako da se dijelovi uklapaju.
Korak 7: Okvir
Jedan izazov koji sam si slučajno nametnuo bio je pokušaj da smislim okvir koji bi ispunio područje oko ekrana do rubova kontejnera. Nažalost, način na koji je ekran napravljen nema ništa korisno u svom dizajnu (poput rupa ili bilo čega drugog) što bi mu pomoglo pri montiranju, pa je i okvir morao držati ekran na mjestu. Moj prvi pokušaj (viđen ovdje) bio je mješavina plastike i pjene. Na kraju sam ovo ponovio nekoliko puta i na kraju je to bio jedan od izazovnijih dijelova konstrukcije. Pogoršavaju male tolerancije i osjetljiva priroda samog okvira i zaslona.
Korak 8: Test baterije
U ovom trenutku razmišljao sam o tome kako ovo pokrenuti neovisno o USB -u koji se napaja iz mreže. Testirao sam razne baterije i otkrio da Raspberry Pi + ekran zapravo ne troši toliko energije i da je savršeno sretan što radi čak i na jednom od mojih manjih baterija (besplatan sa sajma). Ovo je bilo zaista sretno jer se paket savršeno uklopio u prazninu unutar konstrukcije (fotografije kasnije). Sada možemo privremeno zalijepiti glavne dijelove tijela i pokrenuti našu prvu probnu vožnju na mojoj ruci!
Korak 9: Testiranje sposobnosti
Ovdje možete vidjeti gdje sam dodatno izmijenio jezgru kako bih omogućio pristup donjoj strani komponenti. Takođe možete vidjeti kako mi se posrećilo što je baterija lijepo postavljena u šupljinu s jedne strane Pi kontejnera. Konačno je započeo proces čišćenja spojeva, punjenje, brušenje i napravio probni sloj temeljnog premaza kako bi se dobio osjećaj gotovog izgleda (znao sam da ću u ovoj fazi brusiti ovo još mnogo puta i skoro sav taj prajmer će otići, ali htio sam osjetiti kako će to izgledati).
Korak 10: Dodajte kontrole i detalje
Želeo sam da niz crvenih/žutih/zelenih LED dioda formira merač, kao i okretni točkić i najmanje 2 tastera. Svi su oni postavljeni na odjeljak upravljačke ploče - jednostavno slučaj bušenja svih odgovarajućih rupa. Takođe sam počeo dodavati male komadiće plastičnih dijelova od starog otpada (u osnovi, skupljanje kompleta) kako bih dodao detalje i povećao interes za tijelo i kontrolnu ploču.
Korak 11: Obnova okvira broj 3
Kao što sam ranije spomenuo, borio sam se s okvirom za ovu konstrukciju i obnavljao je nekoliko puta. Ovo je treća iteracija na kojoj sam ostao. Moj pristup ovdje je upotreba lesonita i izrezivanje 2 različita oblika, jednog mislioca od drugog, a zatim njihovo lijepljenje (i pričvršćivanje) zajedno kako bi nastala srednja slika. Ovi oblici su omogućili da kvadratni ekran stane u ovaj okvir, a zatim je držao ekran na mestu unutar kontejnera (kao na slici 3). To mi je dalo dovoljno materijala da za pričvršćivanje koristim 4 vrlo mala vijka - pomoću kojih sam ovo čvrsto učvrstila na kućištu, a on bi zauzvrat držao zaslon stabilnim i sigurnim. U retrospektivi bih našao ekran koji je došao s nekim pristojnim mogućnostima ugradnje (ili upotrijebio 3D štampač - koji tada nisam imao).
Korak 12: Prototipiranje elektronike
Koristim ploču za postavljanje svojih jednostavnih krugova na ovaj način, a kako često ovaj dio projekta radim u drugom prostoru u odnosu na glavnu konstrukciju karoserije, spojio sam ga i sa drugim Raspberry PI. Ovdje sam koristio model 3, koji mi je dao malo više snage da se zapravo izravno povežem s njim i pokrenem IDE na ploči. Ovo mi je samo malo olakšalo brzo prototipiranje koda. Postoji mnogo drugih načina za daljinsko povezivanje/kod/otklanjanje grešaka, ovo je samo ono što sam volio učiniti ovdje.
Dizajn ovdje je prilično jednostavan, imamo;
- Rotacijski koder - koristi se uzemljenje i hrpa GPIO pinova za upravljanje smjerom klika i pritiskom na gumb.
- Par tipki, oni jednostavno koriste po jedan GPIO pin i zajedničku masu
- 3 LED diode, svaka sa ugrađenim otpornikom kako bi se spriječilo njihovo pojavljivanje, sve ide na zajedničko uporište, ali sa svakom pojedinačnom GPIO iglom tako da se svaka može adresirati zasebno.
To mi je dalo 3 LED diode za moj mjerač, rotacijski koder za rotiranje kroz ekrane na pipboyu i 3 tipke za pokretanje radnji (jedna na rotacijskom davaču i 2 odvojeno ožičena). To je otprilike sve što sam mogao uklopiti, a s obzirom da zaslon zauzima hrpu pinova, prilično troši ono što imate na standardnom Pi GPIO rasporedu. Međutim, za moje svrhe to je bilo u redu.
Druga slika prilično prikazuje konačni unutrašnji izgled s kojim sam krenuo. Ovdje sam proveo neko vrijeme testirajući načine upravljanja komponentama i provjeravajući da li je sve to uspjelo prije nego što sam ovo prenio u tijelo konstrukcije. Sav kôd je u githubu.
Napomena o rotacijskim koderima. Potrošio sam hrpu vremena pišući vlastitu mašinu stanja rotacijskog kodera za praćenje GPIO visokih/niskih promjena i preslikavanje na rotacijske položaje. Ovdje sam imao mješoviti uspjeh, uspio sam za "većinu" slučajeva, ali uvijek se moraju rješavati predmeti i (de) odbijanje itd. Daleko je, daleko lakše koristiti gotovu biblioteku, a postoji i odlična za one koje su dostupne za instalaciju na Python. Iskoristio sam to na kraju jer mi je omogućilo da se usredotočim na zabavni dio izgradnje, umjesto da provedem godine rješavajući probleme. Svi detalji o tome uključeni su u izvorni kod.
Ako ste tek počeli s Raspberry Pi, GPIO i elektronikom, toplo preporučujem sljedeće vodiče koji će vas provesti kroz sve što vam je potrebno za rad na gore navedenom rasporedu;
projects.raspberrypi.org/en/projects/physi…
thepihut.com/blogs/raspberry-pi-tutorials/…
Korak 13: Transponiranje elektronike u tijelo
Nakon što sam dovršio izgled koristeći ploču, došlo je vrijeme da počnem razmišljati o tome kako ih montirati u tijelo pipboya. Odlučio sam da to želim učiniti tako da mogu demontirati i ukloniti sve elektroničke komponente u slučaju da u budućnosti trebam popraviti ili promijeniti bilo što. Da bih to postigao, odlučio sam sve pod-dijelove učiniti spojenim pomoću dupont konektora.
Za gumbe koje sam lemio na nekim produžnim žicama i koristio žičane omote za izolaciju krajeva, to mi je omogućilo da ih sastavim i rastavim s tijela (npr. Za testiranje, zatim slikanje itd.). Rotacijski koder već je imao pinove koji su mogli prihvatiti dupont konektore, pa sam samo trebao napraviti neke žice odgovarajuće duljine.
LED -ima je trebalo malo više posla - za ovo sam odlučio upotrijebiti malo otpadne plastike koju sam imao (izrezanu da stane) da napravim uklonjivu ploču za ugradnju LED -a. Zatim sam ih vruće zalijepio na mjesto i lemio otpornike i žice. To je učinilo jedinicu za uklanjanje koju sam mogao postaviti i ukloniti te je olakšalo slikanje i doradu.
Imajte na umu da je moje lemljenje užasno, pa sam ovo držao jednostavno i izbjegao sve previše detaljno/fino. Na konačnoj slici možete vidjeti da sam imao i vrlo male ploče (5x5). Koristio sam jednu od njih montiranu unutra kako bih osigurao panel za povezivanje svega na/sa GPIO -a. Posebno je ovo bilo korisno za stvaranje zajedničke uzemljene šine koju bih mogao koristiti i izbjeći da se puno uzemljenih žica vijuga natrag u Pi.
Zatim sam izrezao razne rupe u spremniku kako bih žice provukao do Pi i spojio na GPIO. Ovaj dizajn mi je omogućio da sve do kraja uklonim ako je potrebno (nešto što sam radio nekoliko puta dok sam dovršavao izgradnju).
Korak 14: Fino podešavanje Fit -a
U ovom trenutku naišao sam na neke "fit" probleme. Prvo, upotreba dupont konektora za ožičenje značila je da ih je bilo teško namjestiti na igle s postavljenim šeširom za prikaz jer nije postojao dovoljan razmak po visini. To sam riješio tako što sam kupio (ovo je jedna od rijetkih stvari koje sam zapravo kupio za ovaj projekt) mali GPIO pin produživač kako bih mogao postaviti šešir na ekran i ostaviti prostor za pristup preostalim GPIO pinovima pomoću dupont konektora.
Također sam izrezao neke male komade podloge od pjene da napravim bočne obloge unutar spremnika, što je pomoglo da se Pi + zaslon postavi na pravo mjesto i spriječi njegovo kretanje.
Korak 15: Povucite okretni davač unatrag
Rotacijski enkoderi često dolaze (kao i moj) s lijepim, sjajnim modernim gumbom u stilu "hi fi". Ovo je bilo potpuno neprirodno za gradnju, pa sam morao smisliti nešto drugo. U svojoj slučajnoj kutiji sa dijelovima naišao sam na stari zupčanik iz bušilice koju sam davno polomio. Ovo je izgledalo dobro, ali nije odgovaralo rotacijskom koderu. Moje rješenje ovdje je bilo isprobavanje različitih zidnih utikača sve dok nisam pronašao jedan koji odgovara okretnom točkiću, a zatim ga izrezati u oblik kako bih ga mogao koristiti kao "unutarnju ogrlicu" za postavljanje svrdla na rotacijski davač kao prikladniju temu kontrola.
Korak 16: Unutrašnja obloga
Još podnih pločica od pjene! Ovaj put sam ih iskoristio za izradu mekane obloge kako bi joj bilo udobnije (bez previše labave). Izrezivanjem rupe od pjene također sam uspio apsorbirati dio "grudvice" koju čini spremnik za Pi. Sve u svemu, ovo ga je učinilo mnogo nosivijim. Nije prikazano na ovim fotografijama, ali učinio sam ga malo većim od glavnog tijela tako da je vidljiv na krajevima, koje sam kasnije naslikao i sve je to pomoglo da se gotovom predmetu doda malo kontrasta i interesa.
Korak 17: Dodavanje detalja
Vrijeme je da počnete dodavati ukrase i učinite ih zanimljivijima. Prije svega, dodao sam nekoliko traka od plastike uz jedno lice kako bih mu dao vizualni interes. Zatim sam na neke stezaljke dodao neke lažne žice i samo ih gurnuo u rupu koju sam izbušio u tijelu. Sve je to kasnije obojeno u različite boje.
Korak 18: Bojenje i završna izrada karoserije
Nisam se previše brinuo oko netaknute završne obrade - jer bi ona ionako trebala biti stara i dobro korištena (zapravo ću se možda vratiti i kad -tad još više izdržati). Ali ja sam htio da izgleda kao dosljedan i cjelovit objekt koji nije spojen zajedno od slučajnog otpada (iako je to upravo ono što je bilo). Prošao sam kroz brojne iteracije brušenja, punjenja (miliput je moj izbor punjenja za plastiku) i ponovio. Zatim nekoliko slojeva temeljnog premaza i boje kako bi se dodatno izgladili svi spojevi. Zatim više brušenja i punjenja, te više slikanja.
Kad sam pogledao i osjetio tijelo s kojim sam bio zadovoljan, počeo sam dodavati neke detalje. Koristio sam trljanje i poliranje rešetki na kontrolama kako bih im dao osjećaj žičane mreže. Tu i tamo sam dodao i male detalje boje koristeći akril.
Ukopao sam se u svoju kolekciju nasumičnih naljepnica i dodao nekoliko da dovršim učinak. Zatim sam isprao atmosferske utjecaje s mješovitim bojama kako bih dodao malo prljavštine i prljavštine u teško dostupna područja koja bi bilo teško očistiti. Ovo je možda trenutno previše suptilno, pa ću se kasnije možda vratiti i dodati još neke.
Korak 19: Kodiranje
Dio mojih ambicija za ovaj projekt bio je postići da reagira poput pravog pipboya - a za mene je najpoznatiji dio te igre okretanje brojčanika za prebacivanje između različitih ekrana. Da bih to postigao, odlučio sam napisati pipboy korisničko sučelje koje će moći prikazati niz ekrana i omogućiti vam da se krećete između njih. Želeo sam da sadržaj ekrana učinim nečim što bih lako mogao da promenim, i zaista mogu da dodam/uklonim ekrane.
Odabrao sam da ovo pišem u Pythonu zbog odlične podrške za Raspberry Pi, GPIO itd. Python je prilično nisko na mojoj listi jezika koje poznajem, tako da je ovo za mene bila velika krivulja učenja, a veliki dio koda je kao rezultat neuredan. S vremenom ću ovo ažurirati jer nisam u potpunosti završio sve što sam htio ovdje učiniti - ali sada je dovoljno blizu da ga podijelim jer su svi glavni koncepti prisutni.
Moj dizajn UI koda je prilično jednostavan, postoji glavna Python skripta koja postavlja ekran, konfigurira GPIO, učitava ekrane i ulazi u beskonačnu petlju ažuriranja, čekajući korisničke događaje i ažurirajući prikaz prema potrebi. Osim toga, postoje različite skripte za podršku koje pomažu u generiranju ekrana korisničkog sučelja prije vremena.
Glavne biblioteke koje se koriste:
- pygame: Koristim ovo kao motor za pokretanje korisničkog sučelja jer mi je omogućilo crtanje proizvoljne grafike, manipulaciju slikama, fontovima, prikaz na cijelom ekranu itd.
- pyky040: Ovo omogućava rukovanje okretnim brojčanikom i uštedjelo mi je puno vremena (veliko hvala Raphaelu Yanceyju što je ovo objavio).
- RPi. GPIO: Za dobru GPIO vožnju, poigrao sam se s nekoliko opcija ovdje, ali to mi je dalo pravi nivo fleksibilnosti koji sam želio, posebno sa stvarima poput korištenja rezervnog GPIO -a kao još 3,3 V za pogon rotacijskog davača itd.
- šum: Za generiranje perlin šuma, koji mi omogućuje stvaranje slučajnog valnog oblika za radio ekran koji izgleda prirodnije
- red: Naišao sam na frustrirajuću grešku sa vremenskim rasporedom događaja iz okretnog kodera i (vrlo) sporom frekvencijom osvježavanja LCD ekrana. Na kraju, način na koji sam to riješio bio je stavljanje ulaznih događaja u red čekanja iz rotacijskog kodera i njihovo odabiranje jedan po jedan dok se ekran osvježavao.
- os, sys, threading, time: sve se koristi za standardne python funkcije
Napomena o dizajnu rukovanja ekranom. Zasloni su definirani kao lista imena unutar koda. Svaki unos na popisu može imati ili-p.webp
Sadržaj tih datoteka generira se na drugom mjestu (ručno ili pomoću drugih skripti), čiji se izlaz sprema kao-p.webp
Postoje čudni izuzeci gdje se kodira nekoliko stvari - poput valnog oblika za slučajni radio ekran koji se izračunava u stvarnom vremenu i animira.
Ako vam analogija pomaže, zamislite dizajn UI -a kao izuzetno grub i jednostavan web preglednik - svaki "ekran" je poput zaista jednostavne web stranice koja se može sastojati samo od jednog-p.webp
Evo veza do glavnih biblioteka koje sam ovdje koristio:
www.pygame.org/news
pypi.org/project/pyky040/
pypi.org/project/noise/
Korak 20: Ekran sa statistikom
Nijedan pipboy ne bi bio potpun bez ekrana za statistiku klasične pipboy siluete. Za to je moj prijatelj stvorio statički-p.webp
Korak 21: Ekran inventara
Nešto što je uvijek korisno kod Pi projekata je način prikazivanja osnovnih informacija poput IP adrese koju je imao DHCP itd. Odlučio sam preopteretiti ekran Inventory kao prikaz Pi "inventara" - koji CPU, memorija, IP adresa itd. Napisao sam malu Linux skriptu za prikupljanje ovih podataka i samo ih preusmjerio u tekstualnu (.txt) datoteku s odgovarajućim imenom koju UI sistem tada preuzima i prikazuje. Na ovaj način, ako se ikada nađem na drugoj lokaciji, mogu pokrenuti skriptu i pokupiti novu.txt datoteku s ažuriranom IP adresom itd.
Korak 22: Zaslon karte
Ovaj ekran je bio jedan od složenijih ekrana za rad. Raspberry Pi 0 ne dolazi s GPS modulom, ali htio sam učiniti da karta ima određenu valjanost tamo gdje je Pi bio. Moje rješenje za ovo je zasebna skripta koja povlači Pi IP adresu, koristi https://ipinfo.io za traženje približne lokacije. JSON odgovor se snima i tada pretvaram koordinate kako bih mogao povući ploču openstreetmap.org za približno lokaciju.
Pločice se pojavljuju u više boja, ali želio sam da slika u zelenoj ljestvici odgovara izgledu i osjećaju Pipboya, ali nisam mogao pronaći baš takvu, pa sam napisao filtar u zelenoj ljestvici u Pythonu kako bih promijenio boje ploče openstreetmap, a zatim novu sliku keširajte u-p.webp
Tijekom gornjeg procesa generira se tekstualna datoteka s približnom lokacijom i koordinatama, a pločica karte stvara se kao png. Korisničko sučelje pipboya povlači obje ove datoteke i prekriva sadržaj kako bi stvorio ekran karte koji radi (u granicama tačnosti razlučivosti IP adrese prema lokaciji).
Korak 23: Ekran sa podacima
Ovo je samo probna kartica (generirana drugom python skriptom i ispisana u-p.webp
Korak 24: Radio ekran
Uz ekran karte, ovo je drugi ekran koji mi je zaista napravio mnogo posla. Ovo je jedini ekran na kojem sam se igrao sa animacijama - i uglavnom radi kako je predviđeno, ali performanse i dalje predstavljaju problem sa učestalošću osvježavanja LCD ekrana. Struktura ekrana je tekstualna datoteka koja sadrži neke nasumično odabrane nazive radija (ovo su samo proizvoljni nizovi i ne rade ništa osim prikazivanja liste na ekranu),-p.webp
Ovo je jedini ekran na kojem petlja pygame -a zaista radi u svakom ciklusu, mora izračunati novi valni oblik, izbrisati dio ekrana u ovom živom i ponovo ga iscrtati.
Korak 25: Završne misli
Ovo je vjerovatno najizazovnija konstrukcija koju sam napravio, sa mnogo različitih koncepata i vještina, ali je i jedna od najugodnijih stvarnih stvari koje kao rezultat toga funkcioniraju. Još sam u procesu sređivanja nekih svojih tehničkih napomena, kao i github repo za kôd. Sve ću uskoro učiniti dostupnim, pa se uskoro vratite za više detalja i informacija kako budem imao vremena da ih dodam u zapis.
Ako počnete raditi ovako nešto, volio bih vidjeti rezultate, a ako imate bilo kakvih pitanja, slobodno me kontaktirajte, a ja ću nastojati dodati više informacija u svim koracima u kojima želite pomoći.
Korak 26: Kod otvoren na Githubu
Konačno sam stigao otvoriti kod na Githubu. Dostupno je na ovoj poveznici:
Preporučuje se:
D.I.Y JEDNOSTAVNA BEŽIČNA SNAGA OD OTPADA: 4 koraka (sa slikama)
D.I.Y JEDNOSTAVNA BEŽIČNA SNAGA OD OTPADA: Danas bih htio podijeliti kako osvijetliti LED diode bežičnim prijenosom energije s punjača za četkice za zube i zavojnica elektromagnetskih ventila koje smo pokupili sa otpadnog otpada. Prije početka pogledajte video ispod:
Automatizirani vrtni sistem izgrađen na Raspberry Pi za vanjsku ili unutrašnju upotrebu - MudPi: 16 koraka (sa slikama)
Automatizirani vrtni sistem izgrađen na Raspberry Pi za vanjske ili unutrašnje prostore - MudPi: Volite li vrtlarstvo, ali ne možete pronaći vremena za njegovo održavanje? Možda imate neke sobne biljke koje izgledaju pomalo žedno ili traže način da automatiziraju vašu hidroponiku? U ovom projektu ćemo riješiti te probleme i naučiti osnove
Kartonski zvučnik od otpada!: 5 koraka (sa slikama)
Kartonski zvučnici od otpada!: Ovo uputstvo je mali vodič o tome kako stvoriti čvrst i snažan prijenosni zvučnik recikliran od starog kartona. Kada čujemo riječ karton, općenito mislimo na kartonsku kutiju, a po mišljenju svih, kutija od ardbona je nije tako jak
DJi F450 Quadcopter Kako se gradi? Dom izgrađen .: 7 koraka (sa slikama)
DJi F450 Quadcopter Kako se gradi? Home Built .: Ovo je bio domaći Drone kojim je upravljao 6 -kanalni odašiljač i prijemnik hobby king -a i kontroler leta Kk2.1.5, za to su se koristili obično motori bez četkica raspona 1000KV, ali za svoj projekt koristio sam 1400KV motore za najbolje performanse
SISTEM PAMETNOG NAVODNJAVANJA Korištenjem IoT -a # „Izgrađen na BOLT -u“: 6 koraka (sa slikama)
SISTEM PAMETNOG NAVODNJAVANJA Korištenjem IoT -a # „Izgrađen na BOLT -u“: Pametni sistem za navodnjavanje je uređaj zasnovan na IoT -u koji je sposoban automatizirati proces navodnjavanja analizirajući vlažnost tla i klimatske uvjete (poput kiše). Također će podaci senzora biti prikazano u grafičkom obliku na BOLT -u