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, Srpanj
Anonim
Image
Image

Ovaj projekt je produžetak ili remiks moje izvorne Portal Turret on Instructables (Portal-2-Turret-Gun). Također se može koristiti kao jeftin kontroler za kontrolu svega što koristi radio čip nRF24L01. LCD zaslon je osobito koristan pri prilagodbi.

(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 zaslon koji prikazuje status veze radija! Vrlo korisno za podešavanje postavki i provjeru raspon!)

Nakon što sam dovršio Portal Turret, vidio sam kratki videoisječak operne 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 međusobno 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 MTC.

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 oslanjanja na mehanički dizajn i kôd kako bi ovo funkcioniralo. Morao bih izgraditi kontroler i početi razmišljati što će kontroler sadržavati i što točno mogu učiniti s kupolama. Cara Mia je već bila na dnevnom redu, ali što drugo?

Ručno upravljanje: Dakle, kad se krila otvore, želio bih kontrolirati visinu i zaokret. 2 osi = joystick, pa kontrola joysticka i neki gumbi. Pritiskom na gumb 1 ispalit će se kupola, a možda bi se pritiskom na gumb 2 izgovorila jedna od njegovih izreka. Zvuči dobro! Dovoljno jednostavno…

Chat: Nedavno sam vidjela rutinu "Tko je prvi" - Abbott i Costello, a u glavi mi se ugasilo svjetlo! Također 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 9V napajanjem iz baterije i dizajnirao kontroler za napajanje putem mini-USB priključka kroz Nano straga. 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. Nakon što 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. U redu. Jedan fizički dio izmijenjen, s nekim ožičenjem.

Modificirani držač čipova sada je već dio dijelova ispisanih kupolom. Upravo sam izbrisao opciju non-radio iz ispisanih dijelova u toj verziji. Neće napraviti razliku ako netko želi izgraditi varijantu bez radija. 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 za uspjeh ovog rada morao preslikati većinu postojećih Nano veza.

Onima koji žele napraviti "Radio Turret" i već su izgradili prethodnu generaciju … Oprostite …

Nekoliko sam puta napravio ovu promjenu 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 ponovno povezati s odgovarajućim pinovima bez previše tuge. Dodao sam 7 žica za radio čip na nRF24L01 (5 žica za komunikaciju, 3v i GND), a zatim druge krajeve spojio na Nano.

Sada je tamo više žica, pa je mnogo važnije održavati stvari urednima pri usmjeravanju žica.

VAŽNO: Prilikom sastavljanja vodite računa da žice ne pritisnu gumb Nano reset na ploči !! To mi se dogodilo na jednom i bacilo me u bespotrebnu petlju!

Dakle, izgradnja kupole sada ima 2 sheme ožičenja: staru naslijeđenu opciju „bez radija“i revidiranu opciju „radijska kupola“. Kad 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 MTČ -a.

MTC koristi sljedeće komponente, a 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 imaju pristupačne cijene (a nisam morao pričekajte 2+ tjedna 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 joystick (HW-504) modul joystick 5V PS
  • Prekidač (dx-004) 22 mm * 13 mm
  • Radio - (nRF24L01)
  • Tipke od 12 mm (CLT1088 za gumbe u boji, PBS-33B za crno)
  • 2 mm vijci (M2 Set samoreznih vijaka, asortiman glave glave s križnim pogonom)
  • 5 mm LED diode po vašem izboru za indikatore. (Ne koristite svijetle LED diode !!)
  • Opći konektor za bateriju od 9 V s pigtailima
  • 9V baterija (upotrijebite dobru, a ne jednu od dolarskih sorti koje ne mogu uvijek isporučiti dovoljno energije za ove projekte!)
  • Koristio sam žicu obloženu silikonom. Volim ga koristiti za ove projekte.

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

Korak 4: 3D ispisani dijelovi

3D ispisani dijelovi
3D ispisani dijelovi
3D ispisani dijelovi
3D ispisani dijelovi
3D ispisani dijelovi
3D ispisani dijelovi

MTC sam dizajnirao pomoću Fusion -a, slično kao i dizajn kupole.

Ispisani sklop zahtijeva samo 3 dijela:

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

Čip nRF, 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. Oprezno s nRF malim jezičkom; mali je i savijen prema natrag da bi se otvorio i otpustio za hvatanje čipa. Iako je njegovo putovanje ograničeno, ovdje budite nježni.

Džojstiku i LCD -u trebaju vijci od 2 mm (duljine 5 mm) kako bi ih pričvrstili za gornju ploču. PCB upravljačke palice ima velike rupe pa sam smatrao da su mi potrebne male podloške kako bih se uvjerio da vijci ne prolaze.

Otkrio sam da se PC -ovi LCD -a razlikuju malo dimenzijski 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 u potpunosti prikazuje samo kroz otvor u jednoj orijentaciji! Iz tog razloga uključio sam drugu opciju gornje ploče kada koristim podijeljeni žuto/plavi zaslon. Jedna verzija ima žutu boju pri vrhu, a druga će prikazivati žutu boju pri dnu kao što je prikazano na mojim fotografijama.

Za jednobojni LCD zaslon nije važno koji se koristi jer zaslon možete preokrenuti 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 (kol.: 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 USB kabelom, a ne smak svijeta. Gornja ploča izrađena je od sustava držača baterija od 9 V koji bi trebao biti dovoljno čvrst za ponovnu uporabu, nije pretjerano kompliciran, ali sprječava pomicanje baterije.

Ispisao sam gornju ploču u 2 boje kako se vidi na fotografijama. Koristim Prusa i3 Mk2 bez opcije za više boja, ali koristim njihov alat za ispis u boji (https://www.prusaprinters.org/color-print/) za promjenu boje na pola procesa. Provjerite sloj da se tekst zaustavi i postane čvrst i učinite to prijelaznim slojem. Voila! Tekst u boji!

Ispisao sam dijelove na visini sloja od 0,35 mm jer nema potrebe za finom razlučivošću na tim ravnim dijelovima. Također mi se sviđa način na koji gleda na ovu rezoluciju. Oh, i ispisuje se vrlo 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 ugrađene su s donje strane gornje ploče, a sve ožičenje izvodi se zajedno. Najprije je potrebno instalirati gumbe i prekidače, a 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čekivalo 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 zaslon može se kupiti sa instaliranim iglama ili bez njih, a funkcionirat će u svakom slučaju. Nano treba odabrati bez zaglavlja zaglavlja.

Korak 6: Kodiranje

Šifra za MTC, crvenu kupolu, bijelu kupolu i plavu kupolu sada je podignuta

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

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

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

Također, potrebno je neko vrijeme da bi zvukovi radili s ovim kodom, 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 redovitu kupolu, a drugu za neispravnu. Dobra stvar za vas, dragi čitatelju, je to što možete upotrijebiti zvukove na svojim SD karticama s napisanim kodovima i bit ćete spremni!

Korak 7: MTC izbornik - navigacija

MTC izbornik - navigacija
MTC izbornik - navigacija
MTC izbornik - navigacija
MTC izbornik - navigacija
MTC izbornik - navigacija
MTC izbornik - 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 "Ready Mode" kako bi MTČ mogao upravljati kupolama.

Pomoću navigacijske tipke (gore i dolje) kružite kroz izbornike:

  • Arija
  • razgovor
  • Priručnik

Odaberite željenu opciju pomoću gumba ‘X’ ili pritiskom na joystick.

Aria Mode - odabirom ove opcije prikazat će se zaslon "Aria Mode" i natjerati kupole da izvode Aria scenu na kraju igre Portal 2. Kad budu dovršene, kupole će se zatvoriti i čekati naredbu ili nekoga tko će ih probuditi.

Chat Mode - Odabirom ove opcije prikazat će se zaslon „Chat Mode“i započeti niz Chat. Kad budu dovršene, kupole će se zatvoriti i čekati naredbu ili nekoga tko će ih probuditi.

Ručni način rada - Odabirom ove opcije prikazat će se zaslon "Ručni način", osvijetliti LED "Ručni" i omogućiti ručni rad kupola. Joystick kontrola visine i zaokreta. Pritiskom na tipku ‘X’ aktivirat će se redoslijed paljenja. Pritiskom na tipku "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 (trenutačno ograničeno na 3), pritisnite gumb 'T' dok ste u glavnom izborniku. Bit ćete preusmjereni na zaslon "status kupole", gdje možete vidjeti status veze svake kupole.

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 gumb ‘<’ za povratak na glavni izbornik.

Korak 8: Prilagođavanje koda

Prilagođavanje koda
Prilagođavanje koda

Ovdje prikazani snimak zaslona prikazuje ono u što sam predugo buljio … 4 skice odjednom! Tko je rekao da ispravljanje pogrešaka nije zabavno!

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

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

Savjet 1 - Izmjena sekvence "Chat". Ova se izmjena 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 niza chata (Je li to riječ?) Kako bih se mogao usredotočiti na priču zahtijevalo je više posla unaprijed, ali kasnije olakšava prilagodbu.

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 koristila bi ovu XX vrijednost u tablici. Kupola # 2 bi pred vrijednost XX stavila "1", a kupola # 3 pred vrijednost XX ispred "2". Tako, na primjer, ako ste birali izreku, izraz "0040 - oprostite" i htjeli da to kaže kupola # 3, umetnuli biste "240" u tablicu u ispravnom slijedu. Kad bi to rekla kupola # 1, umetnuli biste "40" u tablicu.

Učinite isto za sljedeći izraz, i tako dalje. To bi moglo biti nekoliko izraza između kupola, ili poprilično. (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 tablici chatSayings.

Da biste izradili potpuno prilagođene izreke (gdje počinje prava zabava!), Trebate postaviti izraze u numerirane datoteke i znati koliko je vremena potrebno za reprodukciju datoteke. Spremite datoteku u mapu “mp3” u korijenskom direktoriju SD kartice pomoću četveroznamenkaste 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 koji je potrebno 5400 milisekundi za reprodukciju, stavili biste "37" u tablicu chatSayings na odgovarajuće mjesto (i dodali prefiks ovisno o tome koja kupola govori it) i 5400 u tablici NormaTimings na istom mjestu (kao što je 5. stavka u svakoj tablici).

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

Imajte na umu da sam dodao varijablu "timeadder" koja dodaje malo više vremena svakoj izreci tijekom sviranja. To 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. Morate razvrstati samo jednu tablicu, a kod na temelju iste tablice utvrđuje što svaka kupola kaže.

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

Ako netko 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 od rutina chata i dalje me nasmiju!

Volio bih čuti druge metode obavljanja stvari 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 značajki 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 programerima za korištenje / krađu / učenje. Vidio sam da se ovo koristi kako bi pomoglo 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čnog upravljanja!

Dosta sam naučio od ove zajednice i općenito šireg weba. I dalje sam začuđen koliko ljudi troši vrijeme na razmišljanje o stvarima i njihovo 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 vlastitu armiju kupola!

Preporučeni: