Sisukord:

Portaal 2 torn - kapteni torni juhtimine: 9 sammu (piltidega)
Portaal 2 torn - kapteni torni juhtimine: 9 sammu (piltidega)

Video: Portaal 2 torn - kapteni torni juhtimine: 9 sammu (piltidega)

Video: Portaal 2 torn - kapteni torni juhtimine: 9 sammu (piltidega)
Video: В очко этих Юнитологов ► 2 Прохождение Dead Space Remake 2024, Juuli
Anonim
Image
Image

See projekt on minu algse portaalitorni laiendus või remix juhistele (Portal-2-Turret-Gun). Seda saab kasutada ka odava kontrollerina, et juhtida kõike, mis kasutab raadiokiipi nRF24L01. LCD -ekraan on kohandamisel eriti kasulik.

(See osutub üsna kasulikuks kontrollimisel, kui mu raadiod loovad ja katkestavad ühenduse teiste võrgu nRF24L01 -dega. Ma võin ringi jalutada ja vaadata, kuidas kuvariekraanil kuvatakse raadioühenduse olek! Üsna kasulik seadete reguleerimiseks ja kontrollimiseks vahemik!)

Kui olin lõpetanud portaaltorni, nägin portaali 2 lõpus lühikest videoklippi Cara Mia ooperistseenist. Mõtlesin: „Hei, ma olen nüüd mõned tornid ehitanud. Ma võin seda teha! Noh, mul olid tornid, kuid selle toimimiseks oleks neil nüüd vaja omavahel suhelda või mõne muu seadmega suhelda. Olles veidi järele mõelnud ja mõelnud, et ka käsitsi juhtimine oleks lahe, otsustasin lõpuks, et ehitan Master Turret Controller ehk MTC.

Ok, kuidas sellega edasi minna? Noh, ma ei tahtnud turnereid liiga palju muuta, nii et see oli piirang. Mul olid mõned nRF24L01 raadiolaastud, mida ma polnud veel kasutanud, ja arvasin, et see on kooskõlas minu eesmärgiga kasutada odavaid komponente ning tugineda selle töö tegemisel mehaanilisele disainile ja koodile. Ma pidin ehitama kontrolleri ja hakkasin mõtlema, mida kontroller sisaldab ja mida ma saaksin tornidega teha. Cara Mia oli juba päevakorras, aga mis veel?

Käsitsi juhtimine: nii et kui tiivad on avatud, tahaksin juhtida sammu ja pöördeid. 2 telge = juhtkang, seega juhtkangi juhtimine ja mõned nupud. Nupp 1 tulistaks torni ja võib -olla paneks nupp 2 ütlema ühe oma ütlustest. Kõlab hästi! Piisavalt lihtne…

Vestlus: Hiljuti nägin taas “Kes on esimene” - Abbott ja Costello rutiini ning mu peas läks tuli põlema! Ma teeksin ka visandikomöödia rutiini, kasutades kõiki ütlusi, kasutades mitut torni !! Olgu, see ei olnud täielikult välja mõeldud, kuid olen kindel, et saan selle korda, kui minu ehitamine on käimas.

Tahtsin ka, et see MTC oleks traadita, nii et valisin lihtsa 9V patareitoitega valiku ja konstrueerisin kontrolleri toite mini-USB-pistikust taga oleva Nano kaudu. Kasulik ka värskendamiseks.

1. samm: raadio lisamine tornidesse

Panin raadio esmalt tööle mõne palja nanoga, et veenduda, kas suudan selle tööle panna, ja saata teavet mitme seadme vahel. Kui see oli tehtud, oli raadio lisamine olemasolevatesse tornidesse. Hmm, füüsilise PCB lisamine torni oli üsna lihtne. Muutsin just kiibihoidjat, et see hõlmaks nRF24L01, Nano ja mp3 -kiipi. Okei. Üks füüsiline osa muudetud, mõned juhtmed.

Muudetud kiibihoidik on juba osa tornist trükitud osadest. Kustutasin just selle ehitise trükitud osadest raadiovälise valiku. Pole vahet, kui keegi soovib luua raadiovälise variandi. Lihtsalt ärge lisage raadio kiipi nRF24L01.

2. samm: tornide (uuesti) juhtmestik

Tornide (uuesti) juhtmestik
Tornide (uuesti) juhtmestik
Turrettide (uuesti) juhtmestik
Turrettide (uuesti) juhtmestik
Turrettide (uuesti) juhtmestik
Turrettide (uuesti) juhtmestik
Turrettide (uuesti) juhtmestik
Turrettide (uuesti) juhtmestik

Oh oh…

See ei näinud hea välja. Mul oli vaja Nano juurde lisada 5 ühendust ja mul oli juba saadaval olevaid kontakte vähe. Olles seda veidi uurinud, mõistsin, millised ühendused on ülimuslikud, ja tundsin, et selle töö tegemiseks pean enamiku olemasolevatest Nano -ühendustest uuesti koostama.

Neile, kes soovivad teha raadiotorni ja on juba ehitanud eelmise põlvkonna… Vabandust…

Nüüd olen seda muudatust paar korda teinud ja selgub, et protsess pole liiga halb. See hõlmab küll tagasipöördumist, kuid suutsin Nanoga olemasolevad ühendused tühistada ja seejärel ilma liigse leinaga uuesti sobivate tihvtidega ühenduse luua. Lisasin 7 raadiokiibi juhtmest nRF24L01 (5 komm juhtmed, 3v ja GND), seejärel ühendasin teised otsad Nano külge.

Nüüd on seal rohkem juhtmeid, seega on palju olulisem juhtmete suunamisel asjad korras hoida.

TÄHTIS: kokkupanemisel veenduge, et juhtmed ei vajuta tahvli Nano lähtestusnuppu !! See juhtus minuga ühel ja viskas mind asjatuks aasaks!

Seega on torni konstruktsioonil nüüd kaks juhtmestiku skeemi: vana pärandvõimalus „mitteraadio” ja muudetud „raadiotorn”. Kui ehitaksin täna “mitteraadio” torni, kasutaksin ikkagi raadio skeemi ja koodi. Lihtsalt kustutage või kommenteerige raadioosasid, kui see on valitud marsruut või mitte. Torn peaks ikka ise töötama ilma raadiota.

3. samm: MTC elektrilised komponendid

MTC elektrilised komponendid
MTC elektrilised komponendid
MTC elektrilised komponendid
MTC elektrilised komponendid
MTC elektrilised komponendid
MTC elektrilised komponendid

Kui tornid olid korda tehtud, oli aeg teha MTC.

MTC kasutab järgmisi komponente, mis on hangitud Amazonist, Baggoodist või Ali Expressist jne. oodake 2+ nädalat, et saada kätte see, mida vajan, enne kui hakkan mehaanilist disaini alustama!)

  • Arduino Nano 0,96”LCD, (SSD1306) Kasutasin sinist/kollast versiooni
  • Väike juhtkang (HW-504) 5V PS juhtkangi moodul
  • Lüliti (dx-004) 22mm * 13mm
  • Raadio - (nRF24L01)
  • 12 mm nupud (CLT1088 värviliste nuppude jaoks, PBS-33B musta jaoks)
  • 2 mm kruvid (isekeermestavate kruvikomplektide komplekt M2, risti ajamipaneeli valik)
  • 5 mm LED -id teie valitud indikaatorite jaoks. (Ärge kasutage eredaid LED -e !!)
  • Üldine 9V patareipistik koos patsidega
  • 9 V aku (kasutage head, mitte ühte dollaripoodide sorti, mis ei suuda alati nende projektide jaoks piisavalt energiat tarnida!)
  • Kasutasin silikoonkattega traati. Mulle meeldib seda nende projektide jaoks kasutada.

Algselt kasutasin mõnda eredat LED -i, kuid leidsin, et need on liiga head. Nad pimestasid mind! Ma kasutasin mõnda vana, nõrka LED -i ja see oli selle rakenduse jaoks mõttekam.

4. samm: 3D -prinditud osad

3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad

Ma kujundasin MTC Fusioni abil, sarnaselt torni kujundusega.

Trükitud komplekt vajab ainult 3 osa:

  • Ülemine paneel (versioon 1 või 2)
  • Alumine korpus
  • LCD rihm

NRF kiip, Nano, 9 V aku, lülituslüliti ja LED -id on paigaldatud ülemisele plaadile ilma kinnitusdetailideta. LED -id lihtsalt vajutavad plaati ja neid hoiavad sakid. Nad peaksid lihtsalt sisse klõpsama, kuid ärge üle pingutage. Ülemine plaat on mõeldud Nano fikseerimiseks ja nRF-kiip peaks õrnalt sisse minema. Olge ettevaatlik nRF väikese sakiga; see on väike ja painutatakse tagasi, et avada ja vabastatakse kiibi jäädvustamiseks. Kuigi selle reisimine on piiratud, olge siin õrn.

Juhtkang ja LCD -ekraan vajavad 2 mm kruvisid (5 mm pikkused), et neid ülemise plaadi külge kinnitada. Juhtkangi trükkplaadil on suured augud, nii et tundsin, et vajan väikesi seibisid, et veenduda, et kruvid ei tõmba läbi.

Olen avastanud, et LCD -ekraanil olevad trükkplaadid on tootjatel mõnevõrra erinevad, seega otsustasin klambrite või konksude asemel selle hoidmiseks kasutada lihtsat rihma.

Pange tähele, et vedelkristallekraani saab füüsiliselt paigaldada ülemisele plaadile mõlemal viisil, kuid ekraan kuvatakse täielikult ainult ava kaudu ühes suunas! Sel põhjusel lisasin jagatud kollase/sinise ekraani kasutamisel teise ülemise plaadi valiku. Ühel versioonil on kollane ülaosas ja teisel on kollane allosas, nagu on näidatud minu fotodel.

Ühevärvilise LCD -ekraani puhul pole vahet, kumba kasutatakse, kuna saate tarkvara abil ekraani pöörata.

Kuna kogu juhtmestik on tehtud ülemisel plaadil, on põhi sisuliselt lihtsalt kate, mida hoitakse ülemise plaadi külge pikemate 2 mm kruvidega (tk: 4).

Aku ukse valiku asemel ühendasin aku lihtsalt ülemisse plaati. See tähendab, et aku vahetamiseks tuleb eemaldada 4 kruvi, mis hoiavad alt üles, kuid kuna seda saab toita ka USB -kaabli abil, mitte maailma lõpp. Ülemine plaat on valmistatud 9 V akuhoidikusüsteemiga, mis peaks olema piisavalt vastupidav korduvaks kasutamiseks, ei ole liiga keeruline, kuid takistab aku liikumist.

Ülemise plaadi printisin 2 värviga nagu fotodel näha. Kasutan Prusa i3 Mk2 ilma mitmevärvilise valikuta, kuid nende värviprintimise tööriistaga (https://www.prusaprinters.org/color-print/) saate värvi osaliselt muuta. Kontrollige kihti, mille tekst peatub ja muutub ühtlaseks, ning tehke see üleminekukiht. Voila! Värviline tekst!

Trükkisin osad 0,35 mm kihi kõrgusele, kuna nende tasaste osade jaoks pole vaja peenemat eraldusvõimet. Ma eelistan ka seda, kuidas see resolutsioon välja näeb. Oh, ja see prindib ka üsna kiiresti!

5. samm: elektriline kokkupanek

Elektriline kokkupanek
Elektriline kokkupanek
Elektriline kokkupanek
Elektriline kokkupanek
Elektriline kokkupanek
Elektriline kokkupanek
Elektriline kokkupanek
Elektriline kokkupanek

Kõik elektrilised komponendid on paigaldatud ülemise plaadi alumisele küljele ja kogu juhtmestik tehakse koos. Esmalt tuleb paigaldada nupud ja lüliti ning LCD, Nano, juhtkangi ja nRF raadio saab kõik enne juhtplaadile paigaldamist eeljuhtmega ühendada. Soovitan seda meetodit üksikute komponentide eeljuhtmestamiseks ja seejärel lõpus Nanoga ühenduste tegemiseks. Samuti soovitan eskiis enne juhtmestiku lõpuleviimist esmalt üles laadida tühjale nanole.

Pole midagi rahuldustpakkuvamat kui seadme sisselülitamine ja selle valmimise ootuspärane jälgimine!

Ainus elektriline osa, mida oli vaja ette valmistada, oli eemaldada päise tihvtid juhtkangilt, et see sobiks ülemise plaadi alla. LCD -ekraani saab osta paigaldatud tihvtidega või ilma ja see töötab mõlemal viisil. Nano tuleks valida ilma päisetahvliteta.

6. samm: kood

MTC, punase torni, valge torni ja sinise torni kood on nüüd üleval

No see oli kodeerimise kogemus! Mul oli torn töötamas iseseisvalt, kuid raadio lisamine oli keerulisem, kui algselt arvasin! Mul oli ka lõbus, et jaotis „Vestlus” toimiks vastavalt soovile (sellest lähemalt hiljem).

MTC kood, kui see on täielikult välja selgitatud, hakkas maksustama Nano mälu piire! Pidin kohandusi tegema ja koodi säästma, et oleks mälusäästlikum. Veel üks hea õppimiskogemus.

Olen sellesse koostisse lisanud vastava „Turret w raadio valiku” koodi, kuna need töötavad koos. Kui ehitate raadiovõimaluse torni vastavalt torni ehitamise lehele, valmistatakse see kasutamiseks koos MTC -ga või teie muu nRF24L01 juhtimismeetodi jaoks.

Ka helide selle koodiga töötamiseks kulus veidi aega ja kuna helid võeti teistelt avalikult juurdepääsetavatelt veebisaitidelt, lisasin kõik helid nii, nagu olen neid kasutanud, paaris ZIP -failis; üks tavalise torni jaoks ja teine defektse torni jaoks. Hea asi teile, hea lugeja, on see, et saate SD -kaartidel olevaid helisid kasutada koos kirjutatud koodidega ja teil on hea minna!

7. samm: MTC menüü - navigeerimine

MTC menüü - navigeerimine
MTC menüü - navigeerimine
MTC menüü - navigeerimine
MTC menüü - navigeerimine
MTC menüü - navigeerimine
MTC menüü - navigeerimine

MTC -kood käivitub kohandatud pritsekraaniga, seejärel kontrollib tornide olekut. Kui torne pole, siis see lihtsalt istub seal, kuni tornid ühenduvad!

Kui on ühendatud vähemalt üks torn, kuvatakse peamenüü ja süttib LED “Valmis”, välja arvatud juhul, kui tornid on katkestatud või on hõivatud kellegagi tegelemisel. Kui nad on hõivatud, kuvatakse ekraan „Tornid on hõivatud” ja süttib LED „Hõivatud”.

Kõik aktiivselt ühendatud tornid peavad olema valmisrežiimis, enne kui MTC saab turneid juhtida.

Kasutage menüüvalikute vahel liikumiseks juhtnuppu (üles ja alla).

  • Aaria
  • Vestlus
  • Käsitsi

Valige soovitud suvand nupu „X” või juhtkangi alla vajutamisega.

Aariarežiim - selle valiku valimisel kuvatakse ekraan „Aariarežiim” ja pannakse tornid esitama Aria stseeni Portal 2 mängu lõpus. Kui tornid on lõpetatud, sulguvad need ja ootavad käsku või kedagi, kes neid äratab.

Vestlusrežiim - selle valiku valimisel kuvatakse ekraan „Vestlusrežiim” ja käivitatakse vestlusjada. Kui tornid on lõpetatud, sulguvad nad ja ootavad käsku või kedagi, kes neid äratab.

Käsirežiim - selle valiku valimisel kuvatakse ekraan „Käsirežiim“, süttib LED -valgusdiood „Käsitsi“ja lubatakse turniire käsitsi juhtida. Juhtkangi juhtimine pigi ja pöörde vahel. Nupu „X” vajutamine aktiveerib tulistamisjärjestuse. Nupu „T” vajutamine paneb nad „rääkima”, kus tornid räägivad oma raamatukogust juhuslikku ütlust.

Vajutades nuppu <või tagasi, tühistate need kolm režiimi, sulgete turneed ja naasete peamenüüsse.

Kui soovite näha oma turniiriparve ühenduse olekut (praegu piiratud 3 -ga), vajutage peamenüüs nuppu „T”. Teid suunatakse ekraanile „torni olek”, kus näete iga torni ühenduse olekut.

Ekraanil “tornitase” näete iga torni olekut.

  • Valmis - juhtimiseks valmis
  • Hõivatud - torn on hõivatud kellegi poole “hoolitsemisega”
  • Pole saadaval - MTC ei saa selle torniga ühendust luua

Peamenüüsse naasmiseks vajutage nuppu <.

8. samm: koodi kohandamine

Koodi kohandamine
Koodi kohandamine

Siin näidatud ekraanipilt näitab, mida ma liiga kaua vahtisin … 4 visandit korraga! Kes ütles, et silumine pole lõbus!

Kood pakub ülaltoodud juhtelemente ja valikuid, aga kuidas on koodi kohandamisega?

Muidugi! Kuid siin toimub üsna palju, nii et siin on mõned juhised või näpunäited.

Vihje 1 - vestluse jada muutmine. See muudatus toimub torni koodis.

Püüdsin välja mõelda viisi, kuidas kood enda jaoks tööle panna, kus iganes võimalik. Vestlusjärjestuse redigeeritavamaks muutmine (kas see on sõna?), Et saaksin loole keskenduda, võttis rohkem tööd, kuid hõlbustab hiljem kohandamist.

Vestlusjärjestuse muutmist pakutava kodeerimisstruktuuri abil saab teha üsna lihtsalt, kui järgite koodis kasutatud meetodit. Kasutades kaasasolevaid helifaile, peate Portal 2 mängust muutma ainult (chatSayings ) tabelit.

Valige ütlus tavalise või vigaste tornide kohta. See ütlus on mp3 -fail, mille identifitseerib “00XX -”, millele järgneb ütlust kirjeldav tekst. See on number, mis on oluline osa. Torn # 1 kasutaks tabelis seda XX väärtust. Torn nr 2 eeldaks XX väärtusele numbri „1” ja torn nr 3 eeldaks XX väärtust numbriga „2”. Näiteks kui valisite ütluse „0040 - vabandust” ja soovite, et torn nr 3 seda ütleks, sisestaksite tabelisse „240” õiges järjekorras. Kui torn nr 1 seda ütleks, sisestaksite tabelisse „40”.

Tehke sama järgmise avaldise puhul jne. See võib olla paar väljendit tornide vahel või üsna palju. (Ma ei ole teadlik selle meetodi piirangutest, välja arvatud mälu).

Te ei pea teiste tabelite väärtusi muutma, kuna need on ajad, mis vastavad tabeli ütlustele. Ainus muud muudetav rida on umbes 520.

if (i> = 43) {// jada lõpp

Siin tuleks i väärtuseks määrata vestluse ütluste arv tabelis chatSayings.

Täielikult kohandatud ütluste tegemiseks (kus algab tõeline lõbu!), Peate seadistama väljendid nummerdatud failides ja teadma faili esitamiseks kuluvat aega. Salvestage fail SD -kaardi juurkataloogi kausta „mp3”, kasutades neljakohalist meetodit („0001”, „0002” jne). Seejärel registreerige faili esitamiseks kuluv aeg millisekundites. Sisestage need väärtused vastavasse tabelisse.

Nii et avaldise jaoks, mis on salvestatud nimega „0037 - [teie avaldis]” ja mille esitamiseks kulub 5400 millisekundit, paneksite tabeli chatSayings sobivasse kohta (37 ja lisage eesliide sõltuvalt sellest, milline torn ütleb) it) ja 5400 tabelis NormaTimings samas kohas (näiteks iga tabeli 5. üksus).

Nüüd, kui väärtust „i” suurendatakse, mängib kood 0037 5400 millisekundit.

Pange tähele, et olen lisanud muutuja "timeadder", mis lisab mängimise ajal igale ütlemisele veidi lisaaega. See annab ütluste vahel väikese vahemaa, et need ei kattuks.

Selle meetodi ilu seisneb selles, et täidetud tabelid on igas tornis täpselt samad! Neid tabeleid pole vaja iga torni jaoks kohandada. Teil on vaja ainult üks tabel sorteerida ja kood arvutab sama tabeli põhjal välja, mida iga torn ütleb.

See tähendab, et saate kodeerimise asemel keskenduda skriptide kirjutamisele!

Kui kellelgi on parem viis seda teha, tahaksin seda kuulda !!

9. samm: kokkuvõte

Kokkuvõte
Kokkuvõte

Nii et see võttis rohkem aega kui ma arvasin, kuid ma olen tulemusest pigem kõditatud. Mõned vestlusrutiinid ajavad mind siiani naerma!

Mulle meeldiks kuulda teisi meetodeid, kuidas teha oma koodides tehtud asju. Olen kindel, et on sektsioone, mida saab ümber kirjutada ja mis kasutavad vähem mälu, võimaldades rohkem funktsioone või valikuid.

Mulle meeldiks näha ka teisi ideid, mis on kaasatud MTC -sse ja turniiride juhtimist!

Loodan, et olen pakkunud platvormi teistele disaineritele ja kodeerijatele kasutamiseks / varastamiseks / õppimiseks. Nägin, et seda kasutatakse, et aidata inimestel kodeerimist õppida. Eemaldage osa MTC -st ja/või tornist, näiteks "Käsirežiim", ja laske õpilastel välja töötada oma viis käsitsi juhtimiseks!

Olen sellest kogukonnast ja laiemast veebist üldiselt palju õppinud. Ma olen siiani hämmastunud, kui paljud inimesed kulutavad aega asjade selgitamisele ja maailmale jagamisele. Arvan, et peaksin õpitu võtma, seda rakendama ja siis ka teiega jagama!

Palju õnne ja nautige oma tornide armee ehitamist!

Soovitan: