Obsah:

Veža portálu 2 - Ovládanie hlavnej veže: 9 krokov (s obrázkami)
Veža portálu 2 - Ovládanie hlavnej veže: 9 krokov (s obrázkami)

Video: Veža portálu 2 - Ovládanie hlavnej veže: 9 krokov (s obrázkami)

Video: Veža portálu 2 - Ovládanie hlavnej veže: 9 krokov (s obrázkami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Image
Image

Tento projekt je rozšírením alebo remixom mojej pôvodnej Portal Turret on Instructables (Portal-2-Turret-Gun). Môže byť tiež použitý ako lacný ovládač na ovládanie čohokoľvek, čo používa rádiový čip nRF24L01. LCD obrazovka je obzvlášť užitočná pri prispôsobovaní.

(Ukazuje sa, že je to celkom užitočné pri kontrole, keď sa moje rádiá nadviažu a stratia spojenie s inými nRF24L01 v „sieti“. Môžem chodiť a sledovať obrazovku, ktorá zobrazuje stav pripojenia rádií! Pomáha to pri úprave nastavení a overovaní rozsah!)

Potom, čo som dokončil vežu portálu, som na konci portálu 2 videl krátky videoklip k opernej scéne Cara Mia. Pomyslel som si: „Hej, teraz som postavil niekoľko veží. Môžem to urobiť! Mal som veže, ale aby to fungovalo, museli by teraz komunikovať medzi sebou alebo s iným zariadením. Potom, čo som sa nad tým zamyslel a myslel som si, že manuálne ovládanie bude tiež super, som sa nakoniec rozhodol, že zostrojím Master Turret Controller alebo MTC.

Dobre, ako teda postupovať v tomto prípade? Nemal som chuť príliš upravovať veže, takže to bolo obmedzenie. Mal som niekoľko rádiových čipov nRF24L01, ktoré som ešte nepoužil, a myslel som si, že to bude v súlade s mojím cieľom používať lacné komponenty a spoliehať sa na mechanický dizajn a kód, aby to fungovalo. Musel by som postaviť ovládač a začal by som premýšľať, čo bude ovládač obsahovať a čo konkrétne by som mohol vežičkám urobiť. Cara Mia už bola na programe, ale čo iné?

Manuálne ovládanie: Takže akonáhle budú krídla otvorené, chcel by som ovládať ihrisko a čap. 2 osi = joystick, takže ovládanie joystickom a niektoré tlačidlá. Stlačením tlačidla 1 sa spustí veža a možno stlačením tlačidla 2 sa povie jedno z jeho prísloví. Znie to dobre! Dosť jednoduché…

Chat: Nedávno som opäť videl „Kto je na prvom mieste“- rutinu Abbotta a Costella a v hlave sa mi rozsvietilo svetlo! Tiež by som urobil náčrt komediálnej rutiny pomocou všetkých prísloví s použitím viacerých veží !! Ok, tento nebol úplne vyriešený, ale som si istý, že to vyriešim, akonáhle bude moja stavba prebiehať.

Tiež som chcel, aby bol tento MTC bezdrôtový, a tak som sa rozhodol pre jednoduchú možnosť napájania 9 V batériou a navrhol som ovládač, aby bol napájaný konektorom mini-USB cez Nano na zadnej strane. Užitočné aj pri aktualizácii.

Krok 1: Začlenenie rádia do veží

Rádio som najskôr nechal pracovať s niekoľkými holými Nano, aby som sa uistil, že bude fungovať a bude odosielať informácie medzi viacerými zariadeniami. Akonáhle to bolo hotové, išlo o začlenenie rádia do existujúcich veží. Hmm, pridanie fyzického DPS do veže bolo celkom jednoduché. Práve som upravil držiak čipu tak, aby zahŕňal čip nRF24L01, Nano a mp3. Ok. Jedna fyzická časť upravená, s nejakým zapojením.

Upravený držiak čipu je už súčasťou tlačených dielov veže. Práve som odstránil nerádiovú možnosť z tlačených častí v tejto zostave. Nezáleží na tom, ak niekto chce postaviť nerádiový variant. Jednoducho nezahrňte rádiový čip nRF24L01.

Krok 2: (Opätovné) zapojenie veží

(Re) zapojenie veží
(Re) zapojenie veží
(Re) zapojenie veží
(Re) zapojenie veží
(Re) zapojenie veží
(Re) zapojenie veží
(Re) zapojenie veží
(Re) zapojenie veží

Uh Oh…

Toto nevyzeralo dobre. Potreboval som k Nano pridať 5 pripojení a už som mal málo dostupných pinov. Potom, čo som sa na to trochu pozrel, som si uvedomil, ktoré spojenia majú prednosť, a uznal som, že na to, aby to fungovalo, budem musieť premapovať väčšinu existujúcich nano pripojení.

Pre tých, ktorí chcú vytvoriť „rozhlasovú vežu“a už vytvorili predchádzajúcu generáciu … Ospravedlňujeme sa …

Teraz som túto zmenu urobil niekoľkokrát a ukázalo sa, že proces nie je taký zlý. Zahŕňa to návrat späť, ale dokázal som zrušiť existujúce pripojenia k Nano a potom sa znova pripojiť k príslušným kolíkom bez prílišného zármutku. 7 vodičov pre rádiový čip som pridal k nRF24L01 (5 komunikačných vodičov, 3v a GND) a ostatné konce som potom pripojil k Nano.

Teraz je tam však viac drôtov, takže je oveľa dôležitejšie udržiavať poriadok pri vedení káblov.

DÔLEŽITÉ: Pri montáži zaistite, aby káble nestlačili tlačidlo Nano reset na doske !! To sa mi stalo na jednom a vyhodilo ma to pre zbytočnú slučku!

Zostava veže má teraz 2 schémy zapojenia: stará zastaraná možnosť „nerádiová“a revidovaná možnosť „rádiová veža“. Ak by som dnes staval „nerádiovú“vežu, stále by som používal rádiovú schému a kód. Jednoducho odstráňte alebo komentujte časti rádia, ak je to zvolená trasa alebo nie. Veža by mala stále fungovať sama bez rádia.

Krok 3: Elektrické komponenty MTC

Elektrické komponenty MTC
Elektrické komponenty MTC
Elektrické komponenty MTC
Elektrické komponenty MTC
Elektrické komponenty MTC
Elektrické komponenty MTC

Keď boli veže vytriedené, bolo načase vytvoriť MTC.

MTC používa nasledujúce komponenty, všetky pochádzajú od spoločnosti Amazon alebo Baggood alebo Ali Express atď. Ukazujem čísla dielov Amazonu, na ktoré som odkazoval, pretože tieto položky sú bežne dostupné a za rozumnú cenu (a nemusel som počkajte 2+ týždne, kým sa mi dostane do rúk to, čo som potreboval, než som mohol začať s mechanickým návrhom!)

  • Arduino Nano 0,96”LCD, (SSD1306) Použil som verziu Blue/Yellow
  • Modul malého joysticku (HW-504) 5V PS
  • Prepínač (dx-004) 22 mm * 13 mm
  • Rádio - (nRF24L01)
  • 12 mm tlačidlá (CLT1088 pre farebné tlačidlá, PBS-33B pre čierne)
  • 2 mm skrutky (sada samorezných skrutiek M2, sortiment krížovej hlavy)
  • 5mm LED diódy podľa vášho výberu pre indikátory. (Nepoužívajte jasné LED diódy !!)
  • Generický 9V konektor pre batériu s pigtails
  • 9V batéria (používajte dobrú, nie jednu z odrôd dolárového obchodu, ktorá pre tieto projekty nemôže vždy dodať dostatok energie!)
  • Použil som drôt so silikónovým plášťom. Rád ho používam pre tieto projekty.

Pôvodne som používal niekoľko jasných LED diód, ale zistil som, že sú príliš dobré. Oslepovali ma! Nakoniec som použil niektoré staré, slabé LED diódy, a to dávalo tejto aplikácii väčší zmysel.

Krok 4: 3D tlačené diely

3D tlačené diely
3D tlačené diely
3D tlačené diely
3D tlačené diely
3D tlačené diely
3D tlačené diely

MTC som navrhol pomocou programu Fusion, podobne ako pri návrhu veže.

Vytlačená zostava vyžaduje iba 3 diely:

  • Horný panel (verzia 1 alebo 2)
  • Spodné puzdro
  • LCD popruh

Čip nRF, Nano, 9V batéria, prepínač a diódy LED sú nainštalované v hornej doske bez upevňovacích prvkov. LED diódy stačí zatlačiť na dosku a držať ich na mieste pomocou úchytiek. Mali by jednoducho zapadnúť, ale nepreháňať to. Horná doska je navrhnutá tak, aby Nano prichytila a čip nRF by mal jemne zapadnúť. Opatrne s malou záložkou nRF; je malý a je ohnutý dozadu, aby sa otvoril a uvoľnil, aby zachytil čip. Aj keď je jeho cestovanie obmedzené, buďte tu jemní.

Joystick a displej LCD potrebujú 2 mm skrutky (5 mm dlhé), aby boli pripevnené k hornej doske. Joystick PCB má veľké otvory, takže som cítil, že potrebujem malé podložky, aby som sa uistil, že skrutky nepreťahujú.

Zistil som, že dosky plošných spojov a displeje LCD sa od výrobcu k výrobcovi mierne líšia, a preto som sa rozhodol použiť jednoduchý popruh, ktorý by ho držal na mieste namiesto zarážok alebo háčikov.

Uvedomte si, že LCD je možné fyzicky namontovať na hornú dosku akýmkoľvek spôsobom, ale displej sa zobrazuje úplne iba cez otvor v jednej orientácii! Z tohto dôvodu som pri použití rozdelenej žlto -modrej obrazovky zahrnul druhú možnosť hornej dosky. Jedna verzia má v hornej časti žltú farbu a druhá ukazuje žltú v spodnej časti, ako je znázornené na mojich fotografiách.

Pri jednofarebnej verzii LCD nezáleží na tom, ktorý sa používa, pretože môžete displej prevrátiť pomocou softvéru.

Pretože všetky káble sú vedené na hornej doske, v spodnej časti je v skutočnosti iba kryt držaný na hornej doske dlhšími 2 mm skrutkami (množstvo: 4).

Namiesto možnosti „dvierok pre batériu“som vložil batériu do hornej dosky. To znamená, že na výmenu batérie je potrebné odstrániť 4 skrutky, ktoré držia spodnú časť v hornej časti, ale pretože batériu je možné napájať aj káblom USB, nie je to koniec sveta. Horná doska je vyrobená zo systému 9V držiaka batérie, ktorý by mal byť dostatočne pevný na opakované použitie, nie je príliš komplikovaný, ale zabraňuje pohybu batérie.

Vrchný plát som vytlačil v 2 farbách, ako je vidieť na fotografiách. Používam Prusa i3 Mk2 bez viacfarebnej možnosti, ale na zmenu farby v priebehu procesu používam ich nástroj na farebnú tlač (https://www.prusaprinters.org/color-print/). Skontrolujte vrstvu, v ktorej sa text zastaví a stane sa celistvou, a zaistite, aby bola prechodovou vrstvou. Voila! Farebný text!

Diely som vytlačil vo výške vrstvy 0,35 mm, pretože na týchto plochých častiach nie je potrebné jemnejšie rozlíšenie. Tiež dávam prednosť tomu, ako sa pozerá na toto rozlíšenie. A tlačí sa to tiež veľmi rýchlo!

Krok 5: Elektrická montáž

Elektrická zostava
Elektrická zostava
Elektrická zostava
Elektrická zostava
Elektrická zostava
Elektrická zostava
Elektrická zostava
Elektrická zostava

Všetky elektrické komponenty sú nainštalované na spodnej strane hornej dosky a všetky káble sú zapojené spoločne. Najprv je potrebné nainštalovať tlačidlá a prepínač a pred inštaláciou na hornú dosku je možné LCD, nano, joystick a rádio nRF vopred zapojiť. Odporúčam tento spôsob predbežného zapojenia jednotlivých komponentov a následné konečné pripojenie k Nano. Odporúčam tiež nahrať skicu najskôr na holé Nano, než dokončíte zapojenie.

Nie je nič viac uspokojujúce, ako zapnúť zariadenie a sledovať, ako po dokončení ožíva, ako sa očakávalo!

Jedinou potrebnou prípravou elektrickej časti bolo odstránenie kolíkov záhlavia z joysticku, aby sa zmestili pod hornú dosku. Obrazovku LCD je možné zakúpiť s nainštalovanými kolíkmi alebo bez nich a bude fungovať v každom prípade. Nano by ste mali vyberať bez kolíkov záhlavia.

Krok 6: Kód

Kód pre MTC, červenú vežu, bielu vežu a modrú vežu je teraz k dispozícii

Toto bola skúsenosť s kódovaním! Nechal som vežu pracovať nezávisle, ale začlenenie rádia bolo náročnejšie, ako som si pôvodne myslel! Tiež som sa pobavil na tom, aby sekcia „Chat“fungovala podľa potreby (viac o tom neskôr).

Keď sa kód MTC úplne zorientoval, začal zdaňovať limity pamäte Nano! Musel som vykonať úpravy a šetriť kód, aby bol efektívnejší z hľadiska pamäte. Ďalšia dobrá skúsenosť s učením.

Do tejto zostavy som zahrnul zodpovedajúci kód „Turret w radio option“, pretože spolupracujú. Zostavením rádiovej voliteľnej veže podľa stránky zostavenia veže bude pripravená na použitie s MTC alebo pre váš iný spôsob ovládania nRF24L01.

Tiež uvedenie zvukov do prevádzky s týmto kódom chvíľu trvalo a keďže zvuky boli prevzaté z iných verejne prístupných webových stránok, všetky zvuky som začlenil tak, ako som ich použil, do niekoľkých súborov ZIP; jeden pre pravidelnú vežu a jeden pre chybnú vežu. Dobrá vec pre vás, drahý čitateľ, je, že môžete používať zvuky na svojich SD kartách s kódmi tak, ako sú napísané, a môžete ísť!

Krok 7: Menu MTC - navigácia

Ponuka MTC - navigácia
Ponuka MTC - navigácia
Ponuka MTC - navigácia
Ponuka MTC - navigácia
Ponuka MTC - navigácia
Ponuka MTC - navigácia

Kód MTC sa spustí pomocou vlastnej úvodnej obrazovky a potom sa skontroluje stav veží. Ak nie sú k dispozícii žiadne vežičky, bude tam iba sedieť, kým sa veže nepripoja!

Ak je pripojená aspoň jedna veža, zobrazí sa hlavné menu a LED dióda „Ready“sa rozsvieti, pokiaľ veže nie sú prerušené alebo nie sú zaneprázdnené „rokovaním s niekým“. Ak sú zaneprázdnení, zobrazí sa obrazovka „Vežičky sú zaneprázdnené“a rozsvieti sa dióda „Obsadené“.

Všetky aktívne pripojené veže musia byť v „pohotovostnom režime“, než bude môcť MTC ovládať veže.

Joystickom (hore a dole) prechádzajte cez možnosti ponuky:

  • Aria
  • Rozhovor
  • Manuálny

Vyberte požadovanú možnosť pomocou tlačidla „X“alebo stlačením joysticku.

Režim Aria - výberom tejto možnosti sa zobrazí obrazovka „Režim Aria“a veže prinútia predvádzať scénu Aria na konci hry Portal 2. Keď sú veže hotové, zatvoria sa a čakajú na príkaz alebo niekoho, kto ich prebudí.

Režim rozhovoru - výberom tejto možnosti sa zobrazí obrazovka „Režim rozhovoru“a spustí sa sekvencia rozhovoru. Keď sú veže hotové, zatvoria sa a čakajú na príkaz alebo niekoho, kto ich prebudí.

Manuálny režim - výberom tejto možnosti sa zobrazí obrazovka „Manuálny režim“, rozsvieti sa kontrolka „Ručne“a umožní sa ručná obsluha veží. Ovládanie výšky a otáčania joystickom. Stlačením tlačidla „X“sa aktivuje sekvencia vypaľovania. Stlačením tlačidla „T“sa začnú rozprávať, kde vežičky hovoria náhodným výrokom zo svojej knižnice.

Stlačením tlačidla „<“alebo späť sa tieto tri režimy zrušia, veže sa zatvoria a vrátia sa do hlavnej ponuky.

Ak by ste chceli vidieť stav pripojenia vášho roja veží (v súčasnosti obmedzený na 3), stlačte tlačidlo „T“v hlavnej ponuke. Dostanete sa na obrazovku „stav veže“, kde môžete vidieť stav pripojenia jednotlivých veží.

Na obrazovke „stav veže“uvidíte stav každej veže.

  • Pripravené - pripravené na ovládanie
  • Zaneprázdnený - veža je zaneprázdnená „staraním sa“o niekoho
  • Nie je k dispozícii - MTC sa nemôže spojiť s touto vežou

Stlačením tlačidla „<“sa vrátite do hlavnej ponuky.

Krok 8: Prispôsobenie kódu

Prispôsobenie kódu
Prispôsobenie kódu

Tu zobrazený záber obrazovky ukazuje, na čo som pozeral príliš dlho … 4 skice naraz! Kto povedal, že ladenie nie je zábava!

Kód poskytuje ovládanie a možnosti uvedené vyššie, ako je to však s prispôsobením kódu?

Samozrejme! Ale deje sa tu slušné množstvo, preto uvádzame niekoľko rád alebo tipov.

Tip1 - Úprava sekvencie „Rozhovor“. Táto modifikácia prebieha v kóde veže.

Snažil som sa prísť na spôsob, ako by kód fungoval pre mňa, kdekoľvek by som mohol. Zlepšenie editovateľnosti sekvencie chatu (je to slovo?), Aby som sa mohol sústrediť na príbeh, si vopred vyžiadalo viac práce, ale neskôr uľahčuje prispôsobenie.

Zmena sekvencie rozhovoru pomocou poskytnutej kódovacej štruktúry sa dá urobiť celkom jednoduchým spôsobom za predpokladu, že budete postupovať podľa metódy použitej v kóde. Pomocou dodaných zvukových súborov z hry Portal 2 by ste potrebovali iba zmeniť tabuľku (chatSayings ).

Vyberte príslovie buď pre bežnú, alebo pre chybnú vežu. Príslovie je súbor mp3, ktorý je označený výrazom „00XX -“a za ním text, ktorý dané slovo popisuje. Je to číslo, ktoré je dôležitou súčasťou. Veža č. 1 by použila túto hodnotu XX v tabuľke. Vežička č. 2 by mala predponu XX hodnoty „1“a veža č. 3 predponu hodnoty XX „2“. Ak by ste napríklad vybrali výraz „0040 - prepáč“a chceli by ste to povedať vežičkou č. 3, vložili by ste do tabuľky „240“v správnom poradí. Ak by to povedala vežička č. 1, vložili by ste do tabuľky „40“.

To isté urobte s ďalším výrazom a podobne. Mohlo to byť niekoľko výrazov medzi vežičkami, alebo niekoľko. (Nie som si vedomý obmedzení tejto metódy, iných ako pamäť).

Hodnoty ostatných tabuliek nemusíte meniť, pretože ide o časovanie, ktoré zodpovedá prísloviu v tabuľke. Jediný ďalší riadok, ktorý je možné zmeniť, je okolo linky 520.

if (i> = 43) {// koniec sekvencie

Hodnota i tu by mala byť nastavená na počet výrokov v tabuľke chatSayings.

Ak chcete vytvoriť úplne prispôsobené výroky (kde začína skutočná zábava!), Budete musieť nastaviť výrazy v očíslovaných súboroch a poznať dobu potrebnú na prehranie súboru. Uložte súbor do priečinka „mp3“v koreňovom adresári karty SD pomocou štvorcifernej metódy („0001“, „0002“atď.). Potom zaznamenajte čas v milisekundách, ktorý je potrebný na prehranie tohto súboru. Vložte tieto hodnoty do príslušnej tabuľky.

Takže pre výraz uložený ako „0037 - [váš výraz]“, ktorého prehranie trvá 5400 milisekúnd, by ste „37“vložili do tabuľky chatSayings na príslušnom mieste (a predponu pridajte podľa toho, ktorá veža hovorí it) a 5400 v tabuľke NormaTimings na rovnakom mieste (ako napríklad 5. položka v každej tabuľke).

Teraz, keď sa zvýši hodnota „i“, kód sa bude hrať 0037 po dobu 5400 milisekúnd.

Všimnite si toho, že som pridal premennú „timeadder“, ktorá dodáva každému slovu pri hraní trochu viac času. To dáva malú vzdialenosť medzi výrokmi, aby sa nezdalo, že sa prekrývajú.

Krása tejto metódy spočíva v tom, že vyplnené tabuľky sú v každej veži úplne rovnaké! Tieto tabuľky nie je potrebné upravovať pre každú vežu. Stačí roztriediť jednu tabuľku a kód určí, čo každá vežička hovorí na základe tej istej tabuľky.

To znamená, že sa môžete namiesto kódovania zamerať na písanie skriptov!

Ak má niekto lepší spôsob, ako to urobiť, rád by som to počul !!

Krok 9: Zhrnutie

Zhrnutie
Zhrnutie

Trvalo to teda viac času, ako som si myslel, ale výsledok ma dosť šteklil. Niektoré rutiny chatu ma stále rozosmievajú!

Rád by som počul iné metódy robenia vecí, ktoré som robil v rámci svojho kódu. Som si istý, že existujú sekcie, ktoré je možné prepísať a využívať menej pamäte, čo umožňuje viac funkcií alebo možností.

Tiež by som rád videl ďalšie nápady začlenené do MTC a ovládania veží!

Dúfam, že som poskytol platformu pre iných dizajnérov a kodérov, aby ich mohli používať / kradnúť / učiť sa od nich. Videl som, že sa to používa na pomoc ľuďom naučiť sa kódovať. Odstráňte časť z MTC a/alebo veže, napríklad „Manuálny režim“, a nechajte študentov, aby vyvinuli svoj vlastný spôsob začlenenia manuálneho ovládania!

Od tejto komunity a širšieho webu všeobecne som sa veľa naučil. Stále som prekvapený, koľko ľudí trávi veľa času vymýšľaním vecí a ich zdieľaním so svetom. Myslím, že by som mal vziať to, čo som sa naučil, uplatniť to a potom sa o to podeliť aj s vami!

Veľa šťastia a zábavu pri stavaní vlastnej armády veží!

Odporúča: