Sadržaj:

Portal 2 kupola - Glavna kontrola kupole: 9 koraka (sa slikama)
Portal 2 kupola - Glavna kontrola kupole: 9 koraka (sa slikama)

Video: Portal 2 kupola - Glavna kontrola kupole: 9 koraka (sa slikama)

Video: Portal 2 kupola - Glavna kontrola kupole: 9 koraka (sa slikama)
Video: КАКИМ БУДЕТ PORTAL 3 2024, Decembar
Anonim
Image
Image

Ovaj projekt je produžetak ili remiks moje originalne Portal Turret on Instructables (Portal-2-Turret-Gun). Može se koristiti i kao jeftin kontroler za kontrolu svega što koristi radio čip nRF24L01. LCD ekran je posebno koristan pri prilagođavanju.

(Ispostavilo se da je vrlo korisno provjeriti kada moji radiji uspostave i izgube vezu s drugim nRF24L01 na "mreži". Mogu hodati uokolo i gledati ekran koji prikazuje status veze radija! Vrlo korisno za podešavanje postavki i provjeru domet!)

Nakon što sam završio Portal Turret, vidio sam kratki video isječak operske scene Cara Mia na kraju Portala 2. Pomislio sam: „Hej, sada sam sagradio nekoliko kupola. Ja to mogu! Pa, imao sam kupole, ali kako bi funkcioniralo, sada bi morali komunicirati jedni s drugima ili s nekim drugim uređajem. Nakon što sam malo razmislio i pomislio da bi i ručno upravljanje bilo super, na kraju sam odlučio da ću izgraditi glavni kontroler kupole ili MTK.

U redu, pa kako to riješiti? Pa, nije mi se dalo previše mijenjati kupole, pa je to bilo ograničenje. Imao sam neke radio čipove nRF24L01 koje još nisam koristio, i mislio sam da će to biti u skladu s mojim ciljem korištenja jeftinih komponenti i oslanjanjem na mehanički dizajn i kod da bi ovo funkcioniralo. Morao sam izgraditi kontroler i početi razmišljati o tome šta će kontroler sadržavati i šta bih točno mogao učiniti s kupolama. Cara Mia je već bila na dnevnom redu, ali što drugo?

Ručna kontrola: Dakle, kada se krila otvore, želio bih kontrolirati visinu i zaokret. 2 ose = džojstik, pa kontrola džojstika i neki tasteri. Pritiskom na dugme 1 ispalit će se kupola, a možda bi se pritiskom na dugme 2 izgovorila jedna od njegovih izreka. Zvuči dobro! Dovoljno jednostavno…

Chat: Nedavno sam vidio "Ko je prvi" - opet Abbott i Costello rutina i upalilo mi se svjetlo u glavi! Takođe bih napravio skicu komične rutine koristeći sve izreke, koristeći više kupola !! U redu, ovaj nije bio u potpunosti shvaćen, ali siguran sam da ću to riješiti kad izgradnja počne.

Također sam želio da ovaj MTC bude bežičan, pa sam se odlučio za jednostavnu opciju s napajanjem od 9 V na bateriju i dizajnirao kontroler za napajanje putem mini-USB priključka preko Nanoa na stražnjoj strani. Korisno i za ažuriranje.

Korak 1: Uključivanje radija u kupole

Prvo sam radio radio s nekoliko golih Nanosa, kako bih bio siguran da mogu funkcionirati i slati informacije između više uređaja. Kada je to učinjeno, radilo se o uključivanju radija u postojeće kupole. Hmm, dodavanje fizičkog PCB -a u kupolu bilo je prilično jednostavno. Upravo sam izmijenio držač čipa tako da uključuje nRF24L01, Nano i mp3 čip. Uredu. Jedan fizički dio izmijenjen, s nekim ožičenjem.

Modifikovani držač čipova je već sada deo odštampanih kupola. Upravo sam izbrisao opciju koja nije vezana za radio iz štampanih dijelova u toj verziji. Neće napraviti razliku ako netko želi napraviti varijantu koja nije radijska. Samo nemojte uključivati radio čip nRF24L01.

Korak 2: (Ponovno) ožičenje kupola

(Po) ožičenje kupola
(Po) ožičenje kupola
(Po) ožičenje kupola
(Po) ožičenje kupola
(Po) ožičenje kupola
(Po) ožičenje kupola
(Po) ožičenje kupola
(Po) ožičenje kupola

Uh oh…

Ovo nije izgledalo dobro. Morao sam dodati 5 veza na Nano, a već mi je nedostajalo dostupnih pinova. Nakon što sam ovo malo proučio, shvatio sam koje veze imaju prednost i shvatio sam da bih, kako bi ovo funkcioniralo, morao preslikati većinu postojećih Nano veza.

Onima koji žele napraviti “Radio Turret” i već su izgradili prethodnu generaciju … Izvinite …

Uradio sam ovu promjenu nekoliko puta i pokazalo se da proces nije tako loš. To uključuje povratak, ali uspio sam poništiti postojeće veze s Nano -om, a zatim se ponovo spojiti na odgovarajuće pinove bez previše tuge. Dodao sam 7 žica za radio čip na nRF24L01 (5 komunikacijskih žica, 3v i GND), a zatim druge krajeve spojio na Nano.

Mada sada postoji više žica, pa je mnogo važnije održavati stvari urednima pri usmjeravanju žica.

VAŽNO: Prilikom sastavljanja pazite da žice ne pritisnu dugme za Nano reset na ploči !! To mi se dogodilo na jednoj i bacilo me u bespotrebnu petlju!

Tako izgradnja kupole sada ima 2 sheme ožičenja: staru naslijeđenu opciju „bez radija“i revidiranu opciju „radijska kupola“. Ako bih danas izgradio "ne-radijsku" kupolu, i dalje bih koristio radijsku shemu i kod. Samo izbrišite ili komentirajte dijelove radija ako je to odabrana ruta ili ne. Kupola bi i dalje trebala raditi sama bez radija.

Korak 3: MTC električne komponente

MTC Električne komponente
MTC Električne komponente
MTC Električne komponente
MTC Električne komponente
MTC Električne komponente
MTC Električne komponente

Nakon što su se kupole sredile, došlo je vrijeme za izradu MTK -a.

MTK koristi sljedeće komponente, sve iz Amazon, Baggood ili Ali Express, itd. Prikazujem brojeve Amazonovih dijelova koje sam naveo kao referencu, budući da su te stavke općenito dostupne i po razumnim cijenama (i nisam morao sačekajte 2+ sedmice da uzmem u ruke ono što mi je potrebno prije nego što sam mogao pristupiti mehaničkom dizajnu!)

  • Arduino Nano 0,96”LCD, (SSD1306) Koristio sam plavu/žutu verziju
  • Mali džojstik (HW-504) 5V PS modul džojstika
  • Prekidač (dx-004) 22mm * 13mm
  • Radio - (nRF24L01)
  • Dugmad od 12 mm (CLT1088 za dugmad u boji, PBS-33B za crno)
  • 2 mm vijci (M2 Set samoreznih vijaka, asortiman glava s poprečnim pogonom)
  • 5 mm LED diode po vašem izboru za indikatore. (Ne koristite jake LED diode !!)
  • Generički konektor za bateriju od 9 V sa pigtailima
  • 9V baterija (upotrijebite dobru, a ne jednu od dolarskih sorti koje ne mogu uvijek isporučiti dovoljno energije za ove projekte!)
  • Koristio sam silikonsku žicu. Volim ga koristiti za ove projekte.

Prvobitno sam koristio neke svijetle LED diode, ali otkrio sam da su previše dobre. Zaslijepili su me! Na kraju sam koristio neke stare, slabe LED diode, što je imalo više smisla za ovu aplikaciju.

Korak 4: 3D štampani dijelovi

3D štampani delovi
3D štampani delovi
3D štampani delovi
3D štampani delovi
3D štampani delovi
3D štampani delovi

Dizajnirao sam MTK koristeći Fusion, slično kao i dizajn kupole.

Odštampani sklop zahteva samo 3 dela:

  • Gornja ploča (verzija 1 ili 2)
  • Donje kućište
  • LCD remen

NRF čip, Nano, 9V baterija, prekidač i LED diode ugrađeni su u gornju ploču bez pričvršćivača. LED diode samo pritiskaju ploču i pričvršćene su jezičcima. Trebali bi samo uletjeti, ali nemojte pretjerivati. Gornja ploča dizajnirana je za držanje Nano-a, a nRF čip bi trebao lagano ući. Pažljivo sa nRF malim jezičkom; mali je i savijen je natrag da bi se otvorio i otpustio da uhvati čip. Iako su njegova putovanja ograničena, ovdje budite nježni.

Džojstiku i LCD -u su potrebni vijci od 2 mm (dugački 5 mm) da ih drže za gornju ploču. PCB upravljačke palice ima velike rupe, pa sam smatrao da su mi potrebne male podloške kako bih bio siguran da vijci ne prolaze.

Otkrio sam da se PCB -ovi LCD -a razlikuju malo dimenzionalno od proizvođača do proizvođača, pa sam odlučio koristiti jednostavnu traku za držanje na mjestu umjesto kopča ili kukica.

Imajte na umu da se LCD može fizički ugraditi u gornju ploču u svakom slučaju, ali zaslon se prikazuje potpuno kroz otvor u jednoj orijentaciji! Iz tog razloga, uključio sam drugu opciju gornje ploče kada koristim podijeljeni žuto/plavi ekran. Jedna verzija ima žutu na vrhu, a druga će prikazivati žutu na dnu kao što je prikazano na mojim fotografijama.

Za jednobojni LCD ekran nije važno koji se koristi jer možete preokrenuti zaslon pomoću softvera.

Budući da se sve ožičenje izvodi na gornjoj ploči, dno je zapravo samo poklopac pričvršćen na gornju ploču s duljim vijcima od 2 mm (Količina: 4).

Umjesto opcije „vrata za bateriju“, samo sam ugradio bateriju u gornju ploču. To znači uklanjanje 4 vijka koji drže dno prema vrhu kako biste promijenili bateriju, ali budući da se može napajati i putem USB kabela, a ne na kraju svijeta. Gornja ploča izrađena je od sistema držača baterije od 9V koji bi trebao biti dovoljno čvrst za ponovnu upotrebu, nije pretjerano kompliciran, ali sprječava pomicanje baterije.

Odštampao sam gornju ploču u 2 boje kao što se vidi na fotografijama. Koristim Prusa i3 Mk2 bez višebojne opcije, ali koristim njihovu alatku za ispis u boji (https://www.prusaprinters.org/color-print/) za promjenu boje u toku procesa. Provjerite sloj da se tekst zaustavi i postane čvrst i učinite to prijelaznim slojem. Voila! Tekst u boji!

Odštampao sam dijelove na visini sloja 0,35 mm jer nema potrebe za finom rezolucijom na tim ravnim dijelovima. Također mi se više sviđa način na koji gleda na ovu rezoluciju. Oh, i štampa se prilično brzo!

Korak 5: Električni sklop

Električni sklop
Električni sklop
Električni sklop
Električni sklop
Električni sklop
Električni sklop
Električni sklop
Električni sklop

Sve električne komponente instalirane su na donjoj strani gornje ploče, a sve ožičenje se izvodi zajedno. Prvo morate instalirati gumbe i prekidače, a svi LCD, Nano, joystick i nRF radio mogu se prethodno ožičiti prije nego što se instaliraju na gornju ploču. Preporučujem ovaj način prethodnog ožičenja pojedinačnih komponenti, a zatim konačne veze s Nano-om na kraju. Također preporučujem da prije skidanja ožičenja skicu skinete na goli Nano.

Ne postoji ništa zadovoljnije od uključivanja uređaja i gledanja kako oživljava kako se očekuje kada završite!

Jedina potrebna električna priprema dijelova bila je uklanjanje zaglavlja zaglavlja s upravljačke palice kako bi mogao stati ispod gornje ploče. LCD ekran se može kupiti sa instaliranim iglama ili bez njih, a funkcionirat će u svakom slučaju. Nano treba odabrati bez zaglavlja zaglavlja.

Korak 6: Kodirajte

Kôd za MTC, crvenu kupolu, bijelu kupolu i plavu kupolu sada je gore

Pa, ovo je bilo iskustvo u kodiranju! Imao sam kupolu koja je radila nezavisno, ali uključivanje radija bilo je teže nego što sam isprva mislio! Takođe mi je bilo zabavno da odeljak „Chat“radi po želji (o tome kasnije).

MTC kôd, jednom potpuno shvaćen, počeo je oporezivati memorijska ograničenja Nano! Morao sam prilagoditi i ekonomizirati kôd kako bih bio memorijski efikasniji. Još jedno dobro iskustvo učenja.

Uključio sam odgovarajući kôd "Turret w radio option" u ovu verziju, jer oni rade zajedno. Izgradnjom radijske opcije kupole prema stranici za izgradnju kupole bit će spremna za upotrebu s MTC -om ili za vaš drugi način upravljanja nRF24L01.

Također, za početak rada zvukova s ovim kodom bilo je potrebno neko vrijeme, a budući da su zvukovi preuzeti s drugih javno dostupnih web stranica, sve sam zvukove ugradio onako kako sam ih koristio u nekoliko ZIP datoteka; jednu za redovnu kupolu i jednu za neispravnu kupolu. Dobra stvar za vas, dragi čitatelju, je to što možete koristiti zvukove na svojim SD karticama s kodovima kako su napisani i bit ćete spremni!

Korak 7: MTC meni - navigacija

MTC meni - navigacija
MTC meni - navigacija
MTC meni - navigacija
MTC meni - navigacija
MTC meni - navigacija
MTC meni - navigacija

MTC kôd pokreće se s prilagođenim Splash ekranom, a zatim provjerava status kupola. Ako nema kupola, samo će sjediti dok se kupole ne spoje!

Ako je spojena barem jedna kupola, prikazat će se glavni izbornik i zasvijetlit će LED dioda "Spremno", osim ako su kupole prekinute ili su zauzete "razgovorom s nekim". Ako su zauzeti, prikazat će se zaslon “Turrets are Busy”, a LED “Busy” će zasvijetliti.

Sve aktivno povezane kupole moraju biti u "pripravnom načinu rada" prije nego što MTK može upravljati kupolama.

Koristite džojstik (gore i dolje) za kretanje kroz izbornike:

  • Aria
  • Chat
  • Priručnik

Odaberite željenu opciju pomoću gumba ‘X’ ili pritiskom na navigacijsku tipku prema dolje.

Aria Mode - odabirom ove opcije prikazat će se zaslon “Aria Mode” i natjerati kupole da izvode Aria scenu na kraju igre Portal 2. Kada se završe, kupole će se zatvoriti i čekati naredbu ili nekoga da ih probudi.

Chat Mode - Odabirom ove opcije prikazat će se zaslon „Chat Mode“i započeti sekvenca chata. Kada se završe, kupole će se zatvoriti i čekati naredbu ili nekoga da ih probudi.

Ručni način rada - Odabirom ove opcije prikazat će se zaslon "Ručni način", osvijetliti LED "Ručni" i omogućiti ručno upravljanje kupolama. Kontrola džojstika za nagib i zaokret. Pritiskom na tipku ‘X’ aktivirat će se redoslijed paljenja. Pritiskom na dugme "T" natjerat ćete ih da "razgovaraju", gdje kupole izgovaraju nasumičnu izreku iz svoje biblioteke.

Pritiskom na tipku ‘<’ ili natrag otkazat ćete ova tri načina rada, zatvoriti kupole i vratiti se u glavni izbornik.

Ako želite vidjeti status veze vašeg roja kupola (trenutno ograničeno na 3), pritisnite gumb ‘T’ dok ste u glavnom izborniku. Bit ćete preusmjereni na ekran "status kupole", gdje možete vidjeti status veze svake kupole.

Kada ste na ekranu „status kupole“, vidjet ćete status svake kupole.

  • Spremno - spremno za kontrolu
  • Zauzet - kupola je zauzeta "njegovanjem" nekoga
  • Nije dostupno - MTC se ne može povezati s ovom kupolom

Pritisnite dugme ‘<’ za povratak u glavni meni.

Korak 8: Prilagođavanje koda

Prilagođavanje koda
Prilagođavanje koda

Snimak ekrana prikazan ovdje prikazuje ono u što sam predugo buljio … 4 skice odjednom! Ko je rekao da otklanjanje grešaka nije zabavno!

Kôd pruža kontrolu i opcije prikazane gore, ali što je s prilagođavanjem koda?

Naravno! Ali ovdje se događa priličan iznos, pa evo nekoliko smjernica ili savjeta.

Savjet 1 - Izmjena sekvence “Chat”. Ova izmjena se događa u kodu kupole.

Pokušao sam smisliti način na koji bi kod funkcionirao za mene gdje god sam mogao. Poboljšanje uređivanja sekvence chata (Je li to riječ?) Kako bih se mogao usredotočiti na priču zahtijevalo je više posla unaprijed, ali kasnije olakšava prilagođavanje.

Promjena Chat sekvence korištenjem ponuđene strukture kodiranja može se učiniti na prilično jednostavan način, pod uvjetom da slijedite metodu koja se koristi u kodu. Koristeći zvučne datoteke iz igre Portal 2, trebate samo promijeniti tablicu (chatSayings ).

Odaberite izreku za običnu kupolu ili neispravnu kupolu. Izreka je mp3 datoteka koja je označena sa "00XX -" nakon čega slijedi tekst koji opisuje izreku. Broj je važan dio. Kula # 1 bi koristila ovu vrijednost XX u tablici. Kupola # 2 bi prefiksirala vrijednost XX sa "1", a kupola # 3 bi označila vrijednost XX sa "2". Na primjer, ako ste birali izreku "0040 - oprostite" izraz i htjeli biste da to kaže kupola broj 3, umetnuli biste "240" u tablicu u ispravnom slijedu. Ako bi to rekla kupola broj 1, u tablicu biste umetnuli „40“.

Učinite isto za sljedeći izraz itd. To bi moglo biti nekoliko izraza između kupola, ili dosta. (Nisam svjestan ograničenja ove metode, osim memorije).

Ne biste trebali mijenjati vrijednosti drugih tablica jer su to vremena koja odgovaraju izreci u tablici. Jedina druga linija koja se mijenja je oko linije 520.

if (i> = 43) {// kraj niza

Vrijednost i ovdje bi morala biti postavljena na broj izreka u tabeli chatSayings.

Da biste izradili potpuno prilagođene izreke (gdje prava zabava počinje!), Morate postaviti izraze u numeriranim datotekama i znati koliko je vremena potrebno za reprodukciju datoteke. Sačuvajte datoteku u fasciklu „mp3“u korenskom direktorijumu SD kartice pomoću četvorocifrene metode („0001“, „0002“itd.). Zatim zabilježite vrijeme u milisekundama koje je potrebno za reprodukciju te datoteke. Umetnite ove vrijednosti u odgovarajuću tablicu.

Dakle, za izraz spremljen kao "0037 - [vaš izraz]", za reprodukciju je potrebno 5400 milisekundi, stavite "37" u tablicu chatSayings na odgovarajućoj lokaciji (i dodajte prefiks ovisno o tome koja kupola govori it) i 5400 u tablici NormaTimings na istoj lokaciji (kao što je 5. stavka u svakoj tablici).

Sada kada se vrijednost 'i' poveća, kod će reproducirati 0037 5400 milisekundi.

Imajte na umu da sam dodao varijablu "timeadder" koja dodaje malo više vremena svakoj izreci tokom sviranja. Ovo daje malu udaljenost između izreka kako se ne bi preklapale.

Ljepota ove metode je u tome što su ispunjeni stolovi potpuno isti u svakoj kupoli! Nema potrebe za prilagođavanjem ovih stolova za svaku kupolu. Potrebno je samo razvrstati jednu tablicu, a kôd će shvatiti šta svaka kupola kaže na osnovu iste tablice.

To znači da se možete fokusirati na pisanje skripti umjesto na kodiranje!

Ako neko ima bolji način da to učini, volio bih to čuti !!

Korak 9: Sažetak

Sažetak
Sažetak

Dakle, ovo je oduzelo više vremena nego što sam mislio, ali rezultat me prilično zagolicao. Neke rutine chata me i dalje nasmijavaju!

Volio bih čuti druge metode rada koje sam radio u svom kodu. Siguran sam da postoje odjeljci koji bi se mogli prepisati i koristiti manje memorije, dopuštajući više funkcija ili opcija.

Također bih volio vidjeti druge ideje ugrađene u MTK i kontrolu kupola!

Nadam se da sam pružio platformu drugim dizajnerima i koderima za korištenje / krađu / učenje. Vidio sam da se ovo koristi da pomogne ljudima naučiti kodirati. Uklonite dio s MTK -a i/ili kupole, na primjer "Ručni način rada", i potaknite učenike da razviju vlastiti način uključivanja ručne kontrole!

Naučio sam mnogo od ove zajednice i šire na webu općenito. I dalje sam začuđen koliko ljudi troši vrijeme na razmišljanje i dijeljenje sa svijetom. Smatram da bih trebao uzeti ono što sam naučio, primijeniti ga, pa podijeliti i s vama!

Sretno i zabavite se gradeći svoju armiju kupola!

Preporučuje se: