Satura rādītājs:

Portāla 2 tornītis - galvenā tornīšu vadība: 9 soļi (ar attēliem)
Portāla 2 tornītis - galvenā tornīšu vadība: 9 soļi (ar attēliem)

Video: Portāla 2 tornītis - galvenā tornīšu vadība: 9 soļi (ar attēliem)

Video: Portāla 2 tornītis - galvenā tornīšu vadība: 9 soļi (ar attēliem)
Video: Дали трёхмоторный параплан ► 2 Прохождение The Legend of Zelda: Breath of the Wild (Nintendo Wii U) 2024, Jūlijs
Anonim
Image
Image

Šis projekts ir paplašinājums vai remikss manam oriģinālajam portāla tornītim par instrukcijām (Portal-2-Turret-Gun). To var izmantot arī kā lētu kontrolieri, lai kontrolētu jebko, kas izmanto radio mikroshēmu nRF24L01. LCD ekrāns ir īpaši noderīgs, pielāgojot.

(Izrādās, ka tas ir diezgan noderīgi, pārbaudot, kad radioaparāti izveido un zaudē savienojumus ar citiem tīkla “nRF24L01”. Es varu staigāt apkārt un skatīties, kā displeja ekrāns parāda radio savienojuma statusu! Diezgan noderīgi, lai pielāgotu iestatījumus un pārbaudītu diapazons!)

Pēc tam, kad biju pabeidzis portāla tornīti, portāla 2 beigās es ieraudzīju īsu videoklipu par Cara Mia operas ainu. Es domāju: “hei, es tagad esmu uzcēlis dažus torņus. ES varu to izdarīt! Nu, man bija turrets, bet, lai tas darbotos, viņiem tagad vajadzēs sazināties savā starpā vai ar kādu citu ierīci. Pārdomājis un domājis, ka arī manuāla vadība būtu forša, es galu galā nolēmu, ka būvēšu Master Turret Controller jeb MTC.

Labi, tad kā rīkoties šajā jautājumā? Nu, es negribēju pārāk daudz mainīt tornīšus, tāpēc tas bija ierobežojums. Man bija dažas nRF24L01 radio mikroshēmas, kuras es vēl nebiju izmantojis, un es domāju, ka tas atbilstu manam mērķim izmantot lētas sastāvdaļas un paļauties uz mehānisko dizainu un kodu, lai veiktu šo darbu. Man vajadzēja izveidot kontrolieri un sāku domāt, ko kontrolieris saturēs un ko tieši es varētu darīt ar torņiem. Cara Mia jau bija dienas kārtībā, bet kas vēl?

Manuālā vadība: Tātad, kad spārni ir atvērti, es gribētu kontrolēt piķi un šarnīru. 2 asis = kursorsvira, tātad kursorsviras vadība un dažas spiedpogas. Nospiežot pogu 1, tiktu izšauts tornītis, un varbūt spiedpoga 2 liktu tai pateikt vienu no saviem teicieniem. Izklausās labi! Pietiekami vienkārši…

Tērzēšana: Nesen es atkal redzēju “Kas pirmais” - Abota un Kostello rutīnu, un galvā iedegās gaisma! Es arī izveidotu skices komēdijas rutīnu, izmantojot visus teicienus, izmantojot vairākus torņus! Labi, šis nebija pilnībā izdomāts, bet esmu pārliecināts, ka es to sakārtošu, tiklīdz būvēšana būs uzsākta.

Es arī vēlējos, lai šis MTC būtu bezvadu, tāpēc es izvēlējos vienkāršu opciju, kas darbojas ar 9 V baterijām, un izveidoju kontrolieri, lai to darbinātu ar mini-USB spraudni caur Nano aizmugurē. Noderīga arī atjaunināšanai.

1. solis: radio iekļaušana tornī

Vispirms es saņēmu radio, kas darbojās ar dažiem tukšiem Nanos, lai pārliecinātos, ka varu to darboties, un nosūtīt informāciju starp vairākām ierīcēm. Kad tas tika izdarīts, radio bija jāiekļauj esošajos torņos. Hmm, fiziskā PCB pievienošana tornī bija diezgan vienkārša. Es tikko pārveidoju mikroshēmas turētāju, iekļaujot tajā nRF24L01, Nano un mp3 mikroshēmu. Labi. Viena fiziska daļa modificēta, ar dažiem vadiem.

Modificētais mikroshēmas turētājs jau ir daļa no torņa drukātajām daļām. Es tikko izdzēsu opciju, kas nav radio, no šīs būves drukātajām daļām. Nav nozīmes, ja kāds vēlas izveidot variantu, kas nav radio. Vienkārši neiekļaujiet radio mikroshēmu nRF24L01.

2. solis: Tornīšu (pār) vadu savienošana

Turrets elektroinstalācija
Turrets elektroinstalācija
Turrets elektroinstalācija
Turrets elektroinstalācija
Turrets elektroinstalācija
Turrets elektroinstalācija
Turrets elektroinstalācija
Turrets elektroinstalācija

Ak, vai…

Tas neizskatījās labi. Man vajadzēja pievienot 5 savienojumus Nano, un man jau bija maz pieejamās tapas. Mazliet izpētījis šo jautājumu, es sapratu, kuriem savienojumiem ir prioritāte, un sapratu, ka, lai veiktu šo darbu, man būs jāpārveido lielākā daļa esošo Nano savienojumu.

Tiem, kas vēlas izveidot “Radio tornīti” un jau ir uzbūvējuši iepriekšējo paaudzi… Atvainojiet…

Tagad es esmu izdarījis šīs izmaiņas dažas reizes, un izrādās, ka process nav pārāk slikts. Tas ietver atgriešanos, bet es varēju atsaukt esošos savienojumus ar Nano un pēc tam bez liekām bēdām atkal izveidot savienojumu ar atbilstošajām tapām. Es pievienoju 7 vadus radio mikroshēmai pie nRF24L01 (5 comm vadi, 3v un GND), pēc tam pievienoju pārējos galus Nano.

Tomēr tagad tur ir vairāk vadu, tāpēc ir daudz svarīgāk sakārtot lietas, vadot vadus.

SVARĪGI: saliekot, pārliecinieties, ka vadi nespiež uz tāfeles Nano atiestatīšanas pogas !! Tas notika ar mani vienā un iemeta mani par nevajadzīgu cilpu!

Tātad torņa konstrukcijai tagad ir 2 elektroinstalācijas shēmas: vecā mantotā opcija “bez radio” un pārskatītā “radio tornītis”. Ja šodien būvētu “neradio” torni, es joprojām izmantotu radio shēmu un kodu. Vienkārši izdzēsiet vai komentējiet radio daļas, ja tas ir izvēlētais maršruts vai nē. Tornim joprojām vajadzētu darboties pašam bez radio.

3. darbība: MTC elektriskie komponenti

MTC elektriskie komponenti
MTC elektriskie komponenti
MTC elektriskie komponenti
MTC elektriskie komponenti
MTC elektriskie komponenti
MTC elektriskie komponenti

Kad turrets bija sakārtots, bija pienācis laiks izveidot MTC.

MTC izmanto šādus komponentus, kas ir iegūti, izmantojot Amazon, Baggood vai Ali Express uc pagaidiet 2+ nedēļas, lai saprastu, kas man vajadzīgs, pirms es varētu sākt mehānisko dizainu!)

  • Arduino Nano 0,96”LCD, (SSD1306) Es izmantoju zilo/dzelteno versiju
  • Mazā kursorsvira (HW-504) 5V PS kursorsviras modulis
  • Pārslēgšanas slēdzis (dx-004) 22 mm * 13 mm
  • Radio - (nRF24L01)
  • 12 mm spiedpogas (CLT1088 krāsainām pogām, PBS-33B melnai)
  • 2 mm skrūves (M2 pašvītņojošo skrūvju komplekts, krustveida piedziņas galvas komplekts)
  • 5 mm gaismas diodes pēc jūsu izvēles indikatoriem. (Nelietojiet spilgtas gaismas diodes!)
  • Vispārējs 9V akumulatora savienotājs ar pigtailiem
  • 9 V akumulators (izmantojiet labu, nevis vienu no dolāru veikalu šķirnēm, kas ne vienmēr var nodrošināt pietiekami daudz enerģijas šiem projektiem!)
  • Es izmantoju silikona apvalku. Man patīk to izmantot šiem projektiem.

Sākotnēji es izmantoju dažas spilgtas gaismas diodes, bet atklāju, ka tās ir pārāk labas. Viņi mani apžilbināja! Es beidzot izmantoju dažas vecas, vājas gaismas diodes, un tam bija lielāka jēga šai lietojumprogrammai.

4. solis: 3D drukātās detaļas

3D drukātas detaļas
3D drukātas detaļas
3D drukātas detaļas
3D drukātas detaļas
3D drukātas detaļas
3D drukātas detaļas

Es izstrādāju MTC, izmantojot Fusion, līdzīgi kā es izveidoju torņa dizainu.

Drukātajam komplektam ir nepieciešamas tikai 3 daļas:

  • Augšējais panelis (1. vai 2. versija)
  • Apakšējais korpuss
  • LCD siksna

NRF mikroshēma, Nano, 9 V akumulators, pārslēgšanas slēdzis un gaismas diodes ir uzstādīti augšējā plāksnē bez stiprinājumiem. Gaismas diodes vienkārši iespiež plāksni un tiek turētas ar cilnēm. Viņiem vajadzētu vienkārši iesprūst, bet nepārspīlēt. Augšējā plāksne ir paredzēta Nano fiksēšanai, un nRF mikroshēmai vajadzētu viegli ieiet. Uzmanīgi ar nRF mazo cilni; tas ir mazs un ir saliekts atpakaļ, lai atvērtu, un atlaists, lai notvertu mikroshēmu. Lai gan ceļojums ir ierobežots, esiet maigs šeit.

Kursorsvirai un LCD ir nepieciešamas 2 mm skrūves (5 mm garas), lai tās turētu pie augšējās plāksnes. Kursorsviras PCB ir lieli caurumi, tāpēc es jutu, ka man ir vajadzīgas mazas paplāksnes, lai pārliecinātos, ka skrūves neizvelk cauri.

Es atklāju, ka PCB LCD ekrāni ir nedaudz atšķirīgi atkarībā no ražotāja, tāpēc es izvēlējos izmantot vienkāršu siksnu, lai to noturētu vietā, nevis fiksatorus vai āķus.

Ņemiet vērā, ka šķidro kristālu displeju var fiziski uzstādīt augšējā plāksnē jebkurā veidā, bet displejs pilnībā parādās tikai caur atveri vienā virzienā! Šī iemesla dēļ, izmantojot sadalīto dzelteno/zilo ekrānu, esmu iekļāvis otrās augšējās plāksnes opciju. Vienā versijā augšpusē ir dzeltenā krāsa, bet otrā apakšā būs redzama dzeltenā krāsa, kā parādīts manos fotoattēlos.

Vienkrāsas LCD versijai nav nozīmes, kuru no tām izmantot, jo displeju var pagriezt, izmantojot programmatūru.

Tā kā visa elektroinstalācija tiek veikta uz augšējās plāksnes, apakšā faktiski ir tikai pārsegs, kas tiek turēts pie augšējās plāksnes ar garākām 2 mm skrūvēm (daudzums: 4).

“Akumulatora durvju” opcijas vietā es vienkārši ievietoju akumulatoru augšējā plāksnē. Tas nozīmē noņemt 4 skrūves, kas tur apakšējo daļu uz augšu, lai nomainītu akumulatoru, bet tā kā to var darbināt arī ar USB kabeli, nevis pasaules galu. Augšējā plāksne ir izgatavota ar 9 V akumulatora turētāja sistēmu, kurai jābūt pietiekami izturīgai atkārtotai lietošanai, nav pārāk sarežģīta, bet neļauj akumulatoram pārvietoties.

Es drukāju augšējo plāksni 2 krāsās, kā redzams fotoattēlos. Es izmantoju Prusa i3 Mk2 bez vairāku krāsu opcijas, bet izmantoju to krāsu drukas rīku (https://www.prusaprinters.org/color-print/), lai procesa laikā mainītu krāsu. Pārbaudiet slāni, kurā teksts apstājas un kļūst ciets, un izveidojiet pārejas slāni. Voila! Krāsains teksts!

Es drukāju detaļas 0,35 mm slāņa augstumā, jo šīm plakanām detaļām nav nepieciešama smalkāka izšķirtspēja. Es arī dodu priekšroku tam, kā tas izskatās šajā rezolūcijā. Ak, un tas arī izdrukā diezgan ātri!

5. solis: Elektriskā montāža

Elektriskā montāža
Elektriskā montāža
Elektriskā montāža
Elektriskā montāža
Elektriskā montāža
Elektriskā montāža
Elektriskā montāža
Elektriskā montāža

Visas elektriskās sastāvdaļas ir uzstādītas augšējās plāksnes apakšpusē, un visas elektroinstalācijas tiek veiktas kopā. Vispirms ir jāuzstāda spiedpogas un pārslēgs, un LCD, Nano, kursorsviru un nRF radio var iepriekš pieslēgt vadiem, pirms tie tiek uzstādīti augšējā plāksnē. Es iesaku šo atsevišķu komponentu iepriekšējas pieslēgšanas metodi, pēc tam veicot galīgos savienojumus ar Nano. Es arī iesaku vispirms augšupielādēt skici tukšā Nano, pirms pabeigt elektroinstalāciju.

Nav nekas vairāk apmierinošs kā ieslēgt ierīci un noskatīties, kā tā tiek atdzīvināta, kā gaidīts!

Vienīgā nepieciešamā elektriskās daļas sagatavošana bija noņemt galvenes tapas no kursorsviras, lai tā ietilptu zem augšējās plāksnes. LCD ekrānu var iegādāties ar uzstādītām tapām vai bez tām, un tas darbosies jebkurā veidā. Nano jāizvēlas bez galvenes tapām.

6. darbība: kods

MTC, sarkanā tornīša, baltā tornīša un zilā tornīša kods tagad ir pieejams

Nu, šī bija pieredze kodēšanā! Man tornītis strādāja patstāvīgi, bet radio iekļaušana bija grūtāka, nekā es sākotnēji domāju! Man arī bija jautri, lai sadaļa “Tērzēšana” darbotos pēc vēlēšanās (vairāk par to vēlāk).

MTC kods, kad tas ir pilnībā noskaidrots, sāka aplikt ar nodokli Nano atmiņas ierobežojumus! Man bija jāveic korekcijas un jāsamazina kods, lai atmiņa būtu efektīvāka. Vēl viena laba mācīšanās pieredze.

Šajā būvē esmu iekļāvis atbilstošo kodu “radio tornis radio”, jo tie darbojas kopā. Izveidojot radio opciju tornīti atbilstoši Torņa uzbūves lapai, tas būs gatavs lietošanai kopā ar MTC vai citu jūsu nRF24L01 vadības metodi.

Turklāt, lai skaņas sāktu strādāt ar šo kodu, bija vajadzīgs zināms laiks, un, tā kā skaņas tika ņemtas no citām publiski pieejamām vietnēm, es iekļāvu visas skaņas tā, kā esmu tās izmantojis pāris ZIP failos; viens parastam tornītim un viens defektīvam tornītim. Labais jums, dārgais lasītāj, ir tas, ka varat izmantot skaņas SD kartēs ar kodiem, kā rakstīts, un jums būs labi iet!

7. solis: MTC izvēlne - navigācija

MTC izvēlne - navigācija
MTC izvēlne - navigācija
MTC izvēlne - navigācija
MTC izvēlne - navigācija
MTC izvēlne - navigācija
MTC izvēlne - navigācija

MTC kods sākas ar pielāgotu ekrānu, pēc tam pārbauda torņu statusu. Ja nav turrets, tas vienkārši sēdēs, līdz turrets savienojas!

Ja ir pievienots vismaz viens tornītis, tiks parādīta galvenā izvēlne un iedegsies gaismas diode “Gatavs”, ja vien torņi nav pārtraukti vai ja viņi ir “aizņemti ar kādu”. Ja viņi ir aizņemti, tiks parādīts ekrāns “Turrets are aizņemts” un iedegsies LED “Aizņemts”.

Visiem aktīvi savienotajiem tornīšiem jābūt gatavā režīmā, lai MTC varētu kontrolēt torņus.

Izmantojiet kursorsviru (uz augšu un uz leju), lai pārvietotos pa izvēlnes iespējām:

  • Ārija
  • Tērzēšana
  • Rokasgrāmata

Izvēlieties vajadzīgo opciju, izmantojot pogu “X” vai nospiežot kursorsviru.

Ārijas režīms - izvēloties šo opciju, tiks parādīts ekrāns “Ārijas režīms” un liks tornīšiem izpildīt ārijas ainu Portāla 2 spēles beigās. Kad torņi būs pabeigti, tie tiks aizvērti un gaidīs komandu vai kādu, kas viņus pamodinās.

Tērzēšanas režīms - izvēloties šo opciju, tiks parādīts ekrāns “Tērzēšanas režīms” un sāksies tērzēšanas secība. Kad torņi būs pabeigti, tie tiks aizvērti un gaidīs komandu vai kādu, kas viņus pamodinās.

Manuālais režīms - izvēloties šo opciju, tiks parādīts ekrāns “Manuālais režīms”, iedegsies “Manuālā” gaismas diode un ļaus manuāli vadīt tornīšus. Kursorsviru slīpuma un pagrieziena kontrole. Nospiežot pogu “X”, tiks aktivizēta šaušanas secība. Nospiežot pogu “T”, viņi liks “runāt”, kur tornīši runā nejaušu teicienu no savas bibliotēkas.

Nospiežot pogu <vai atpakaļ, šie trīs režīmi tiks atcelti, aizvērti torņi un atgriezīsies galvenajā izvēlnē.

Ja vēlaties redzēt sava tornīša pulka savienojuma statusu (pašlaik ierobežots līdz 3), galvenajā izvēlnē nospiediet pogu “T”. Jūs tiksit novirzīts uz ekrānu “tornīšu statuss”, kur varēsit redzēt katra torņa savienojuma statusu.

Ekrānā “tornīšu statuss” redzēsit katra torņa statusu.

  • Gatavs - gatavs kontrolei
  • Aizņemts - tornītis ir aizņemts, “rūpējoties” par kādu
  • Nav pieejams - MTC nevar izveidot savienojumu ar šo tornīti

Nospiediet pogu <, lai atgrieztos galvenajā izvēlnē.

8. darbība: koda pielāgošana

Koda pielāgošana
Koda pielāgošana

Šeit redzamais ekrānuzņēmums parāda to, uz ko es skatījos pārāk ilgi … 4 skices vienlaikus! Kurš teica, ka atkļūdošana nav jautra!

Kods nodrošina iepriekš parādīto vadību un opcijas, bet kā ir ar koda pielāgošanu?

Protams! Bet šeit notiek diezgan daudz, tāpēc šeit ir dažas vadlīnijas vai padomi.

Padoms1 - “Tērzēšanas” secības maiņa. Šī modifikācija notiek tornīšu kodā.

Es mēģināju izdomāt veidu, kā panākt, lai kods darbotos manā vietā, kur vien iespējams. Tērzēšanas secības labāka rediģēšana (vai tas ir vārds?), Lai es varētu koncentrēties uz stāstu, prasīja vairāk darba, taču pēc tam to ir vieglāk pielāgot.

Tērzēšanas secības maiņu, izmantojot piedāvāto kodēšanas struktūru, var izdarīt diezgan vienkārši, ja ievērojat kodā izmantoto metodi. Izmantojot piedāvātos skaņas failus no spēles Portal 2, jums būs jāmaina tikai (chatSayings ) tabula.

Atlasiet teicienu parastajam tornītim vai bojātajam tornītim. Teiciens ir mp3 fails, kas tiek apzīmēts ar “00XX -”, kam seko teikumu aprakstošs teksts. Tas ir skaitlis, kas ir svarīga daļa. 1. tornītis izmantotu šo XX vērtību tabulā. Tornim Nr. 2 būtu jānovirza XX vērtība ar “1”, bet tornītim Nr. 3 - “XX” ar “2”. Tā, piemēram, ja jūs izvēlētos teicienu “0040 - atvainojiet” un gribētu, lai tornītis # 3 to pateiktu, tabulā ievietojiet “240” pareizā secībā. Ja tornītis # 1 to teiktu, jūs tabulā ievietojat “40”.

Dariet to pašu ar nākamo izteiksmi utt. Tas varētu būt daži izteicieni starp torņiem vai diezgan daudz. (Es nezinu par šīs metodes ierobežojumiem, izņemot atmiņu).

Jums nav jāmaina citu tabulu vērtības, jo tās ir laiks, kas atbilst tabulas teikumam. Vienīgā maināmā līnija ir ap 520. līniju.

ja (i> = 43) {// secības beigas

I vērtība šeit būtu jāiestata uz teicienu skaitu chatSayings tabulā.

Lai teiktu pilnīgi pielāgotus teicienus (kur sākas īstā jautrība!), Jums ir jāiestata izteiksmes numurētos failos un jāzina faila atskaņošanai nepieciešamais laiks. Saglabājiet failu SD kartes saknes direktorija mapē “mp3”, izmantojot četrciparu metodi (“0001”, “0002” utt.). Pēc tam reģistrējiet laiku milisekundēs, kas nepieciešams šī faila atskaņošanai. Ievietojiet šīs vērtības attiecīgajā tabulā.

Tātad izteiksmei, kas saglabāta kā “0037 - [jūsu izteiksme]”, kuras atskaņošanai nepieciešamas 5400 milisekundes, jūs ievietojat “37” tabulā chatSayings atbilstošajā vietā (un pievienojiet prefiksu atkarībā no tā, kurš tornītis saka) it) un 5400 tabulā NormaTimings tajā pašā vietā (piemēram, 5. tabula katrā tabulā).

Tagad, kad tiek palielināta “i” vērtība, kods atskaņos 0037 5400 milisekundēs.

Ņemiet vērā, ka esmu pievienojis mainīgo “timeadder”, kas katram teicienam spēles laikā piešķir nedaudz vairāk laika. Tas dod nelielu attālumu starp teicieniem, lai tie, šķiet, nepārklājas.

Šīs metodes skaistums ir tas, ka aizpildītās tabulas katrā tornī ir tieši tādas pašas! Šīs tabulas nav jāpielāgo katram tornītim. Jums ir jāsakārto tikai viena tabula, un kodā, pamatojoties uz to pašu tabulu, tiek noskaidrots, ko katrs tornītis saka.

Tas nozīmē, ka jūs varat koncentrēties uz skriptu rakstīšanu, nevis kodēšanu!

Ja kādam ir labāks veids, kā to izdarīt, es labprāt to dzirdētu !!

9. darbība. Kopsavilkums

Kopsavilkums
Kopsavilkums

Tātad tas aizņēma vairāk laika, nekā es domāju, bet mani drīzāk kutina rezultāts. Dažas tērzēšanas kārtības joprojām liek man smieties!

Es labprāt dzirdētu citas metodes, kā darīt lietas, ko darīju savā kodā. Esmu pārliecināts, ka ir sadaļas, kuras varētu pārrakstīt un izmantot mazāk atmiņas, ļaujot iegūt vairāk funkciju vai iespēju.

Es arī labprāt redzētu citas idejas, kas iekļautas MTC un torņu kontrolē!

Es ceru, ka esmu nodrošinājis platformu citiem dizaineriem un kodētājiem, lai tos izmantotu / zagtu / mācītos. Es redzēju, ka tas tiek izmantots, lai palīdzētu cilvēkiem iemācīties kodēt. Noņemiet sadaļu no MTC un/vai tornīša, piemēram, "Manuālais režīms", un mudiniet studentus izstrādāt savu veidu, kā iekļaut manuālo vadību!

Esmu daudz mācījies no šīs kopienas un plašāka tīmekļa kopumā. Es joprojām esmu pārsteigts, cik daudz cilvēku pavada laiku, lai noskaidrotu lietas un dalītos tajās ar visu pasauli. Es domāju, ka man vajadzētu apgūt apgūto, pielietot to un pēc tam dalīties tajā ar jums!

Lai veicas un izklaidējieties, veidojot savu tornīšu armiju!

Ieteicams: