Isi kandungan:

Portal 2 Turret - Master Turret Control: 9 Langkah (dengan Gambar)
Portal 2 Turret - Master Turret Control: 9 Langkah (dengan Gambar)

Video: Portal 2 Turret - Master Turret Control: 9 Langkah (dengan Gambar)

Video: Portal 2 Turret - Master Turret Control: 9 Langkah (dengan Gambar)
Video: Portal 2: How to Break the Turret Production Line. 2024, November
Anonim
Image
Image

Projek ini adalah lanjutan atau gabungan semula Portal Turret on Instructables (Portal-2-Turret-Gun) saya yang asal. Ia juga boleh digunakan sebagai pengawal yang murah untuk mengawal apa sahaja yang menggunakan cip radio nRF24L01. Skrin LCD sangat berguna semasa menyesuaikan.

(Ternyata sangat berguna untuk memeriksa kapan radio saya terjalin dan terputus hubungan dengan nRF24L01 lain di "rangkaian". Saya dapat berjalan-jalan dan menonton skrin paparan menunjukkan status sambungan radio! Cukup bermanfaat untuk menyesuaikan tetapan dan mengesahkan pelbagai!)

Setelah saya menyelesaikan Portal Turret, saya melihat klip video pendek adegan opera Cara Mia di hujung Portal 2. Saya fikir, "hei, saya telah membina beberapa menara sekarang. Saya boleh melakukannya! " Saya mempunyai menara, tetapi untuk membuatnya berfungsi, mereka sekarang perlu berkomunikasi antara satu sama lain, atau dengan alat lain. Setelah memikirkannya, dan berfikir bahawa kawalan manual juga akan menyenangkan, saya akhirnya memutuskan bahawa saya akan membina Master Turret Controller, atau MTC.

Ok, jadi bagaimana untuk menyelesaikannya? Saya tidak mahu terlalu banyak mengubah turet, jadi itu adalah kekangan. Saya mempunyai beberapa cip radio nRF24L01 yang belum saya gunakan, dan berpendapat bahawa akan sesuai dengan tujuan saya menggunakan komponen yang murah dan bergantung pada reka bentuk dan kod mekanikal untuk membuat ini berfungsi. Saya harus membina pengawal dan mula memikirkan apa yang akan dikawal oleh pengawal dan apa sebenarnya yang boleh saya lakukan kepada menara. Cara Mia sudah masuk agenda, tetapi apa lagi?

Kawalan manual: Jadi setelah sayap terbuka, saya ingin mengawal nada dan pangsi. 2 paksi = kayu bedik, jadi kawalan kayu bedik dan beberapa butang tekan. Butang tekan 1 akan menyalakan menara, dan mungkin butang tekan 2 akan menjadikannya salah satu ucapannya. Kedengaran bagus! Cukup sederhana …

Sembang: Saya baru-baru ini melihat "Who on on First" - Abbott dan Costello rutin sekali lagi, dan cahaya menyala di kepala saya! Saya juga akan membuat komedi lakaran rutin menggunakan semua ucapan, menggunakan banyak menara !! Baiklah, yang ini belum difahami sepenuhnya, tetapi saya pasti saya akan menyelesaikannya semasa pembinaan saya sedang dijalankan.

Saya juga mahukan MTC ini tanpa wayar, jadi saya memilih pilihan berkuasa bateri 9V yang sederhana dan merancang pengawal untuk dikuasakan oleh palam mini-USB melalui Nano di bahagian belakang. Berguna untuk mengemas kini juga.

Langkah 1: Memasukkan Radio ke Menara

Saya mula-mula membuat radio berfungsi dengan beberapa Nanos kosong, untuk memastikan saya dapat membuatnya berfungsi dan menghantar maklumat antara pelbagai peranti. Setelah itu selesai, adalah masalah memasukkan radio ke dalam menara yang ada. Hmm, menambahkan PCB fizikal ke dalam menara adalah cukup baik. Saya baru sahaja mengubah suai pemegang untuk memasukkan nRF24L01, Nano dan cip mp3. Okey. Satu bahagian fizikal diubah suai, dengan beberapa pendawaian.

Pemegang cip yang diubah suai sudah menjadi sebahagian daripada bahagian yang dicetak turet sekarang. Saya baru sahaja memadam pilihan bukan radio dari bahagian bercetak di binaan itu. Tidak ada bezanya jika seseorang ingin membuat varian bukan radio. Jangan sertakan cip radio nRF24L01.

Langkah 2: (Re) pendawaian Turret

(Re) pendawaian Menara
(Re) pendawaian Menara
(Re) pendawaian Menara
(Re) pendawaian Menara
(Re) pendawaian Menara
(Re) pendawaian Menara
(Re) pendawaian Menara
(Re) pendawaian Menara

Aduh …

Ini tidak kelihatan baik Saya perlu menambah 5 sambungan ke Nano, dan pin saya sudah tersedia. Setelah meneliti perkara ini sebentar, saya menyedari sambungan mana yang diutamakan, dan menyedari bahawa untuk membuat kerja ini, saya harus membuat semula sebahagian besar sambungan Nano yang ada.

Kepada mereka yang ingin membuat "Radio Turret" dan telah membina gen sebelumnya … Maaf …

Sekarang, saya telah melakukan perubahan ini beberapa kali dan ternyata prosesnya tidak terlalu buruk. Ini melibatkan masuk semula, tetapi saya dapat mengurungkan sambungan yang ada ke Nano dan kemudian menyambung semula ke pin yang sesuai tanpa terlalu banyak kesedihan. Saya menambahkan 7 wayar untuk cip radio ke nRF24L01 (5 wayar kom, 3v dan GND), kemudian menghubungkan hujung yang lain ke Nano.

Lebih banyak wayar di sana sekarang, jadi menjadikannya jauh lebih penting untuk menjaga keadaan kemas semasa mengarahkan wayar.

PENTING: Semasa memasang, pastikan wayar tidak menekan butang reset Nano di papan !! Itu berlaku pada saya satu dan melemparkan saya untuk gelung yang tidak perlu!

Jadi pembuatan menara sekarang mempunyai 2 skema pendawaian: pilihan "bukan radio" lama dan pilihan "radio Turret" yang disemak semula. Sekiranya membina menara "bukan radio" hari ini, saya masih akan menggunakan skema dan kod radio. Cukup hapus atau komen bahagian radio jika itu adalah laluan yang dipilih, atau tidak. Menara masih boleh berfungsi sendiri tanpa radio.

Langkah 3: Komponen Elektrik MTC

Komponen Elektrik MTC
Komponen Elektrik MTC
Komponen Elektrik MTC
Komponen Elektrik MTC
Komponen Elektrik MTC
Komponen Elektrik MTC

Setelah menara diatur, sudah tiba masanya untuk membuat MTC.

MTC menggunakan komponen berikut, semuanya bersumber dari Amazon atau Baggood atau Ali Express, dll. Saya menunjukkan nombor bahagian Amazon yang saya rujuk untuk rujukan, kerana barang-barang ini biasanya tersedia dan harga berpatutan (dan saya tidak perlu tunggu 2+ minggu untuk mendapatkan apa yang saya perlukan sebelum saya memulakan reka bentuk mekanikal!)

  • Arduino Nano 0,96”LCD, (SSD1306) Saya menggunakan versi Biru / Kuning
  • Modul Joystick Kecil Joystick Kecil (HW-504) 5V PS
  • Toggle switch (dx-004) 22mm * 13mm
  • Radio - (nRF24L01)
  • Tombol tekan 12mm (CLT1088 untuk butang berwarna, PBS-33B untuk hitam)
  • Skru 2 mm (Set Skru Pengetuk Sendiri M2, pelbagai jenis Cross Drive Pan Head)
  • LED 5mm pilihan anda untuk penunjuk. (Jangan gunakan LED terang !!)
  • Penyambung bateri 9V generik dengan kuncir
  • Bateri 9V (gunakan yang baik, bukan salah satu jenis kedai dolar yang tidak selalu dapat memberi bekalan tenaga yang mencukupi untuk projek ini!)
  • Saya menggunakan wayar berselubung silikon. Saya suka menggunakannya untuk projek-projek ini.

Pada asalnya saya menggunakan beberapa LED yang terang, tetapi mendapati ia terlalu bagus. Mereka membutakan saya! Saya akhirnya menggunakan beberapa LED lama dan lemah, dan itu lebih masuk akal untuk aplikasi ini.

Langkah 4: Bahagian Bercetak 3D

Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D

Saya merancang MTC menggunakan Fusion, serupa dengan cara saya membuat reka bentuk turet.

Pemasangan bercetak hanya memerlukan 3 bahagian:

  • Panel atas (versi 1 atau 2)
  • Perumahan bawah
  • Tali LCD

Cip nRF, Nano, bateri 9V, suis togol dan LED dipasang di plat atas tanpa pengikat. LED hanya menekan di dalam pinggan dan dipegang di tempat oleh tab. Mereka sepatutnya masuk, tetapi jangan keterlaluan. Plat atas direka untuk menahan Nano, dan cip nRF harus masuk dengan lembut. Berhati-hati dengan tab kecil nRF; ia kecil dan dibengkokkan ke belakang untuk membuka dan dilepaskan untuk menangkap cip. Walaupun perjalanannya terhad, bersikap lembut di sini.

Joystick dan LCD memerlukan skru 2mm (panjang 5mm) untuk menahannya ke plat atas. PCB kayu bedik mempunyai lubang besar, jadi saya merasakan saya memerlukan mesin basuh kecil untuk memastikan skru tidak dapat ditembusi.

Saya dapati bahawa LCD LCD datang sedikit dimensi dari pengeluar ke pengeluar, jadi saya memilih untuk menggunakan tali sederhana untuk menahannya di tempat, bukannya bilah atau cangkuk.

Perhatikan bahawa LCD boleh dipasang secara fizikal ke pelat atas dengan cara apa pun, tetapi paparan hanya akan muncul sepenuhnya melalui bukaan dalam satu arah! Atas sebab ini, saya telah memasukkan pilihan plat atas ke-2 ketika menggunakan skrin kuning / biru yang terbelah. Satu versi mempunyai warna kuning di bahagian atas, dan yang lain akan menunjukkan warna kuning di bahagian bawah seperti yang ditunjukkan dalam foto saya.

Untuk LCD versi satu warna, tidak menjadi masalah mana yang digunakan kerana anda boleh membalikkan paparan menggunakan perisian.

Oleh kerana semua pendawaian dilakukan pada plat atas, bahagian bawahnya hanyalah penutup yang dipegang pada plat atas dengan skru 2mm lebih panjang (qty: 4).

Daripada pilihan "pintu bateri", saya memasukkan bateri ke dalam plat atas. Ini bermaksud melepaskan 4 skru yang memegang bahagian bawah ke atas untuk menukar bateri, tetapi kerana ia juga dapat dikuasakan oleh kabel USB, bukan akhir dunia. Plat atas dibuat dengan sistem pemegang bateri 9V yang harus cukup kokoh untuk penggunaan berulang, tidak terlalu rumit tetapi mencegah bateri bergerak.

Saya mencetak plat atas dalam 2 warna seperti yang terdapat dalam foto. Saya menggunakan Prusa i3 Mk2 tanpa pilihan multi warna, tetapi menggunakan alat cetak warna mereka (https://www.prusaprinters.org/color-print/) untuk mengubah warna sebahagiannya melalui proses. Periksa lapisan yang teks berhenti dan menjadi padat, dan buatlah lapisan peralihan. Voila! Teks berwarna!

Saya mencetak bahagian pada ketinggian lapisan 0.35mm kerana tidak memerlukan resolusi yang lebih halus pada bahagian rata ini. Saya juga lebih suka cara melihat resolusi ini. Oh, dan ia juga mencetak dengan cepat!

Langkah 5: Pemasangan Elektrik

Pemasangan Elektrik
Pemasangan Elektrik
Pemasangan Elektrik
Pemasangan Elektrik
Pemasangan Elektrik
Pemasangan Elektrik
Pemasangan Elektrik
Pemasangan Elektrik

Semua komponen elektrik dipasang di bahagian bawah plat Atas, dan semua pendawaian dilakukan bersama. Butang tekan dan togol mesti dipasang terlebih dahulu, dan radio LCD, Nano, Joystick, nRF semuanya boleh dipra-kabel sebelum dipasang di Plat atas. Saya mencadangkan kaedah pra-pendawaian komponen individu, kemudian membuat sambungan terakhir ke Nano pada akhirnya. Saya juga mengesyorkan memuat naik lakaran ke Nano yang telanjang terlebih dahulu, sebelum menyelesaikan pendawaian.

Tidak ada yang lebih memuaskan daripada menghidupkan peranti dan melihatnya hidup seperti yang diharapkan apabila selesai!

Persediaan bahagian elektrik yang diperlukan hanyalah melepaskan pin pengepala dari kayu bedik agar pas di bawah plat atas. Skrin LCD boleh dibeli dengan atau tanpa pin dipasang, dan akan berfungsi dengan baik. Nano harus dipilih tanpa pin header.

Langkah 6: Kod

Kod untuk MTC, turet merah, turet putih dan turet biru sekarang

Nah, ini adalah pengalaman dalam pengkodan! Saya mempunyai menara bekerja secara bebas, tetapi memasukkan radio lebih sukar daripada yang saya fikirkan! Saya juga berseronok mendapatkan bahagian "Sembang" untuk berfungsi seperti yang diinginkan (lebih lanjut kemudian).

Kod MTC, setelah dijumpai sepenuhnya, mula mengenakan had memori Nano! Saya harus membuat penyesuaian dan menjimatkan kod agar lebih cekap memori. Satu lagi pengalaman belajar yang baik.

Saya telah memasukkan kod "Turret w radio option" yang sesuai dalam binaan ini, kerana mereka bekerjasama. Membangun turret pilihan radio pada halaman Turret build akan siap digunakan dengan MTC, atau untuk kaedah kawalan nRF24L01 anda yang lain.

Juga, agar bunyi berfungsi dengan kod ini memerlukan sedikit masa, dan kerana suara itu diambil dari laman web lain yang dapat diakses oleh orang ramai, saya memasukkan semua bunyi kerana saya telah menggunakannya dalam beberapa fail ZIP; satu untuk menara biasa, dan satu untuk menara yang rosak. Perkara yang baik untuk anda, pembaca yang dikasihi, ialah anda boleh menggunakan suara pada kad SD anda dengan kod seperti yang ditulis dan anda akan berjaya!

Langkah 7: Menu MTC - Navigasi

Menu MTC - Navigasi
Menu MTC - Navigasi
Menu MTC - Navigasi
Menu MTC - Navigasi
Menu MTC - Navigasi
Menu MTC - Navigasi

Kod MTC dimulakan dengan layar Splash khusus, kemudian memeriksa status menara. Sekiranya tidak ada menara, ia akan duduk di sana sehingga menara tersambung!

Sekiranya sekurang-kurangnya satu turet disambungkan, menu utama akan dipaparkan dan LED "Siap" akan menyala, kecuali menara terganggu atau sibuk "berurusan dengan seseorang". Jika mereka sibuk, layar "Turret adalah Sibuk" akan ditampilkan, dan LED "Sibuk" akan menyala.

Semua menara yang disambungkan secara aktif mesti berada dalam "Mod Sedia" sebelum MTC dapat mengawal menara.

Gunakan kayu bedik (atas dan bawah) untuk menelusuri pilihan menu:

  • Aria
  • Berbual
  • Manual

Pilih pilihan yang diinginkan menggunakan butang ‘X’, atau dengan menekan joystick ke bawah.

Aria Mode - memilih pilihan ini akan memaparkan skrin "Aria Mode" dan membuat menara melakukan adegan Aria di akhir permainan Portal 2. Setelah selesai, menara akan menutup dan menunggu arahan atau seseorang untuk membangunkannya.

Mod Chat - Memilih pilihan ini akan memaparkan skrin "Mode Chat" dan memulakan urutan Chat. Setelah selesai, menara akan menutup dan menunggu arahan atau seseorang untuk membangunkannya.

Mod Manual - Memilih pilihan ini akan menampilkan layar "Manual Mode", menerangi LED "Manual" dan memungkinkan operasi manual menara. Kawalan nada dan pangsi Joystick. Menekan butang ‘X’ akan mengaktifkan urutan menembak. Menekan butang 'T' akan membuat mereka "bercakap", di mana menara menuturkan ucapan pepatah dari perpustakaan mereka.

Menekan butang ‘<’ atau kembali akan membatalkan tiga mod ini, menutup menara dan kembali ke menu utama.

Sekiranya anda ingin melihat status sambungan kawanan menara anda (saat ini terhad kepada 3), tekan butang ‘T’ ketika berada di menu utama. Anda akan dibawa ke layar "status menara", di mana anda dapat melihat status sambungan setiap menara.

Ketika berada di layar "status menara", anda akan melihat status setiap menara.

  • Sedia - sedia untuk dikawal
  • Sibuk - menara sibuk "merawat" seseorang
  • Tidak tersedia - MTC tidak dapat berhubung dengan menara ini

Tekan butang ‘<’ untuk kembali ke menu utama.

Langkah 8: Menyesuaikan Kod

Menyesuaikan Kod
Menyesuaikan Kod

Tangkapan skrin yang ditunjukkan di sini menunjukkan apa yang saya perhatikan terlalu lama… 4 lakaran pada satu masa! Siapa kata debugging tidak menyeronokkan!

Kod memberikan kawalan dan pilihan yang ditunjukkan di atas, tetapi bagaimana dengan menyesuaikan kod?

Sudah tentu! Tetapi ada banyak yang berlaku di sini, jadi berikut adalah beberapa panduan atau petua.

Petua1 - Mengubah urutan "Sembang". Pengubahsuaian ini berlaku dalam kod turet.

Saya cuba mencari kaedah agar kod berfungsi untuk saya di mana sahaja saya boleh. Menjadikan urutan sembang lebih diedit (Adakah itu kata?) Sehingga saya dapat memberi tumpuan kepada cerita memerlukan lebih banyak kerja di depan, tetapi menjadikannya lebih mudah untuk menyesuaikannya selepas itu.

Mengubah urutan Obrolan menggunakan struktur pengekodan yang disediakan dapat dilakukan dengan cara yang cukup mudah, dengan syarat anda mengikuti kaedah yang digunakan dalam kod tersebut. Dengan menggunakan fail suara yang disediakan, dari permainan Portal 2, anda hanya perlu menukar jadual (chatSayings ).

Pilih pepatah untuk menara biasa atau menara yang cacat. Pepatah adalah fail mp3 yang diidentifikasi oleh "00XX -" diikuti oleh teks yang menggambarkan pepatah. Nombor itulah bahagian yang penting. Turret # 1 akan menggunakan nilai XX ini dalam jadual. Turret # 2 akan awalan nilai XX dengan ‘1’, dan turet # 3 akan awalan nilai XX dengan ‘2’. Jadi, sebagai contoh, jika anda memilih ungkapan "0040 - maaf", dan ingin menara # 3 mengatakannya, anda akan memasukkan "240" ke dalam jadual dengan urutan yang betul. Sekiranya menara # 1 mengatakannya, anda akan memasukkan "40" ke dalam jadual.

Lakukan perkara yang sama untuk ungkapan seterusnya, dan seterusnya. Ini mungkin beberapa ungkapan antara menara, atau beberapa. (Saya tidak mengetahui batasan kaedah ini, selain memori).

Anda tidak perlu mengubah nilai jadual lain kerana ia adalah masa yang sesuai dengan pepatah dalam jadual. Satu-satunya garis lain yang berubah adalah sekitar garis 520.

jika (i> = 43) {// akhir urutan

Nilai i di sini harus ditetapkan kepada jumlah ucapan dalam jadual chatSayings.

Untuk membuat ucapan yang disesuaikan sepenuhnya, (di mana keseronokan sebenarnya bermula!), Anda perlu menyusun ungkapan dalam fail bernombor, dan mengetahui jangka masa yang diperlukan untuk memainkan fail. Simpan fail ke folder "mp3" di direktori root kad SD menggunakan kaedah empat digit ("0001", "0002", dll.). Kemudian log masa dalam milisaat yang diperlukan untuk fail itu dimainkan. Masukkan nilai-nilai ini dalam jadual yang sesuai.

Oleh itu, untuk ungkapan yang disimpan sebagai, "0037 - [ekspresi anda]", yang memerlukan 5400 milisaat untuk dimainkan, anda akan meletakkan '37' di meja chatSayings di lokasi yang sesuai (dan menambahkan awalan bergantung pada turret mana yang dikatakan it), dan 5400 di jadual NormaTimings di lokasi yang sama (seperti item ke-5 di setiap jadual).

Sekarang apabila nilai ‘i’ meningkat, kodnya akan dimainkan 0037 selama 5400 milisaat.

Perhatikan bahawa saya telah menambahkan pemboleh ubah "timeadder" yang menambahkan sedikit masa tambahan pada setiap pepatah ketika bermain. Ini memberikan sedikit jarak antara ucapan sehingga tidak kelihatan bertindih.

Keindahan kaedah ini ialah jadual yang dilengkapkan sama persis di setiap menara! Tidak perlu menyesuaikan jadual ini untuk setiap menara. Anda hanya perlu menyusun satu jadual, dan kodnya menentukan apa yang dikatakan oleh setiap turet berdasarkan jadual yang sama.

Ini bermaksud bahawa anda boleh fokus pada penulisan skrip dan bukannya pengkodan!

Sekiranya seseorang mempunyai cara yang lebih baik untuk melakukan ini, saya ingin mendengarnya !!

Langkah 9: Ringkasan

Ringkasan
Ringkasan

Jadi ini memerlukan lebih banyak masa daripada yang saya fikirkan, tetapi saya agak menggelitik hasilnya. Beberapa rutin berbual masih membuat saya ketawa!

Saya ingin mendengar kaedah lain untuk melakukan perkara yang saya lakukan dalam kod saya. Saya pasti ada bahagian yang dapat ditulis ulang dan menggunakan memori yang lebih sedikit, yang memungkinkan lebih banyak ciri atau pilihan.

Saya juga ingin melihat idea lain dimasukkan ke dalam MTC dan kawalan menara!

Saya harap saya telah menyediakan platform untuk pereka dan pengkod lain untuk menggunakan / mencuri / belajar. Saya dapat melihat ini digunakan untuk menolong orang belajar membuat kod. Keluarkan bahagian dari MTC dan / atau turet, seperti "Mod manual" misalnya, dan minta pelajar mengembangkan cara mereka sendiri untuk memasukkan kawalan manual!

Saya telah belajar banyak perkara dari komuniti ini dan web yang lebih luas secara umum. Saya masih kagum berapa banyak orang menghabiskan banyak masa untuk mencari tahu dan membagikannya kepada dunia. Saya rasa saya harus mengambil apa yang telah saya pelajari, menerapkannya, dan juga berkongsi dengan anda!

Semoga berjaya dan bersenang-senang membina pasukan menara anda sendiri!

Disyorkan: