Obsah:

Věž Portal 2 - Ovládání hlavní věže: 9 kroků (s obrázky)
Věž Portal 2 - Ovládání hlavní věže: 9 kroků (s obrázky)

Video: Věž Portal 2 - Ovládání hlavní věže: 9 kroků (s obrázky)

Video: Věž Portal 2 - Ovládání hlavní věže: 9 kroků (s obrázky)
Video: Zavřete oči a poslouchejte 😂😂😂 2024, Červenec
Anonim
Image
Image

Tento projekt je rozšířením nebo remixem mé původní Portal Turret on Instructables (Portal-2-Turret-Gun). Může být také použit jako levný ovladač pro ovládání čehokoli, co používá rádiový čip nRF24L01. LCD obrazovka je obzvláště užitečná při přizpůsobování.

(Ukazuje se, že je to docela užitečné při kontrole, když moje rádia navazují a ztrácejí spojení s jinými nRF24L01 v „síti“. Mohu chodit a sledovat na displeji stav připojení rádií! Docela užitečné pro úpravu nastavení a ověřování rozsah!)

Poté, co jsem dokončil věž portálu, jsem na konci portálu 2 viděl krátký videoklip k operní scéně Cara Mia. Říkal jsem si: „Hej, teď jsem postavil několik věží. Můžu to udělat! Měl jsem věže, ale aby to fungovalo, budou nyní muset komunikovat mezi sebou nebo s jiným zařízením. Poté, co jsem o tom trochu přemýšlel a myslel jsem si, že ruční ovládání by bylo také skvělé, jsem se nakonec rozhodl, že postavím Master Turret Controller nebo MTC.

Dobře, jak tedy postupovat? No, neměl jsem chuť příliš upravovat věže, takže to bylo omezení. Měl jsem nějaké rádiové čipy nRF24L01, které jsem ještě nepoužil, a myslel jsem si, že to bude v souladu s mým cílem používat levné komponenty a spoléhat se na mechanický design a kód, aby to fungovalo. Musel bych postavit ovladač a začal přemýšlet o tom, co bude ovladač obsahovat a co přesně bych mohl udělat s věžičkami. Cara Mia už byla na pořadu dne, ale co jiného?

Ruční ovládání: Takže jakmile jsou křídla otevřená, chtěl bych ovládat hřiště a pivot. 2 osy = joystick, takže ovládání joystickem a některá tlačítka. Tlačítko 1 by vypálilo věž a možná by tlačítko 2 řeklo jedno ze svých výroků. To zní dobře! Dost jednoduché…

Chat: Nedávno jsem znovu viděl „Kdo je na prvním místě“- rutinu Abbotta a Costella a v hlavě mi zhaslo světlo! Také bych udělal náčrtek komediální rutiny pomocí všech výroků, pomocí několika věží !! Dobře, tohle nebylo úplně vyřešeno, ale jsem si jistý, že to vyřeším, jakmile bude moje stavba v plném proudu.

Také jsem chtěl, aby tento MTC byl bezdrátový, a tak jsem se rozhodl pro jednoduchou možnost napájení 9V baterií a navrhl jsem ovladač, aby byl napájen konektorem mini-USB přes Nano na zadní straně. Užitečné i pro aktualizaci.

Krok 1: Začlenění rádia do věží

Rádio jsem nejprve nechal pracovat s několika holými nano, abych se ujistil, že bude fungovat a bude odesílat informace mezi více zařízeními. Jakmile to bylo hotovo, šlo o začlenění rádia do stávajících věží. Hmm, přidání fyzického PCB do věže bylo docela snadné. Právě jsem upravil držák čipu tak, aby zahrnoval čip nRF24L01, Nano a mp3. OK. Jedna fyzická část upravena, s nějakým zapojením.

Upravený držák čipu je již nyní součástí tištěných částí věže. Právě jsem odstranil možnost neradio z tištěných částí v této sestavě. Nezáleží na tom, pokud někdo chce postavit neradiovou variantu. Jen nezahrnujte rádiový čip nRF24L01.

Krok 2: (Re) zapojení věží

(Re) zapojení věží
(Re) zapojení věží
(Re) zapojení věží
(Re) zapojení věží
(Re) zapojení věží
(Re) zapojení věží
(Re) zapojení věží
(Re) zapojení věží

A jé…

Tohle nevypadalo dobře. Potřeboval jsem do Nano přidat 5 připojení a už jsem měl málo dostupných pinů. Poté, co jsem se na to trochu podíval, jsem si uvědomil, která spojení mají přednost, a uznal jsem, že aby to fungovalo, musel bych přemapovat většinu stávajících připojení Nano.

Těm, kteří chtějí vytvořit „Rádiovou věž“a již vytvořili předchozí generaci … Omlouváme se…

Nyní jsem tuto změnu provedl několikrát a ukázalo se, že proces není tak špatný. Zahrnuje to návrat zpět, ale byl jsem schopen zrušit stávající připojení k Nano a poté se znovu připojit k příslušným pinům bez přílišného smutku. Přidal jsem 7 vodičů pro rádiový čip k nRF24L01 (5 komunikačních vodičů, 3v a GND), poté připojil ostatní konce k Nano.

Nyní je tam však více drátů, takže je mnohem důležitější udržovat věci při vedení vodičů uklizené.

DŮLEŽITÉ: Při sestavování se ujistěte, že vodiče netlačí na tlačítko Nano reset na desce !! To se mi stalo na jednom a vyhodilo mě to pro zbytečnou smyčku!

Sestava věže má nyní 2 schémata zapojení: stará zastaralá možnost „neradiová“a revidovaná možnost „rádiové věže“. Pokud bych dnes stavěl „neradiovou“věž, stále bych používal rádiové schéma a kód. Stačí smazat nebo okomentovat části rádia, pokud je to zvolená trasa, nebo ne. Věž by měla stále fungovat sama bez rádia.

Krok 3: Elektrické součásti MTC

Elektrické součásti MTC
Elektrické součásti MTC
Elektrické součásti MTC
Elektrické součásti MTC
Elektrické součásti MTC
Elektrické součásti MTC

Když byly věže vyřešeny, bylo načase vytvořit MTC.

MTC používá následující komponenty, všechny pocházejí od Amazon nebo Baggood nebo Ali Express atd. Ukazuji čísla dílů Amazonu, na které jsem odkazoval, protože tyto položky jsou běžně dostupné a za rozumnou cenu (a nemusel jsem počkejte 2 a více týdnů, než se mi dostane do rukou to, co jsem potřeboval, než jsem mohl začít s mechanickým návrhem!)

  • Arduino Nano 0,96”LCD, (SSD1306) Použil jsem verzi Blue/Yellow
  • Modul malého joysticku (HW-504) 5V PS
  • Přepínač (dx-004) 22 mm * 13 mm
  • Rádio - (nRF24L01)
  • 12mm tlačítka (CLT1088 pro barevná tlačítka, PBS-33B pro černou)
  • 2 mm šrouby (sada samořezných šroubů M2, sortiment křížové hlavy)
  • 5mm LED diody dle vašeho výběru pro indikátory. (Nepoužívejte jasné LED diody !!)
  • Obecný 9V konektor baterie s copánky
  • 9V baterie (použijte dobrou, ne jednu z odrůd dolarových obchodů, které pro tyto projekty nemohou vždy poskytnout dostatek energie!)
  • Použil jsem drát se silikonovým pláštěm. Rád to používám pro tyto projekty.

Původně jsem použil nějaké jasné LED diody, ale zjistil jsem, že jsou příliš dobré. Oslepovali mě! Nakonec jsem použil nějaké staré, slabé LED diody, a to dávalo větší smysl pro tuto aplikaci.

Krok 4: 3D tištěné díly

3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly

Navrhl jsem MTC pomocí Fusion, podobně jako jsem udělal konstrukci věže.

Vytištěná sestava vyžaduje pouze 3 díly:

  • Horní panel (verze 1 nebo 2)
  • Spodní kryt
  • LCD popruh

Čip nRF, Nano, 9V baterie, přepínač a LED diody jsou instalovány v horní desce bez spojovacích prvků. LED diody stačí zatlačit na desku a držet je na místě pomocí jazýčků. Měli by to prostě zacvaknout, ale nepřehánět to. Horní deska je navržena tak, aby Nano přichytila a čip nRF by měl jemně zasáhnout. Opatrně s malou záložkou nRF; je malý a je ohnutý dozadu, aby se otevřel a uvolnil, aby zachytil čip. Přestože je jeho cestování omezené, buďte zde ohleduplní.

Joystick a LCD potřebují 2 mm šrouby (5 mm dlouhé), aby je držely na horní desce. Joystick PCB má velké otvory, takže jsem cítil, že potřebuji malé podložky, abych se ujistil, že šrouby neprotáhly.

Zjistil jsem, že PCB a LCD se u různých výrobců mírně rozměrově liší, a tak jsem se rozhodl použít jednoduchý popruh, abych jej přidržel na místě místo zarážek nebo háčků.

Všimněte si, že LCD lze fyzicky nainstalovat do horní desky oběma způsoby, ale displej se plně zobrazí pouze otvorem v jedné orientaci! Z tohoto důvodu jsem při použití rozdělené žluté/modré obrazovky zahrnul možnost druhé horní desky. Jedna verze má nahoře žlutou a druhá ukazuje žlutou dole, jak je znázorněno na mých fotografiích.

U jednobarevné verze LCD nezáleží na tom, který se používá, protože můžete pomocí softwaru překlopit displej.

Protože veškeré zapojení je provedeno na horní desce, spodní část je ve skutečnosti pouhým krytem přidrženým k horní desce delšími 2mm šrouby (počet: 4).

Místo možnosti „dvířka baterie“jsem vložil baterii do horní desky. To znamená, že chcete -li vyměnit baterii, odstraňte 4 šrouby, které drží spodní část nahoře, ale protože může být také napájena kabelem USB, není to konec světa. Horní deska je vyrobena ze systému 9V držáku baterie, který by měl být dostatečně pevný pro opakované použití, není příliš komplikovaný, ale zabraňuje pohybu baterie.

Horní desku jsem vytiskl ve 2 barvách, jak je vidět na fotografiích. Používám Prusa i3 Mk2 bez možnosti více barev, ale pro změnu barvy v průběhu procesu používám jejich nástroj pro barevný tisk (https://www.prusaprinters.org/color-print/). Zkontrolujte vrstvu, u které se text zastaví a stane se celistvou, a proveďte přechodovou vrstvu. Voila! Barevný text!

Díly jsem vytiskl ve výšce vrstvy 0,35 mm, protože na těchto plochých částech není třeba jemnějšího rozlišení. Také dávám přednost tomu, jak to vypadá při tomto rozlišení. A tiskne se to také velmi rychle!

Krok 5: Elektrická montáž

Elektrická montáž
Elektrická montáž
Elektrická montáž
Elektrická montáž
Elektrická montáž
Elektrická montáž
Elektrická montáž
Elektrická montáž

Všechny elektrické součásti jsou instalovány na spodní straně horní desky a veškeré zapojení je provedeno společně. Nejprve je třeba nainstalovat tlačítka a přepínač a rádio, LCD, Nano, Joystick a nRF lze před instalací na horní desku předem zapojit. Doporučuji tento způsob předzapojení jednotlivých komponent a následné provedení konečného připojení k Nano. Také doporučuji nahrát skicu nejprve na holé Nano, než dokončíte zapojení.

Není nic uspokojivějšího než zapnout zařízení a sledovat, jak po dokončení ožívá podle očekávání!

Jedinou potřebnou přípravou elektrické části bylo odstranění kolíků záhlaví z joysticku, aby se vešly pod horní desku. LCD obrazovku lze zakoupit s nainstalovanými piny nebo bez nich a bude fungovat oběma způsoby. Nano by mělo být vybráno bez kolíků záhlaví.

Krok 6: Kód

Kód pro MTC, červenou věž, bílou věž a modrou věž nyní k dispozici

No, to byla zkušenost s kódováním! Nechal jsem věž pracovat samostatně, ale začlenit rádio bylo obtížnější, než jsem si původně myslel! Také jsem se pobavil, když sekce „Chat“fungovala podle potřeby (více o tom později).

Jakmile byl kód MTC plně vymyšlen, začal zdanit limity paměti Nano! Musel jsem provést úpravy a šetřit kód, aby byl paměťově efektivnější. Další dobrá zkušenost s učením.

Do této sestavy jsem zahrnoval odpovídající kód „Turret w radio option“, protože spolupracují. Sestavením věže s volitelným rádiem podle stránky sestavení věže bude připravena k použití s MTC nebo pro vaši další metodu ovládání nRF24L01.

Také uvedení zvuků do provozu s tímto kódem nějakou dobu trvalo, a protože zvuky byly převzaty z jiných veřejně přístupných webových stránek, začlenil jsem všechny zvuky tak, jak jsem je použil do několika souborů ZIP; jedna pro běžnou věž a jedna pro vadnou věž. Dobrá věc pro vás, drahý čtenáři, je, že můžete použít zvuky na svých SD kartách s kódy, jak jsou zapsány, a budete mít dobrý pocit!

Krok 7: Nabídka MTC - navigace

Nabídka MTC - navigace
Nabídka MTC - navigace
Nabídka MTC - navigace
Nabídka MTC - navigace
Nabídka MTC - navigace
Nabídka MTC - navigace

Kód MTC se spustí s vlastní úvodní obrazovkou a poté zkontroluje stav věží. Pokud nejsou přítomny žádné věže, bude tam jen sedět, dokud se věže nepřipojí!

Pokud je připojena alespoň jedna věž, zobrazí se hlavní nabídka a LED „Ready“se rozsvítí, pokud nejsou věže přerušeny nebo nejsou zaneprázdněny „jednáním s někým“. Pokud jsou zaneprázdněni, zobrazí se „Obrazovka věží je zaneprázdněna“a rozsvítí se LED „zaneprázdněn“.

Všechny aktivně připojené věže musí být v „pohotovostním režimu“, než bude MTC moci věžičky ovládat.

Pomocí joysticku (nahoru a dolů) procházejte možnosti nabídky:

  • Árie
  • Povídat si
  • Manuál

Vyberte požadovanou možnost pomocí tlačítka „X“nebo stisknutím joysticku.

Režim Aria - výběrem této možnosti se zobrazí obrazovka „Režim Aria“a donutí věže předvést scénu Aria na konci hry Portal 2. Po dokončení se věže zavřou a čekají na povel nebo někoho, kdo je probudí.

Režim chatu - výběrem této možnosti se zobrazí obrazovka „Režim chatu“a spustí se sekvence chatu. Po dokončení se věže zavřou a čekají na povel nebo někoho, kdo je probudí.

Ruční režim - výběrem této možnosti se zobrazí obrazovka „Manuální režim“, rozsvítí se kontrolka „Ručně“a umožní ruční ovládání věží. Ovládání výšky a otáčení joystickem. Stisknutím tlačítka „X“aktivujete sekvenci střelby. Stisknutím tlačítka „T“je přimějí „mluvit“, kde věže vysloví náhodné rčení ze své knihovny.

Stisknutím tlačítka „<“nebo zpět tyto tři režimy zrušíte, zavřete věže a vrátíte se do hlavní nabídky.

Pokud chcete vidět stav připojení vašeho roje věží (aktuálně omezeno na 3), stiskněte v hlavní nabídce tlačítko „T“. Dostanete se na obrazovku „stav věže“, kde můžete vidět stav připojení každé věže.

Když jste na obrazovce „stav věže“, uvidíte stav každé věže.

  • Připraveno - připraveno k ovládání
  • Zaneprázdněn - věž je zaneprázdněna „péčí“o někoho
  • Není k dispozici - MTC se nemůže s touto věží spojit

Stisknutím tlačítka „<“se vrátíte do hlavní nabídky.

Krok 8: Přizpůsobení kódu

Přizpůsobení kódu
Přizpůsobení kódu

Zde zobrazený snímek obrazovky ukazuje, na co jsem zíral příliš dlouho … 4 skici najednou! Kdo řekl, že ladění není zábava!

Kód poskytuje ovládací prvky a možnosti zobrazené výše, ale co přizpůsobení kódu?

Samozřejmě! Ale děje se zde slušná částka, takže zde je několik pokynů nebo tipů.

Tip1 - Úprava sekvence „Chat“. Tato úprava probíhá v kódu věže.

Snažil jsem se vymyslet způsob, jak by kód fungoval pro mě, kdekoli bych mohl. Vylepšení editovatelnosti sekvence chatu (Je to slovo?), Abych se mohl soustředit na příběh, si vyžádalo více práce dopředu, ale usnadňuje pozdější přizpůsobení.

Změnu sekvence chatu pomocí poskytnuté kódovací struktury lze provést docela jednoduchým způsobem za předpokladu, že budete postupovat podle metody použité v kódu. Pomocí poskytnutých zvukových souborů ve hře Portal 2 byste pouze museli změnit tabulku (chatSayings ).

Vyberte rčení pro běžnou nebo vadnou věž. Rčení je soubor mp3, který je označen „00XX -“, za nímž následuje text popisující rčení. Je to číslo, které je důležitou součástí. Věžička č. 1 použije tuto hodnotu XX v tabulce. Věž č. 2 by předřadila hodnotu XX „1“a věž č. 3 by předřadila hodnotu XX „2“. Pokud byste například vybrali výraz „0040 - promiňte“a chtěli byste, aby to řekla věžička č. 3, vložili byste do tabulky „240“ve správném pořadí. Pokud by to řekla věžička č. 1, vložili byste do tabulky „40“.

Totéž proveďte pro další výraz atd. Mohlo to být pár výrazů mezi věžičkami, nebo docela dost. (Nejsem si vědom omezení této metody kromě paměti).

Hodnoty ostatních tabulek nemusíte měnit, protože se jedná o časování, která odpovídají příslovím v tabulce. Jediný další řádek, který je možné změnit, je kolem řádku 520.

if (i> = 43) {// konec sekvence

Hodnota i zde by musela být nastavena na počet výroků v tabulce chatSayings.

Chcete -li vytvořit zcela přizpůsobená rčení (kde začíná skutečná zábava!), Budete muset nastavit výrazy v číslovaných souborech a znát dobu potřebnou k přehrání souboru. Uložte soubor do složky „mp3“v kořenovém adresáři karty SD pomocí čtyřmístné metody („0001“, „0002“atd.). Potom zaznamenejte čas v milisekundách, který je potřeba k přehrání daného souboru. Vložte tyto hodnoty do příslušné tabulky.

Takže pro výraz uložený jako „0037 - [váš výraz]“, jehož hraní trvá 5400 milisekund, byste do příslušného místa vložili „37“do tabulky chatSayings (a přidali předponu podle toho, která věž říká it) a 5400 v tabulce NormaTimings na stejném místě (například 5. položka v každé tabulce).

Když se nyní zvýší hodnota „i“, kód bude hrát 0037 po dobu 5400 milisekund.

Všimněte si toho, že jsem přidal proměnnou „timeadder“, která každému slovu při hraní přidá trochu času navíc. To dává malou vzdálenost mezi výroky, takže se nezdá, že se překrývají.

Krása této metody spočívá v tom, že dokončené tabulky jsou v každé věži naprosto stejné! Tyto tabulky není nutné upravovat pro každou věž. Potřebujete vyřešit pouze jednu tabulku a kód zjistí, co říká každá věž na základě stejné tabulky.

To znamená, že se místo kódování můžete soustředit na psaní skriptů!

Pokud má někdo lepší způsob, jak to udělat, rád to slyším !!

Krok 9: Shrnutí

souhrn
souhrn

Trvalo to tedy déle, než jsem si myslel, ale jsem spíše pošťouchnutý výsledkem. Některé rutiny chatu mě stále rozesmívají!

Rád bych slyšel jiné způsoby, jak dělat věci, které jsem udělal v rámci svého kódu. Jsem si jistý, že existují sekce, které lze přepsat a využívat méně paměti, což umožňuje více funkcí nebo možností.

Rád bych také viděl další nápady začleněné do MTC a ovládání věží!

Doufám, že jsem poskytl platformu pro ostatní designéry a kodéry, aby ji mohli používat / krást / učit se od ní. Viděl jsem, že se to používá k tomu, aby se lidé naučili kódovat. Odeberte část z MTC a/nebo věže, například „Ruční režim“, a přimějte studenty, aby vyvinuli vlastní způsob, jak začlenit ruční ovládání!

Od této komunity a širšího webu obecně jsem se hodně naučil. Stále mě překvapuje, kolik lidí tráví spoustu času vymýšlením věcí a jejich sdílením se světem. Myslím, že bych měl vzít to, co jsem se naučil, aplikovat to a pak se o to také podělit s vámi!

Hodně štěstí a zábavu při stavění vlastní armády věží!

Doporučuje: