Isi kandungan:
- Langkah 1: Menghubungkan Butang Kawalan ke Arduino
- Langkah 2: Mengekodkan Arduino Leonardo:
- Langkah 3:
- Langkah 4:
- Langkah 5:
- Langkah 6:
- Langkah 7:
- Langkah 8: Pergerakan Pengekodan dalam Perpaduan:
- Langkah 9:
- Langkah 10:
- Langkah 11:
- Langkah 12:
- Langkah 13:
- Langkah 14: Menyambungkan Lampu ke Arduino
- Langkah 15: Mengekodkan Arduino Uno
- Langkah 16:
- Langkah 17:
- Langkah 18: Coding Lights Unity Side:
- Langkah 19:
- Langkah 20:
- Langkah 21:
- Langkah 22:
- Langkah 23:
- Langkah 24:
Video: Arduino Game Controller With Lights Menanggapi Unity Game Anda :: 24 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Pertama saya menulis perkara ini dengan kata-kata. Ini adalah kali pertama saya menggunakan arahan, setiap kali saya mengatakan: tuliskan kod, jadi ketahuilah bahawa saya merujuk kepada gambar di bahagian atas langkah itu.
Dalam projek ini, saya menggunakan 2 arduino untuk menjalankan 2 bit kod yang berasingan kerana saya menghadapi masalah untuk menggunakannya hanya dengan satu
Ini adalah Uno dan Leonardo
secara keseluruhan inilah yang anda perlukan untuk membuat projek ini.
· 7 butang tekan
· 23 wayar pelompat
· 1 kabel arduino Leonardo + usb
· 4 perintang · 4 led
· 1 kabel arduino uno + usb
· 2 papan roti
Langkah 1: Menghubungkan Butang Kawalan ke Arduino
Apa yang anda perlukan untuk menghubungkan bahagian ini:
· 7 butang tekan
· 14 wayar pelompat
· 1 kabel arduino Leonardo + usb
· Papan roti
Butang cukup mudah untuk disambungkan tetapi dengan cepat dapat menjadi kekacauan untuk dipaparkan dalam bentuk gambar.
· Pertama anda meletakkan butang tekan pada kedudukan yang saya tandakan pada gambar di atas.
· Kedua, anda ingin memasang pelompat dari slot tanah di arduino Leonardo ke baris minus papan roti.
· Sekarang anda menghubungkan jumper dari mana sahaja di baris tolak ke baris yang sesuai dengan pin kanan butang tekan anda. ini akan memberi kuasa kepadanya.
· Seterusnya anda ingin memasang wayar pelompat dari baris yang sesuai dengan pin kiri butang tekan anda ke slot input digital Leonardo. Untuk butang di sini saya menggunakan slot 2 - 3 - 4 - 5 - 6 - 7- 8
Saya hanya menunjukkan wayar akan memasukkan 8 pada gambar kerana ia menjadi gambar yang sangat tidak kemas untuk menunjukkan kepada anda semua wayar yang saling bersilang.
Langkah 2: Mengekodkan Arduino Leonardo:
Oleh itu, untuk memberitahu anda alasan saya menggunakan Leonardo untuk ini. Ini kerana ia mempunyai cip tertentu yang tidak dimiliki oleh Uno yang menjadikan komputer mengenalinya sebagai peranti input usb. Seperti papan kekunci. Yang membolehkan kita melakukan sesuatu yang menjadikan hidup kita sebagai pengaturcara untuk projek ini jauh lebih mudah. Peniruan papan kekunci. Kita akan memperdayakan komputer untuk berfikir bahawa kita menekan kekunci tertentu pada papan kekunci semasa kita sebenarnya menekan butang pada alat kawalan kita.
Sekarang saya akan memandu anda berfikir kodnya selangkah demi selangkah.
Mula-mula di bahagian atas kami menyertakan Keyboard.h. Ini akan membolehkan kita menggunakan fungsi papan kekunci yang akan kita gunakan dalam kod kita.
Langkah 3:
Kemudian kita perlu menentukan slot input digital yang akan kita gunakan pada
Leonardo untuk setiap butang.
Saya juga telah menamakan setiap satu daripada kunci yang akan dicontohi.
Langkah 4:
Dari sana kita masuk ke fungsi persediaan. Ini memberitahu
arduino apa yang dilakukannya semasa memulakan.
pertama kita menulis Serial.begin yang akan membuka port bersiri dan menetapkan kadar data hingga 9600 bps
dan kami mendefinisikan semua pin bernama sebagai input.
Langkah 5:
Dan akhirnya kami menulis fungsi gelung kami yang akan memeriksa sama ada
butang ditekan dan beritahu arduino bagaimana bertindak balas terhadapnya.
Mula-mula kita menulis Keyboard.begin yang akan memberitahu arduino bahawa dia perlu memerhatikan kita menggunakan fungsi papan kekunci
Langkah 6:
Kemudian untuk setiap butang kami menulis pernyataan if / else yang seperti ini
Oleh itu, apa yang saya sampaikan kepada arduino di sini adalah: Sekiranya butang kiri saya ditekan pada pengawal membuat komputer berfikir bahawa kita menekan kekunci "a" dan jika itu tidak berlaku, anggaplah bahawa kita telah melepaskan kunci tersebut.
Anda pada dasarnya mengulangi sekatan kod ini untuk setiap butang pada pengawal anda. dengan perubahan untuk setiap pemboleh ubah dan kunci yang perlu dicontohi oleh pemboleh ubah
Langkah 7:
Kunci yang kami suruh komputer di sini adalah W - A - S - D yang
cukup banyak standard untuk pergerakan dalam permainan pc dan E - Q - dan bar ruang yang dalam kod ini dikenali sebagai '' yang merupakan butang yang saya gunakan untuk mengambil - menolak dan menembak dalam permainan saya. Jangan ragu untuk menukarnya kepada kekunci apa pun yang anda rasa berfungsi lebih baik untuk permainan / pengawal anda.
Kemudian terakhir kami memberitahu arduino untuk menghentikan pemeriksaan Keyboard.end yang mana
Langkah 8: Pergerakan Pengekodan dalam Perpaduan:
Pertama saya beritahu saya bahawa saya membuat ini untuk permainan 2d
contoh yang akan anda lihat dibina untuk itu. Terutama bermaksud di mana saya menggunakan vector2 jika anda bekerja dalam 3d anda akan menggunakan vector3. kerana anda perlu risau tentang dimensi pergerakan tambahan dalam bentuk 3d.
Sekarang alasan saya menggunakan emulasi Papan Kekunci di sisi arduino adalah kerana Unity mempunyai sesuatu untuk mengenali kekunci pada papan kekunci yang boleh kita gunakan.
Sekiranya anda membuka projek anda secara bersatu pergi ke Edit -> Tetapan projek -> Input. Anda dapat melihat di pemeriksa anda bahawa pengurus input dapat digunakan. Di mana jika anda mengklik pada Axes anda dapat melihat sejumlah besar nama input terbuka yang biasanya digunakan untuk pengawal pc seperti yang kami buat sekarang. 2 input yang akan kami gunakan adalah Horizontal dan Vertical yang memeriksa anda meneka W-A-S-D.
Mula-mula anda ingin membuat objek Dalam hierarki adegan perpaduan anda yang akan menjadi pemain anda. Dalam kes saya menjadi lelaki kecil yang menyeronokkan ini. Ini boleh menjadi apa sahaja yang anda perlukan tetapi untuk tujuan permainan saya, saya menjadikan lelaki ini.
Langkah 9:
Anda mahu memberikan 2 perkara kepada pemain ini. Pelindung kotak 2d dan
a Rigidbody 2d dan edit seperti gambar di atas.
Langkah 10:
Kemudian anda mahu masuk ke folder projek anda dan buat a
Skrip C #. Yang saya namakan PlayerMovement.
Dalam skrip ini, anda akan menentukan 2 pemboleh ubah. Float awam yang saya namakan moveSpeed. Yang akan menentukan seberapa pantas anda pergi. Dan Rigidbody2D peribadi yang saya panggil RigidPlayer. Yang akan mencari pemain anda tegar.
Jangan lupa untuk mendapatkan editor penyatuan anda, klik pada pemain anda, tambahkan skrip baru ini dengan menyeretnya ke pemeriksa dan tetapkan nilai nombor untuk moveSpeed.
Langkah 11:
sekarang dalam Mula () anda ingin melakukan satu perkara dan itu adalah
pastikan RigidPlayer anda dapat menemui pembayar rigidbody 2d anda. Anda melakukannya dengan baris kod berikut:
Langkah 12:
Kemudian kita beralih ke kemas kini (). Di sinilah kita hendak pergi
untuk membuat pemain bergerak.
kami melakukannya dengan pernyataan if yang cukup mudah yang akan melihat kunci negatif dan positif dari Horizontal (AD) dan Vertical (SW) dan menerapkannya sebagai bilangan untuk memaksa kita akan menggunakan rigidbody 2d kita untuk mendorong pemain kita masuk arah. Nombor itu akan didarabkan dengan pemboleh ubah bergerakSpeed.
Langkah 13:
Terakhir anda ingin memastikan pemain anda berhenti bergerak ketika
anda tidak menekan apa-apa. Ini anda suka:
Sekarang jika anda mahu menggunakan 3 butang anda yang lain untuk apa sahaja yang anda lakukan dengan pernyataan if ini: if (Input. GetKeyDown (Keycode. Space))
untuk bar ruang dan bukannya ruang meletakkan huruf kunci lain yang anda pilih untuk digunakan untuk kekunci lain.
Langkah 14: Menyambungkan Lampu ke Arduino
·
Apa yang anda perlukan untuk menghubungkan bahagian ini:
· 9 wayar pelompat
· 4 perintang
· 4 led
· 1 kabel arduino uno + usb
· Papan roti
Penyambungan lampu akan dilakukan melalui Uno.
Ini akan kelihatan seperti gambar di atas:
Anda pasangkan perintang ke sisi panjang LED. Kemudian anda menyambungkan pelompat dari nombor pin digital pada uno ke perintang. dalam kes ini saya menggunakan slot pin digital 9 - 10 -11 -12 nombor ini akan relevan apabila kita mendapatkan kod lampu.
Dari sana anda ingin memasang pelompat dari slot tanah di arduino Uno anda ke tempat di papan anda seperti yang dilihat dengan wayar hitam pada gambar di atas.
Kemudian anda mahu mempunyai 4 penerjun yang menuju ke hujung pendek setiap LED
Langkah 15: Mengekodkan Arduino Uno
Baiklah pertama kita akan menentukan pemboleh ubah kita lagi
Oleh itu, input digital mana yang kita gunakan untuk lampu kita. Dan kami akan membuat char yang dipanggil myCol [20]
Langkah 16:
Kemudian dalam persediaan kita mahu melakukan Serial.begin lagi. Matikan semua LED kami pada Output dan matikan semuanya pada permulaan.
Langkah 17:
Dan akhirnya anda ingin menulis fungsi gelung anda.
Ini akan menyebabkan Arduino membaca setiap data yang masuk melalui siri sehingga salah satu daripada dua peristiwa berlaku. Sama ada watak suapan baris dikesan; ini dikenal pasti oleh lf yang ditetapkan ke 10 dan merupakan argumen pertama atau sejumlah bait telah dibaca. Ini adalah argumen ketiga dan untuk contoh ini ditetapkan hanya satu bait. Data disimpan dalam pemboleh ubah myCol, yang diatur ke char dan had 20. Dalam readBytesUntuk ini adalah argumen kedua. Atau kaedah lain untuk menjelaskannya ialah Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Dan pernyataan if akan memastikan lampu tertentu menyala ketika perpaduan memberi isyarat. Dalam kes ini, saya mendapat 4 lampu berwarna yang berbeza sehingga saya membuat unity mengirim g agar LED hijau menyala, b untuk LED biru menyala, r untuk LED merah menyala dan y untuk LED kuning menyala.
Langkah 18: Coding Lights Unity Side:
Oke 2 perkara terlebih dahulu sebelum kita memasuki perkara ini.
1.dalam program pengekodan arduino anda, pergi ke Tool -> Port -> dan periksa COM mana uno anda aktif. Dalam kes saya, COM3 (ini akan menjadi penting dalam kodnya)
2. dalam kesatuan Pergi ke Edit -> Tetapan projek -> Pemain kemudian pada pemeriksa klik pada tetapan lain pergi ke Tahap keserasian Api dan Tukar dari subnet. NET 2.0 ke. NET 2.0
Oke sudah selesai. Mari masuk ke dalamnya.
Klik kanan pada hierarki anda dan klik Buat kosong.
Ini akan menjadi objek permainan kosong yang hanya akan ada dalam permainan anda untuk menyimpan satu skrip untuk kami. Saya telah memanggil objek ini sebagai Init.
Langkah 19:
Kemudian masuk ke tab projek anda dan buat skrip C # baru
dan memanggilnya Menghantar.
Perkara pertama yang anda lakukan ialah menuliskannya pada baris di bahagian kod anda yang menggunakan:
menggunakan System. IO. Ports;
menggunakan System. Threading;
ini menjadikannya kita boleh menggunakan pemboleh ubah SerialPort
Langkah 20:
dalam skrip ini kita akan membuat pemboleh ubah berikut. Sekarang perhatikan saya mendapat COM3 di sana ini mungkin berbeza untuk anda seperti yang kita bincangkan pada awal langkah ini. Sekiranya ia menggantikan 3 dengan nombor yang dinyatakan untuk anda.
Langkah 21:
Pada mulanya kami memberitahu skrip yang akan digunakan adalah OpenConnection
fungsi yang akan kita tulis sebentar lagi
kemas kini lebih merupakan ujian daripada apa-apa tetapi jika anda mahu memasukkannya untuk menguji mesej yang dihantar kepada kesatuan. Anda boleh mengabaikannya dengan jujur.
Langkah 22:
Oke sekarang untuk fungsi OpenConnection ini. Ini hanya besar
jika / pernyataan lain yang membuat sambungan terbuka hanya salin seperti ditulis dan anda pasti baik-baik saja.
Langkah 23:
Sekarang Ingat dari kod arduino yang saya buat untuk diperiksa
memberi isyarat bahawa perpaduan akan menghantarkannya.
baik inilah yang berlaku. Dalam kes saya, saya memasang 4 lampu sehingga saya menulis 4 fungsi yang sangat mudah. Yang mereka buat hanyalah ketika dipanggil mereka menghantar surat kepada arduino. Apabila arduino mendapatkan huruf itu, ia menyala cahaya yang sesuai dengan huruf tersebut.
Langkah 24:
Anda mungkin tertanya-tanya bagaimana saya memanggilnya
berfungsi? Baik anda melakukannya dengan satu baris sederhana dalam skrip c # anda yang lain yang anda gunakan untuk permainan anda. Menghantar. NameFungsidi sini ();. Jadi misalnya dalam permainan saya pemain ditugaskan untuk mengumpulkan 4 bola berwarna. Oleh itu, saya menulis sedikit skrip yang memastikan bahawa apabila dia mendekati satu dan menekan butang kanan, dia mengambilnya dan ia akan menghantar isyarat kepada arduino bahawa dalam hal ini bola Kuning telah diambil. Agar ia tahu, oke saya harus menyalakan LED Kuning:
Anda boleh meletakkan satu baris kod ini di mana sahaja anda mahu. Sekiranya anda mahu ia menyala ketika permainan dimulakan, masukkan ke dalam fungsi permulaan. Mahu ia menyala ketika dia mati meletakkannya dalam fungsi anda untuk kematian pemain. Percubaan sedikit. Saya memilih untuk menjadikan lampu semacam elemen ui di luar permainan untuk mengawasi bola yang harus anda kumpulkan tanpa mengacaukan layar.
Disyorkan:
Topeng Covid-19 Yang Menjerit kepada Anda Sekiranya Anda Menyentuh Wajah Anda: 4 Langkah
Topeng Covid-19 yang Menjerit kepada Anda Sekiranya Anda Menyentuh Wajah Anda: Tidak boleh berhenti menyentuh wajah anda? Letakkan elektronik ini ke topeng yang anda ada dan anda akan selalu diingatkan untuk tidak melakukan perkara itu
Arduino Game Controller + Unity Game: 5 Langkah
Arduino Game Controller + Unity Game: Dalam instruksional ini saya akan menunjukkan kepada anda bagaimana membina / memprogram pengawal permainan arduino yang dapat menghubungkan ke kesatuan
Simple Unity Controller: 5 Langkah
Simple Unity Controller: Deskripsi Projek ini adalah pengawal yang sangat mudah yang dapat memberi input kepada Unity ketika menekan butang. Saya merancangnya untuk mengawal permainan yang saya buat di mana pemain boleh pergi ke kiri dan kanan. Sudah tentu anda sentiasa dapat menyesuaikannya untuk lebih banyak kawalan. Tidak ada n
Unity Multiplayer 3D Hologram Game dan Hologram Projector untuk PC: 16 Langkah (dengan Gambar)
Unity Multiplayer 3D Hologram Game dan Hologram Projector untuk PC: Pada inspirasi pada Holus, saya ingin mengembangkan paparan Holografik dengan harga yang sangat murah. Tetapi ketika cuba mencari permainan, saya tidak menjumpai apa-apa di web. Oleh itu, saya merancang untuk mengembangkan permainan saya sendiri di Unity. Ini adalah permainan pertama saya dalam kesatuan. Sebelum itu saya mengembangkan beberapa permainan dalam Flash, tetapi
Cara Mendapatkan Muzik Dari Laman Web HANYA (Haha) (Selagi Anda Boleh Mendengarnya, Anda Boleh Mendapatkannya Ok Baiklah Jika Ia Dimasukkan dalam Kilat Anda Mungkin Tidak Mampu) DIEDIT !!!!! Maklumat Tambahan: 4 Langkah
Cara Mendapatkan Muzik Dari Laman Web HANYA (Haha) (Selagi Anda Boleh Mendengarnya, Anda Boleh Mendapatkannya … Ok Baiklah Jika Ia Dimasukkan dalam Kilat Anda Mungkin Tidak Mampu) DIEDIT !!!!! Maklumat Tambahan: jika anda pernah pergi ke laman web dan memainkan lagu yang anda suka dan mahukannya, inilah petunjuk untuk tidak salah saya sekiranya anda mengacaukan sesuatu (satu-satunya cara ia akan berlaku adalah jika anda mula menghapus barang tanpa sebab ) Saya dapat mendapatkan muzik untuk