Sisällysluettelo:
- Vaihe 1: Radion sisällyttäminen torneihin
- Vaihe 2: Turrettien (uudelleen) johdotus
- Vaihe 3: MTC -sähkökomponentit
- Vaihe 4: 3D -tulostetut osat
- Vaihe 5: Sähköasennus
- Vaihe 6: Koodi
- Vaihe 7: MTC -valikko - navigointi
- Vaihe 8: Koodin mukauttaminen
- Vaihe 9: Yhteenveto
Video: Portaali 2 Turret - Master Torret Control: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämä projekti on jatkoa tai remix alkuperäiselle Portal Turret on Instructables (Portal-2-Turret-Gun). Sitä voidaan käyttää myös halvalla ohjaimena ohjaamaan kaikkea, mikä käyttää nRF24L01 -radiosirua. LCD -näyttö on erityisen hyödyllinen mukautettaessa.
(Se osoittautuu varsin hyödylliseksi tarkistettaessa, milloin radioni muodostavat ja menettävät yhteytensä muiden "verkon" nRF24L01 -laitteiden kanssa. Voin kävellä ja katsella, kuinka näyttöruutu näyttää radioiden yhteyden tilan! Erittäin hyödyllinen asetusten säätämisessä ja tarkistamisessa valikoima!)
Kun olin suorittanut portaalitornin, näin lyhyen videoleikkeen Cara Mia -ooppera -kohtauksesta portaalin 2 lopussa. Ajattelin:”Hei, olen rakentanut nyt muutaman torni. Voin tehdä sen! No, minulla oli torneja, mutta jotta se toimisi, heidän olisi nyt kommunikoitava keskenään tai jonkin muun laitteen kanssa. Harkittuani sitä ja ajatellessani, että myös manuaalinen ohjaus olisi hienoa, päätin lopulta rakentaa Master Turret Controllerin tai MTC: n.
Ok, niin miten tästä eteenpäin? No, en halunnut muuttaa torneja liikaa, joten se oli rajoite. Minulla oli joitain nRF24L01 -radiosiruja, joita en ollut vielä käyttänyt, ja ajattelin, että ne olisivat linjassa tavoitteeni kanssa käyttää halpoja komponentteja ja luottaa mekaaniseen suunnitteluun ja koodiin tämän työn tekemiseksi. Minun oli rakennettava ohjain ja aloin pohtia, mitä ohjain sisältäisi ja mitä voisin tehdä torneille. Cara Mia oli jo esityslistalla, mutta mitä muuta?
Manuaalinen ohjaus: Joten kun siivet ovat auki, haluaisin hallita nousua ja niveltä. 2 akselia = ohjaussauva, joten ohjaussauvan ohjaus ja jotkut painikkeet. Painonappi 1 laukaisi tornin, ja ehkä painike 2 saisi sen sanomaan yhden sanoistaan. Kuulostaa hyvältä! Tarpeeksi yksinkertainen…
Chat: Näin äskettäin "Kuka on ensin" - Abbottin ja Costellon rutiinit, ja päässäni syttyi valo! Tekisin myös luonnoskomediarutiinin käyttämällä kaikkia sanontoja käyttäen useita torneja !! Ok, tämä ei ollut täysin selvillä, mutta olen varma, että saan sen lajiteltua, kun rakennukseni on käynnissä.
Halusin myös, että tämä MTC on langaton, joten valitsin yksinkertaisen 9 V: n paristokäyttöisen vaihtoehdon ja suunnittelin ohjaimen toimimaan mini-USB-pistokkeella takana olevan Nanon kautta. Hyödyllinen myös päivitykseen.
Vaihe 1: Radion sisällyttäminen torneihin
Sain ensin radion toimimaan muutaman paljaan nanon kanssa varmistaakseni, että voin saada sen toimimaan ja lähettämään tietoja useiden laitteiden välillä. Kun tämä oli tehty, oli kyse radion sisällyttämisestä olemassa oleviin torneihin. Fyysisen PCB: n lisääminen torniin oli melko helppoa. Muokkasin juuri sirunpidintä sisältämään nRF24L01, Nano ja mp3 -siru. Ok. Yksi fyysinen osa muutettu, johdotuksella.
Muutettu sirunpidin on jo osa tornin painettuja osia. Poistin juuri ei-radio-vaihtoehdon kyseisen rakenteen painetuista osista. Ei ole väliä, jos joku haluaa rakentaa ei-radio-version. Älä vain sisällytä nRF24L01 -radio -sirua.
Vaihe 2: Turrettien (uudelleen) johdotus
Voi ei…
Tämä ei näyttänyt hyvältä. Minun oli lisättävä 5 liitäntää nanoon, ja käytettävissä olevat nastat olivat jo vähissä. Tutkittuani tätä hieman, tajusin, mitkä yhteydet olivat etusijalla, ja huomasin, että tämän työn tekemiseksi minun on uusittava suurin osa olemassa olevista Nano -yhteyksistä.
Niille, jotka haluavat tehdä radiotornin ja ovat jo rakentaneet edellisen sukupolven… Anteeksi…
Nyt olen tehnyt tämän muutoksen muutaman kerran ja käy ilmi, että prosessi ei ole liian huono. Se edellyttää palaamista sisään, mutta pystyin kumoamaan olemassa olevat yhteydet nanoon ja muodostamaan sitten yhteyden asianmukaisiin nastoihin ilman liikaa surua. Lisäsin radiokaapelin 7 johtoa nRF24L01: een (5 kommunikaatiojohtoa, 3v ja GND) ja sitten muut päät Nanoon.
Nyt siellä on kuitenkin enemmän johtoja, joten on paljon tärkeämpää pitää asiat siistinä johtoja reititettäessä.
TÄRKEÄÄ: Varmista kokoamisen aikana, että johdot eivät paina levyn Nano -nollauspainiketta !! Se tapahtui minulle yhdessä ja heitti minut turhaan silmukkaan!
Joten tornirakenteessa on nyt kaksi kytkentäkaaviota: vanha "ei-radio" -vaihtoehto ja tarkistettu "radio-torni" -vaihtoehto. Jos rakentaisin "ei-radio" tornia tänään, käyttäisin edelleen radion kaaviota ja koodia. Poista tai kommentoi radio -osia, jos se on valittu reitti tai ei. Tornin pitäisi silti toimia itsenäisesti ilman radiota.
Vaihe 3: MTC -sähkökomponentit
Kun torneja oli selvitetty, oli aika tehdä MTC.
MTC käyttää seuraavia komponentteja. odota yli 2 viikkoa, jotta saan käsiini tarvitsemani, ennen kuin voin aloittaa mekaanisen suunnittelun!)
- Arduino Nano 0,96”LCD, (SSD1306) Käytin sinistä/keltaista versiota
- Pieni ohjaussauva (HW-504) 5 V PS -ohjaussauva
- Vaihtokytkin (dx-004) 22mm * 13mm
- Radio - (nRF24L01)
- 12 mm: n painikkeet (CLT1088 värillisille painikkeille, PBS-33B musta)
- 2 mm: n ruuvit (M2 -itsekierteittävät ruuvisarjat, ristipäävetolaatikon valikoima)
- Valitsemasi 5 mm: n LEDit ilmaisimille. (Älä käytä kirkkaita LED -valoja !!)
- Yleinen 9 V: n akkuliitin, jossa on letit
- 9 V: n akku (käytä hyvää, ei yhtä dollarin myymälälajikkeista, jotka eivät aina pysty toimittamaan tarpeeksi virtaa näihin projekteihin!)
- Käytin silikonipäällysteistä lankaa. Tykkään käyttää sitä näihin projekteihin.
Käytin alun perin kirkkaita LED -valoja, mutta huomasin, että ne olivat liian hyviä. He sokeuttivat minua! Päädyin käyttämään vanhoja, heikkoja LED -valoja, ja se oli järkevämpää tälle sovellukselle.
Vaihe 4: 3D -tulostetut osat
Suunnittelin MTC: n Fusionilla, samalla tavalla kuin tornin suunnittelun.
Painettu kokoonpano vaatii vain 3 osaa:
- Yläpaneeli (versio 1 tai 2)
- Kotelon pohja
- LCD -hihna
NRF -siru, Nano, 9 V: n akku, vaihtokytkin ja LEDit asennetaan ylälevyyn ilman kiinnikkeitä. LEDit vain painavat levyä ja pysyvät paikallaan kielekkeillä. Heidän pitäisi vain napsahtaa sisään, mutta älä liioittele sitä. Ylälevy on suunniteltu pitämään Nano kiinni, ja nRF-sirun tulee mennä sisään varovasti. Ole varovainen pienen nRF -välilehden kanssa; se on pieni ja taivutettu takaisin avautumaan ja vapautetaan sirun sieppaamiseksi. Vaikka sen matka on rajallinen, ole lempeä täällä.
Ohjaussauva ja LCD -näyttö tarvitsevat 2 mm: n (5 mm: n pituiset) ruuvit pitääkseen ne kiinni ylälevyyn. Ohjaussauvan piirilevyssä on suuria reikiä, joten tunsin, että tarvitsin pieniä aluslevyjä varmistaakseni, että ruuvit eivät vedä läpi.
Olen huomannut, että piirilevyjen nestekidenäytöt vaihtelevat hieman eri valmistajittain, joten päätin käyttää yksinkertaista hihnaa pitämään sen paikallaan kiinnikkeiden tai koukkujen sijasta.
Huomaa, että nestekidenäyttö voidaan asentaa fyysisesti ylälevyyn kummassakin tapauksessa, mutta näyttö näkyy kokonaan aukon läpi vain yhdessä suunnassa! Tästä syystä olen sisällyttänyt toisen ylälevyn vaihtoehdon käytettäessä jaettua keltaista/sinistä näyttöä. Toisessa versiossa on keltainen yläreunassa, ja toisessa näkyy keltainen alareunassa, kuten kuvissani näkyy.
Yksivärisessä LCD -näytössä ei ole väliä kumpaa käytetään, koska voit kääntää näytön ohjelmiston avulla.
Koska kaikki johdotukset on tehty ylälevystä, pohja on käytännössä vain kansi, jota pidetään ylälevyssä pidemmillä 2 mm: n ruuveilla (määrä: 4).
"Paristolokeron" vaihtoehdon sijaan laitoin akun juuri ylälevyyn. Tämä tarkoittaa, että irrotat 4 ruuvia, jotka pitävät pohjaa ylöspäin vaihtaaksesi pariston, mutta koska se voi saada virtaa myös USB -kaapelilla, ei maailmanloppu. Ylälevyssä on 9 V: n paristopidikejärjestelmä, jonka pitäisi olla riittävän tukeva toistuvaan käyttöön, ei ole liian monimutkainen, mutta estää akun liikkumisen.
Painin ylälevyn kahdessa värissä, kuten kuvissa näkyy. Käytän Prusa i3 Mk2 -laitetta ilman monivärivaihtoehtoa, mutta käytä niiden väritulostustyökalua (https://www.prusaprinters.org/color-print/) värin muuttamiseen osittain prosessin aikana. Tarkista taso, jonka teksti pysähtyy ja muuttuu kiinteäksi, ja tee siitä siirtymäkerros. Voila! Värillinen teksti!
Tulostin osat 0,35 mm: n kerroksen korkeudelle, koska näille litteille osille ei tarvitse tarkempaa resoluutiota. Pidän myös mieluummin tapaa, jolla se katsoo tätä päätöslauselmaa. Voi, ja se tulostaa myös melko nopeasti!
Vaihe 5: Sähköasennus
Kaikki sähkökomponentit on asennettu ylälevyn alapuolelle ja kaikki johdotukset tehdään yhdessä. Painikkeet ja kytkin on asennettava ensin, ja LCD-, Nano-, joystick- ja nRF-radiot voidaan kaikki johdottaa ennen asennusta ylälevyyn. Suosittelen tätä tapaa johdottaa yksittäiset komponentit ja tehdä lopulliset liitännät nanoon lopussa. Suosittelen myös luonnoksen lataamista paljaalle nanolle ennen johdotuksen viimeistelyä.
Mikään ei ole tyydyttävämpää kuin kytkeä laite päälle ja katsella sen heräävän odotetusti valmiiksi!
Ainoa tarvittava sähköisten osien valmistelu oli irrottaa nastatapit ohjaussauvasta, jotta se mahtuu ylälevyn alle. Nestekidenäytön voi ostaa asennettuna nastoilla tai ilman, ja se toimii molempiin suuntiin. Nano tulee valita ilman otsikkotappeja.
Vaihe 6: Koodi
MTC: n, punaisen tornin, valkoisen ja sinisen tornin koodi nyt ylhäällä
No, tämä oli kokemus koodauksesta! Torni toimi itsenäisesti, mutta radion liittäminen oli vaikeampaa kuin alunperin luulin! Minulla oli myös hauskaa saada Chat -osio toimimaan haluamallasi tavalla (lisää siitä myöhemmin).
Kun MTC -koodi on täysin selvitetty, se alkoi verottaa Nano -muistin rajoja! Minun piti tehdä säätöjä ja säästää koodia muistin tehostamiseksi. Toinen hyvä oppimiskokemus.
Olen sisällyttänyt vastaavan "Turret w radio option" -koodin tähän kokoonpanoon, koska ne toimivat yhdessä. Radion lisävarusteen rakentaminen Turret -rakennesivun mukaisesti tekee siitä käyttövalmiuden MTC: n tai muun nRF24L01 -ohjausmenetelmän kanssa.
Myös äänien saaminen toimimaan tämän koodin kanssa kesti jonkin aikaa, ja koska äänet otettiin muista julkisesti saatavilla olevista verkkosivustoista, sisällytin kaikki äänet käyttämääni pariin ZIP -tiedostoon; yksi tavalliselle tornille ja toinen vialliselle tornille. Hyvä asia sinulle, rakas lukija, on, että voit käyttää SD -korttisi ääniä kirjoitetuilla koodeilla ja olet hyvä!
Vaihe 7: MTC -valikko - navigointi
MTC -koodi käynnistyy mukautetulla aloitusnäytöllä ja tarkistaa sitten tornien tilan. Jos torneja ei ole, se vain istuu siellä, kunnes torneja yhdistetään!
Jos vähintään yksi torni on kytketty, päävalikko tulee näkyviin ja "Valmis" -merkkivalo syttyy, ellei torneja ole keskeytetty tai he ovat kiireisiä "tekemisissä jonkun kanssa". Jos he ovat varattuja, näyttöön tulee teksti "Turrets are Busy screen" ja "Busy" -merkkivalo palaa.
Kaikkien aktiivisesti kytkettyjen tornien on oltava valmiustilassa, ennen kuin MTC voi ohjata torneja.
Käytä ohjaussauvaa (ylös ja alas) selataksesi valikkovaihtoehtoja:
- Aaria
- Chat
- Manuaalinen
Valitse haluamasi vaihtoehto X -painikkeella tai painamalla ohjainta.
Aria Mode - tämän vaihtoehdon valitseminen tuo näkyviin Aria Mode -näytön ja saa torneja suorittamaan Aria -kohtauksen Portal 2 -pelin lopussa. Kun torni on valmis, se sulkeutuu ja odottaa komentoa tai joku herättää heidät.
Chat Mode - Tämän vaihtoehdon valitseminen tuo näkyviin Chat Mode -näytön ja aloittaa Chat -jakson. Kun torni on valmis, se sulkeutuu ja odottaa komentoa tai joku herättää heidät.
Manuaalinen tila - Tämän vaihtoehdon valitseminen tuo näkyviin "Manuaalinen tila" -näytön, valaisee "Manuaalinen" -merkkivalon ja sallii tornien manuaalisen käytön. Pystyn ja saranan ohjaussauva. X -painikkeen painaminen aktivoi laukaisusarjan. T -painikkeen painaminen saa heidät "puhumaan", jossa torneilla on satunnainen sanonta kirjastostaan.
Painamalla”<” tai takaisin -painiketta voit peruuttaa nämä kolme tilaa, sulkea torneja ja palata päävalikkoon.
Jos haluat nähdä torniparviisi liittymistilan (tällä hetkellä rajoitettu 3: een), paina päävalikon T -painiketta. Sinut ohjataan "tornin tila" -näyttöön, josta näet kunkin tornin yhteyden tilan.
Kun olet”tornin tila” -näytössä, näet kunkin tornin tilan.
- Valmis - valmis ohjaukseen
- Varattu - torni on kiireinen "hoitaa" jotakuta
- Ei saatavilla - MTC ei voi muodostaa yhteyttä tähän torniin
Palaa päävalikkoon painamalla <-painiketta.
Vaihe 8: Koodin mukauttaminen
Tässä näkyvä kuvakaappaus näyttää mitä tuijotin aivan liian kauan … 4 luonnosta kerrallaan! Kuka sanoi, että virheenkorjaus ei ole hauskaa!
Koodi tarjoaa yllä näytetyn ohjauksen ja vaihtoehdot, mutta entä koodin mukauttaminen?
Tietysti! Mutta täällä tapahtuu melko paljon, joten tässä on joitain ohjeita tai vinkkejä.
Vihje1 - Chat -jakson muokkaaminen. Tämä muutos tapahtuu tornin koodissa.
Yritin keksiä keinon saada koodi toimimaan itselleni missä tahansa. Chat -jakson muokattavuuden parantaminen (onko se sana?), Jotta voisin keskittyä tarinaan, vaati enemmän työtä, mutta helpottaa mukauttamista myöhemmin.
Chat -sekvenssin muuttaminen annetun koodausrakenteen avulla voidaan tehdä melko yksinkertaisella tavalla, jos noudatat koodissa käytettyä menetelmää. Käyttämällä toimitettuja äänitiedostoja Portal 2 -pelistä sinun tarvitsee vain muuttaa (chatSayings ) -taulukkoa.
Valitse sanonta joko tavalliselle tai vialliselle tornille. Sanonta on mp3 -tiedosto, joka tunnistetaan "00XX -" ja sen jälkeen sanan kuvaava teksti. Numero on tärkeä osa. Torni # 1 käyttää tätä XX -arvoa taulukossa. Torni # 2 merkitsisi XX -arvon etuliitteellä 1 ja torni # 3 XX -arvon etuliitteellä 2. Jos esimerkiksi valitsit sanonnan "0040 - anteeksi", ja halusit torni # 3 sanoa sen, lisäät "240" taulukkoon oikeassa järjestyksessä. Jos torni # 1 sanoisi sen, lisäät taulukkoon "40".
Tee sama seuraavalle lausekkeelle ja niin edelleen. Se voi olla muutamia ilmaisuja torneiden välillä tai melko monta. (En ole tietoinen tämän menetelmän rajoituksista, paitsi muisti).
Sinun ei tarvitse muuttaa muiden taulukoiden arvoja, koska ne ovat ajoituksia, jotka vastaavat taulukon sanomaa. Ainoa muutettava linja on linjan 520 ympärillä.
if (i> = 43) {// sarjan loppu
Tässä i: n arvoksi olisi asetettava chatSayings -taulukon sanojen määrä.
Jos haluat tehdä täysin räätälöityjä sanontoja (mistä todellinen hauskuus alkaa!), Sinun on määritettävä lausekkeet numeroiduissa tiedostoissa ja tiedettävä tiedoston toistamiseen tarvittava aika. Tallenna tiedosto SD -kortin juurihakemiston "mp3" -kansioon nelinumeroisella menetelmällä ("0001", "0002" jne.). Kirjaa sitten tiedoston toistamiseen kuluva aika millisekunteina. Lisää nämä arvot asianmukaiseen taulukkoon.
Joten jos lauseke on tallennettu muodossa "0037 - [sinun lausekkeesi]", jonka toistaminen kestää 5400 millisekuntia, kirjoita '37' chatSayings -taulukkoon oikeaan paikkaan (ja lisää etuliite sen mukaan, mikä torni sanoo it) ja 5400 NormaTimings -taulukossa samassa paikassa (kuten jokaisen taulukon viides kohde).
Nyt kun i: n arvoa lisätään, koodi toistaa 0037 5400 millisekuntia.
Huomaa, että olen lisännyt "timeadder" -muuttujan, joka lisää hieman lisäaikaa jokaiseen sanontaan pelatessasi. Tämä antaa sanojen väliin pienen etäisyyden, joten ne eivät näytä olevan päällekkäisiä.
Tämän menetelmän kauneus on, että täytetyt taulukot ovat täsmälleen samat jokaisessa tornissa! Näitä taulukoita ei tarvitse muokata jokaiselle tornille. Sinun tarvitsee vain lajitella yksi taulukko, ja koodi selvittää, mitä kukin torni sanoo saman taulukon perusteella.
Tämä tarkoittaa, että voit keskittyä komentosarjojen kirjoittamiseen koodauksen sijasta!
Jos jollain on parempi tapa tehdä tämä, kuulisin mielelläni !!
Vaihe 9: Yhteenveto
Joten tämä kesti enemmän aikaa kuin luulin, mutta olen melko hämmentynyt tuloksesta. Jotkut Chat -rutiinit saavat minut edelleen nauramaan!
Haluaisin kuulla muita tapoja tehdä asioita, joita tein koodissani. Olen varma, että on osia, jotka voitaisiin kirjoittaa uudelleen ja käyttää vähemmän muistia, mikä mahdollistaa enemmän ominaisuuksia tai vaihtoehtoja.
Haluaisin myös nähdä muita ideoita sisällytettyinä MTC: hen ja torneja hallintaan!
Toivottavasti olen tarjonnut alustan muille suunnittelijoille ja koodereille, joita he voivat käyttää / varastaa / oppia. Voisin nähdä, että tätä käytetään auttamaan ihmisiä oppimaan koodaamaan. Poista osa MTC: stä ja/tai tornista, esimerkiksi "Manuaalinen tila", ja pyydä oppilaita kehittämään oma tapa sisällyttää manuaalinen ohjaus!
Olen oppinut paljon tästä yhteisöstä ja laajemmasta verkosta yleensä. Olen edelleen hämmästynyt siitä, kuinka monet ihmiset viettävät aikaa ajatellakseen asioita ja jakaakseen ne maailman kanssa. Mielestäni minun pitäisi ottaa oppimani, soveltaa sitä ja jakaa se myös kanssasi!
Onnea ja hauskaa oman torni -armeijan rakentamisessa!
Suositeltava:
Portaali: 23 vaihetta
Portaali: Materiaalit: NeoPixel -kela (60) Arduino UNO1/4 " akryylitankoja (~ 18 ') 1 3 mm paksu 12 " x 12 " akryylilevy1 virtapainike (lukitus) 1 hetkellinen painike1 mikrofoni1 2 " x 6 " x 2 'puu
Portaali 2 Persoonallisuusydin: 5 vaihetta
Portaali 2 Persoonallisuusydin: Hei ystävät, voin ylpeänä esitellä uusimman projektini! Tämä persoonallisuuden ydin yhdestä suosikkipeleistäni, Portal 2, on ollut hämmästyttävän hauska ja haastava projekti. Halusin ytimeni olevan mahdollisimman uskollinen pelille, joten käytin kuutta servo actua
Portaali 2 Companion Cube -äänikaiutin: 23 vaihetta (kuvilla)
Portal 2 Companion Cube -äänikaiutin: 3D -tulostus on suuri harrastukseni. Käytän sitä paljon aikaa luodakseni faniteoksia suosikkielokuvistani ja -peleistäni; yleensä tavaroita, joita haluan, mutta joita en löydä kaupoista tai verkosta ostettavaksi. Yksi kaikkien aikojen suosikkipeleistäni on Portal 2. Hankkeen ideana
AR -portaali ylösalaisin vieraista asioista: 10 vaihetta (kuvilla)
AR -portaali ylösalaisin vieraista asioista: Tämä Instructable luo lisätyn todellisuuden mobiilisovelluksen iPhonelle ja portaalin, joka johtaa ylösalaisin Stranger Thingsista. Voit mennä portaalin sisään, kävellä ympäri ja tulla takaisin ulos. Kaikki sisätiloissa
Arduino Unon portaali kaksi vartiotornia: 6 vaihetta (kuvilla)
Arduino Unon portaali Two Sentry Turret: Tämä ohje on luotu täyttämään Etelä -Floridan yliopiston Makecourse -projektin vaatimus (www.makecourse.com)