Tartalomjegyzék:

2. portál torony - mester toronyvezérlés: 9 lépés (képekkel)
2. portál torony - mester toronyvezérlés: 9 lépés (képekkel)

Videó: 2. portál torony - mester toronyvezérlés: 9 lépés (képekkel)

Videó: 2. portál torony - mester toronyvezérlés: 9 lépés (képekkel)
Videó: Как придать Объём волосам Пошагово дома | 4 способа Укладки волос! Как научиться укладывать волосы! 2024, Július
Anonim
Image
Image

Ez a projekt az eredeti Portal Turret on Instructables (Portal-2-Turret-Gun) kiterjesztése vagy remixje. Olcsó vezérlőként is használható bármi vezérléséhez, amely az nRF24L01 rádióchipet használja. Az LCD képernyő különösen hasznos testreszabáskor.

(Kiderül, hogy nagyon hasznos annak ellenőrzésére, hogy a rádióim mikor létesítenek és veszítenek kapcsolatot más "hálózati" nRF24L01 készülékekkel. Járkálhatok és nézhetem, ahogy a kijelző mutatja a rádiók csatlakozási állapotát! Nagyon hasznos a beállítások módosításához és ellenőrzéséhez hatótávolság!)

Miután befejeztem a portál tornyot, láttam egy rövid videoklipet a Cara Mia opera jelenetéről a 2. portál végén. Azt gondoltam: „hé, most építettem néhány tornyot. Meg tudom csinálni! Nos, megvolt a tornyom, de ahhoz, hogy működjön, most kommunikálniuk kell egymással vagy más eszközzel. Miután elgondolkodtam, és arra gondoltam, hogy a kézi vezérlés is jó lenne, végül úgy döntöttem, hogy építek egy fő toronyvezérlőt vagy egy MTC -t.

Oké, akkor hogyan tovább? Nos, nem volt kedvem túl sokat módosítani a tornyokat, így ez korlátozás volt. Voltak nRF24L01 rádió chipjeim, amelyeket még nem használtam, és úgy gondoltam, hogy összhangban lesznek azzal a célommal, hogy olcsó alkatrészeket használjak, és a mechanikai tervezésre és kódra támaszkodva létrehozzam ezt a munkát. Fel kellett volna építenem egy kontrollert, és elkezdtem gondolkodni azon, hogy mit tartalmaz a vezérlő, és mit tehetnék pontosan a tornyokkal. Cara Mia már napirenden volt, de mi más?

Kézi vezérlés: Tehát ha a szárnyak nyitva vannak, szeretném irányítani a pályát és a forgást. 2 tengely = joystick, tehát joystick vezérlés és néhány nyomógomb. Az 1 nyomógomb elsütné a tornyot, és talán a 2 nyomógomb mondaná ki egyik mondását. Jól hangzik! Elég egyszerű…

Csevegés: Nemrég láttam megint a „Ki az első” - Abbott és Costello rutint, és a fény kialudt a fejemben! Én is vázlatos vígjáték rutint csinálnék az összes mondás felhasználásával, több tornyot használva !! Ok, ezt nem sikerült teljesen kitalálni, de biztos vagyok benne, hogy rendbe fogom hozni, ha az építkezés már folyamatban van.

Azt is szerettem volna, hogy ez az MTC vezeték nélküli legyen, ezért egy egyszerű 9 V-os elemmel működő opció mellett döntöttem, és úgy terveztem, hogy a vezérlőt a mini-USB-csatlakozó táplálja a hátsó Nano-n keresztül. Frissítésre is hasznos.

1. lépés: A rádió beépítése a tornyokba

Először a rádiót néhány csupasz Nanóval működtettem, hogy megbizonyosodjak róla, hogy működőképes vagyok, és információkat küldhetek több eszköz között. Miután ez megtörtént, a rádió beépítése volt a meglévő tornyokba. Hmm, a fizikai PCB hozzáadása a toronyhoz nagyon egyszerű volt. Most módosítottam a chiptartót az nRF24L01, a Nano és az mp3 chip beillesztésére. Rendben. Egy fizikai rész módosítva, némi huzalozással.

A módosított forgácstartó már a tornyos nyomtatott részek része. Most töröltem a rádió nélküli opciót az adott build nyomtatott részeiből. Nem lesz különbség, ha valaki meg akarja építeni a nem rádiós változatot. Csak ne vegye be az nRF24L01 rádió chipet.

2. lépés: A tornyok (újra) bekötése

A tornyok (újra) bekötése
A tornyok (újra) bekötése
A tornyok (újra) bekötése
A tornyok (újra) bekötése
A tornyok (újra) bekötése
A tornyok (újra) bekötése
A tornyok (újra) bekötése
A tornyok (újra) bekötése

UH Oh…

Ez nem nézett ki jól. 5 csatlakozást kellett hozzáadnom a Nano -hoz, és már kevés volt a rendelkezésre álló csap. Miután kicsit megvizsgáltam ezt, rájöttem, hogy mely kapcsolatok részesülnek előnyben, és felismertem, hogy ennek a munkának a megvalósításához a meglévő Nano -kapcsolatok nagy részét át kell alakítanom.

Azoknak, akik szeretnének „Rádiótornyot” készíteni, és már felépítették az előző generációt… Sajnálom…

Most néhányszor elvégeztem ezt a változtatást, és kiderül, hogy a folyamat nem túl rossz. Ez magában foglalja a visszatérést, de sikerült megszakítanom a Nano meglévő kapcsolatait, majd túl nagy bánat nélkül újra csatlakoznom a megfelelő tűkhöz. Hozzáadtam a rádióchip 7 vezetékét az nRF24L01 -hez (5 komm. Vezeték, 3v és GND), majd a másik végét a Nano -hoz kötöttem.

Most azonban több vezeték van benne, ezért sokkal fontosabb, hogy rendben tartsuk a dolgokat a vezetékek vezetésekor.

FONTOS: Összeszereléskor ügyeljen arra, hogy a vezetékek ne nyomja meg a táblán található Nano reset gombot !! Ez történt velem egy és dobott egy felesleges hurok!

Tehát a toronyépítésnek most 2 bekötési vázlata van: a régi „nem rádió” opció és a felülvizsgált „rádió torony” opció. Ha ma „nem rádiós” tornyot építenék, akkor is a rádió sematikáját és kódját használnám. Csak törölje vagy kommentálja a rádiós részeket, ha ez a választott útvonal, vagy sem. A toronynak továbbra is önmagában kell működnie a rádió nélkül.

3. lépés: MTC elektromos alkatrészek

MTC elektromos alkatrészek
MTC elektromos alkatrészek
MTC elektromos alkatrészek
MTC elektromos alkatrészek
MTC elektromos alkatrészek
MTC elektromos alkatrészek

A tornyok rendezése után ideje volt egy MTC -t készíteni.

Az MTC a következő összetevőket használja, amelyek mindegyike az Amazonon, a Baggoodon vagy az Ali Expressen keresztül származik. Megmutatom az Amazon cikkszámait, amelyekre hivatkoztam, mert ezek az elemek általában elérhetők és elfogadható áron (és nem kellett várj 2+ hetet, hogy kézbe vehessem, amire szükségem van, mielőtt elkezdhetném a mechanikus tervezést!)

  • Arduino Nano 0,96”LCD, (SSD1306) A kék/sárga verziót használtam
  • Kis joystick (HW-504) 5V PS joystick modul
  • Váltókapcsoló (dx-004) 22 mm * 13 mm
  • Rádió - (nRF24L01)
  • 12 mm-es nyomógombok (CLT1088 színes gombokhoz, PBS-33B feketehez)
  • 2 mm -es csavarok (M2 önmetsző csavar készlet, kereszthajtófej -fej választék)
  • 5 mm -es LED -ek az Ön által választott indikátorokhoz. (Ne használjon fényes LED -eket!)
  • Általános 9V -os elemcsatlakozó pigtailekkel
  • 9 V -os akkumulátor (használjon jót, ne a dollár áruházak egyikét, amely nem mindig tud elegendő energiát szolgáltatni ezekhez a projektekhez!)
  • Szilikon borítású huzalt használtam. Szeretem használni ezeket a projekteket.

Eredetileg fényes LED -eket használtam, de túl jónak találtam. Vakítottak! Végül néhány régi, gyenge LED -et használtam, és ez értelmesebb volt az alkalmazás számára.

4. lépés: 3D nyomtatott alkatrészek

3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek

Az MTC -t a Fusion segítségével terveztem, hasonlóan a torony kialakításához.

A nyomtatott szerelvény csak 3 részből áll:

  • Felső panel (1. vagy 2. verzió)
  • Alsó ház
  • LCD szíj

Az nRF chip, a Nano, a 9 V -os akkumulátor, a váltókapcsoló és a LED -ek rögzítőelemek nélkül vannak felszerelve a fedőlapra. A LED -ek csak benyomják a lemezt, és a fülek tartják őket. Csak bele kell pattanniuk, de ne vigyük túlzásba. A felső lapot úgy tervezték, hogy rögzítse a Nano-t, és az nRF chipnek óvatosan be kell mennie. Óvatosan az nRF kis fülével; kicsi, és hátrafelé hajlik, hogy kinyíljon, és elengedi, hogy rögzítse a chipet. Annak ellenére, hogy utazása korlátozott, légy szelíd itt.

A joysticknak és az LCD -nek 2 mm -es (5 mm hosszú) csavarokra van szüksége a felső lemezhez való rögzítéshez. A joystick PCB -n nagy lyukak vannak, ezért úgy éreztem, hogy szükségem van kis alátétekre, hogy a csavarok ne húzódjanak át.

Azt tapasztaltam, hogy a nyomtatott áramköri lapok, az LCD -k gyártói és gyártói méretei kissé eltérnek, ezért úgy döntöttem, hogy egy egyszerű hevedert használok a helyükön tartáshoz, a rögzítőelemek vagy horgok helyett.

Ne feledje, hogy az LCD fizikailag is felszerelhető a felső lemezre, de a kijelző csak egy irányban jelenik meg teljesen a nyíláson keresztül! Ezért az osztott sárga/kék képernyő használatakor egy második fedőlap opciót is szerepeltettem. Az egyik verzió tetején a sárga, a másikban pedig a sárga látható alul, ahogy az a fotóimon is látható.

Az egyszínű változatú LCD esetében nem mindegy, hogy melyiket használja, mivel szoftver segítségével elforgathatja a kijelzőt.

Mivel az összes huzalozás a felső lemezen történik, az alsó gyakorlatilag csak egy fedél, amelyet a felső lemezhez tartanak hosszabb 2 mm -es csavarokkal (mennyiség: 4).

Az „elemajtó” opció helyett csak az akkumulátort helyeztem a felső lemezbe. Ez azt jelenti, hogy le kell venni a 4 csavart, amelyek alulról felfelé tartják az elem cseréjét, de mivel az USB -kábellel is működtethető, nem pedig a világ vége. A felső lemez 9 V -os elemtartó rendszerrel készült, amelynek elég erősnek kell lennie az ismételt használatra, nem túl bonyolult, de megakadályozza az akkumulátor mozgását.

A felső lapot 2 színben nyomtam, ahogy a képeken is látszik. Prusa i3 Mk2-t használok többszínű opció nélkül, de a színes nyomtatási eszközükkel (https://www.prusaprinters.org/color-print/) a szín részben megváltoztatható a folyamat során. Ellenőrizze azt a fóliát, amelyen a szöveg leáll és szilárd lesz, és állítsa be az átmeneti réteget. Voálá! Színes szöveg!

Az alkatrészeket 0,35 mm -es rétegmagasságban nyomtam, mivel nincs szükség finomabb felbontásra ezeken a lapos részeken. Én is jobban szeretem ezt a felbontást. Ja, és elég gyorsan nyomtat is!

5. lépés: Elektromos összeszerelés

Elektromos szerelvény
Elektromos szerelvény
Elektromos szerelvény
Elektromos szerelvény
Elektromos szerelvény
Elektromos szerelvény
Elektromos szerelvény
Elektromos szerelvény

Az elektromos alkatrészek mindegyike a felső lemez alsó oldalára van felszerelve, és az összes huzalozás együtt történik. A nyomógombokat és a kapcsolót először fel kell szerelni, és az LCD, a Nano, a Joystick és az nRF rádió mind előhuzalozható, mielőtt a felső lemezre kerül. Javaslom ezt a módszert az egyes alkatrészek előzetes bekötésére, majd a végén a végső csatlakozások elvégzésére a Nano-val. Azt is javaslom, hogy a vázlatot töltse fel először egy csupasz Nano -ra, mielőtt befejezi a kábelezést.

Nincs annál kielégítőbb, mint bekapcsolni a készüléket, és nézni, ahogy a várakozásoknak megfelelően megelevenedik!

Az egyetlen szükséges elektromos alkatrész előkészítése az volt, hogy eltávolította a fejléceket a joystickról, hogy illeszkedjen a felső lemez alá. Az LCD képernyő beszerelhető csapokkal vagy anélkül, és bármelyik módon működik. A Nano -t fejléc nélkül kell kiválasztani.

6. lépés: Kód

Az MTC, a vörös torony, a fehér torony és a kék torony kódja most fent

Nos, ez élmény volt a kódolásban! A torony önállóan működött, de a rádió beépítése nehezebb volt, mint eredetileg gondoltam! Szórakoztam azon is, hogy a „Csevegés” szakasz a kívánt módon működjön (erről később).

Az MTC kód, miután teljesen kitalálták, elkezdte megadóztatni a Nano memóriakorlátait! Be kellett állítanom és takarékoskodnom a kóddal, hogy hatékonyabb legyen a memória. Egy újabb jó tanulási élmény.

A megfelelő „Turret w rádió opció” kódot is beépítettem ebbe az összeállításba, mivel együtt dolgoznak. Ha a rádió opciós tornyot a Torony építési oldala szerint építi fel, akkor készen áll az MTC -vel vagy más nRF24L01 vezérlési módszerrel való használatra.

Ezenkívül a hangok működtetése ezzel a kóddal eltartott egy ideig, és mivel a hangokat más nyilvánosan hozzáférhető webhelyekről vették, minden hangot beépítettem néhány ZIP fájlba; egyet a rendes toronyhoz, egyet a hibás toronyhoz. A jó dolog az Ön számára, kedves olvasó, hogy használhatja az SD -kártyán lévő hangokat a leírt kódokkal, és máris indulhat!

7. lépés: MTC menü - Navigáció

MTC menü - Navigáció
MTC menü - Navigáció
MTC menü - Navigáció
MTC menü - Navigáció
MTC menü - Navigáció
MTC menü - Navigáció

Az MTC kód egyéni Splash képernyővel indul, majd ellenőrzi a tornyok állapotát. Ha nincsenek tornyok, akkor csak ott ül, amíg a tornyok összekapcsolódnak!

Ha legalább egy torony csatlakoztatva van, a főmenü jelenik meg, és a „Ready” LED világítani fog, kivéve, ha a tornyok megszakadnak, vagy „foglalkozik valakivel”. Ha elfoglalt, megjelenik a „Tornyok foglalt” képernyő, és a „Foglalt” LED világít.

Minden aktívan csatlakoztatott toronynak „készenléti módban” kell lennie, mielőtt az MTC irányíthatja a tornyokat.

Használja a joystickot (fel és le) a menüválasztáshoz:

  • Ária
  • Csevegés
  • Kézikönyv

Válassza ki a kívánt opciót az „X” gombbal vagy a joystick lenyomásával.

Aria Mode - ennek az opciónak a kiválasztása megjeleníti az „Aria Mode” képernyőt, és a tornyok elvégzik az Aria jelenetet a Portal 2 játék végén. Ha elkészült, a tornyok bezárulnak, és várnak egy parancsra, vagy valaki felébreszti őket.

Csevegési mód - Ha ezt az opciót választja, megjelenik a „Csevegési mód” képernyő, és elindul a csevegési sorozat. Ha elkészült, a tornyok bezárulnak, és várnak egy parancsra, vagy valaki felébreszti őket.

Kézi üzemmód - Ennek az opciónak a kiválasztásával megjelenik a „Kézi üzemmód” képernyő, világít a „Kézi” LED, és lehetővé teszi a tornyok kézi működtetését. Joystick vezérlés a dőlésszögben és a forgásban. Az „X” gomb megnyomásával aktiválható a tüzelési sorrend. Ha megnyomja a „T” gombot, „beszélni” fognak, ahol a tornyok véletlenszerű mondást mondanak a könyvtárukból.

A „<” vagy a vissza gomb megnyomásával törli ezt a három módot, bezárja a tornyokat, és visszatér a főmenübe.

Ha szeretné látni a toronyrajának csatlakozási állapotát (jelenleg 3 -ra korlátozódik), nyomja meg a „T” gombot, amikor a főmenüben van. A „toronyállapot” képernyőre kerül, ahol láthatja az egyes tornyok csatlakozási állapotát.

A „torony állapota” képernyőn látni fogja az egyes tornyok állapotát.

  • Kész - vezérlésre kész
  • Foglalt - a torony elfoglalt, hogy „gondozzon” valakit
  • Nem áll rendelkezésre - az MTC nem tud csatlakozni ehhez a toronyhoz

Nyomja meg a „<” gombot a főmenübe való visszatéréshez.

8. lépés: A kód testreszabása

A kód testreszabása
A kód testreszabása

Az itt látható képernyőkép azt mutatja, amit túl sokáig bámultam… 4 vázlat egyszerre! Ki mondta, hogy a hibakeresés nem szórakoztató!

A kód biztosítja a fent látható vezérlést és lehetőségeket, de mi a helyzet a kód testreszabásával?

Természetesen! De elég sok dolog történik itt, ezért itt van néhány útmutató vagy tipp.

Tipp1 - A „Chat” sorozat módosítása. Ez a módosítás a torony kódjában történik.

Próbáltam kitalálni egy módszert, amellyel a kódot bárhol működhetem, ahol csak lehet. A csevegéssorozat szerkeszthetőbbé tétele (ez egy szó?), Hogy a történetre koncentrálhassak, több munkát igényelt előre, de megkönnyíti a testreszabást.

A csevegési sorrend megváltoztatása a mellékelt kódolási struktúra segítségével meglehetősen egyszerű módon történhet, feltéve, hogy követi a kódban használt módszert. A mellékelt hangfájlok használatával a Portal 2 játékból csak a (chatSayings ) táblázatot kell megváltoztatnia.

Válassza ki a mondatot a normál vagy a hibás toronyhoz. A mondás az mp3 fájl, amelyet a „00XX -” azonosít, majd a mondást leíró szöveg. A szám a fontos része. Az 1. torony ezt az XX értéket használja a táblázatban. A 2. torony az „XX” értéket „1” -vel, a 3. torony pedig az „XX” értéket „2” előtaggal látná el. Így például, ha a „0040 - sajnálom” kifejezést választotta, és azt akarta, hogy a 3. torony mondja ki, akkor a „240” -t illessze be a táblázatba a megfelelő sorrendben. Ha az 1. torony ezt mondaná, akkor a „40” -t illessze be a táblázatba.

Tegye ugyanezt a következő kifejezésnél, és így tovább. Ez lehet néhány kifejezés a tornyok között, vagy jó néhány. (Nem vagyok tisztában a módszer korlátaival, kivéve a memóriát).

Nem kell módosítania a többi táblázat értékeit, mivel azok az időzítések, amelyek megfelelnek a táblázatban szereplő mondatnak. Az egyetlen módosítandó vonal az 520 -as vonal körül van.

if (i> = 43) {// a sorozat vége

Az i értékét itt a chatSayings táblázat mondanivalóinak számára kell beállítani.

Ahhoz, hogy teljesen személyre szabott mondatokat tegyen (ahol az igazi mulatság kezdődik!), Be kell állítania a kifejezéseket számozott fájlokban, és ismernie kell a fájl lejátszásához szükséges időt. Mentse el a fájlt az SD -kártya gyökérkönyvtárában található „mp3” mappába négyjegyű módszerrel („0001”, „0002”, stb.). Ezután naplózza ezredmásodpercben a fájl lejátszásához szükséges időt. Illessze be ezeket az értékeket a megfelelő táblázatba.

Tehát egy „0037 - [az Ön kifejezése]” néven mentett kifejezéshez, amelynek lejátszása 5400 ezredmásodpercet vesz igénybe, a „37” -et a chatSayings táblázatba kell helyeznie a megfelelő helyen (és hozzá kell adnia az előtagot attól függően, hogy melyik torony mondja it), és 5400 a NormaTimings táblázatban, ugyanazon a helyen (például minden táblázat 5. eleme).

Most, amikor az „i” értékét növeljük, a kód 0037 -et játszik le 5400 ezredmásodpercig.

Ne feledje, hogy hozzáadtam egy "timeadder" változót, amely egy kis többletet ad minden mondathoz játék közben. Ez egy kis távolságot biztosít a mondások között, hogy ne tűnjenek átfedésben.

Ennek a módszernek az a szépsége, hogy a kitöltött táblázatok minden toronyban pontosan ugyanazok! Nem kell testre szabni ezeket a táblázatokat minden toronyhoz. Csak egy táblázatot kell rendeznie, és a kód ugyanazon táblázat alapján kitalálja, hogy az egyes tornyok mit mondanak.

Ez azt jelenti, hogy a kódolás helyett a szkriptírásra koncentrálhat!

Ha valakinek van jobb módja erre, szívesen meghallgatnám !!

9. lépés: Összefoglalás

Összefoglaló
Összefoglaló

Szóval ez több időt vett igénybe, mint gondoltam, de inkább ketyeg az eredmény. Néhány csevegési rutin még mindig megnevettet!

Szeretném hallani más módszereket, amellyel elvégezhetem azokat a dolgokat, amelyeket a kódomban tettem. Biztos vagyok benne, hogy vannak olyan részek, amelyeket át lehet írni, és kevesebb memóriát igényelnek, ami több funkciót vagy opciót tesz lehetővé.

Szívesen látnék más ötleteket is az MTC -be és a tornyok irányításába!

Remélem, hogy platformot adtam más tervezők és kódolók számára, akik használhatják / ellophatják / tanulhatnak. Láttam, hogy ezt használják arra, hogy segítsenek az embereknek megtanulni kódolni. Távolítson el egy szakaszt az MTC -ből és/vagy a toronyból, például a "Kézi üzemmódot", és tanítsa meg a diákokat, hogy fejlesszék ki saját módjukat a kézi vezérlés beépítésére!

Sokat tanultam ettől a közösségtől és általában a szélesebb hálótól. Még mindig csodálkozom, hogy hányan töltenek időt arra, hogy kitalálják a dolgokat, és megosszák azokat a világgal. Úgy gondolom, hogy el kell vinnem a tanultakat, alkalmazni, majd megosztani veletek is!

Sok sikert és jó szórakozást saját tornyos hadseregének felépítéséhez!

Ajánlott: