Daftar Isi:
- Langkah 1: Menghubungkan Tombol Kontrol ke Arduino
- Langkah 2: Mengkodekan Arduino Leonardo:
- Langkah 3:
- Langkah 4:
- Langkah 5:
- Langkah 6:
- Langkah 7:
- Langkah 8: Gerakan Coding dalam Unity:
- Langkah 9:
- Langkah 10:
- Langkah 11:
- Langkah 12:
- Langkah 13:
- Langkah 14: Menghubungkan Lampu ke Arduino
- Langkah 15: Mengkodekan 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: Pengontrol Game Arduino Dengan Lampu Menanggapi Game Unity Anda:: 24 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Pertama saya menulis hal ini dalam kata. Ini adalah pertama kalinya saya menggunakan instruksi jadi setiap kali saya mengatakan: tulis kode seperti jadi ketahuilah bahwa saya mengacu pada gambar di bagian atas langkah itu.
Dalam proyek ini saya menggunakan 2 arduino untuk menjalankan 2 bit kode yang terpisah karena saya mengalami kesulitan membuatnya bekerja hanya dengan satu
Ini adalah Uno dan Leonardo
secara total inilah yang Anda perlukan untuk membuat papan tempat memotong roti proyek ini.
· 7 tombol tekan
· 23 kabel jumper
· 1 arduino Leonardo + kabel usb
· 4 resistor · 4 led
· 1 arduino uno + kabel usb
· 2 papan tempat memotong roti
Langkah 1: Menghubungkan Tombol Kontrol ke Arduino
Apa yang Anda perlukan untuk menghubungkan bagian ini:
· 7 tombol tekan
· 14 kabel jumper
· 1 arduino Leonardo + kabel usb
· papan tempat memotong roti
Tombol-tombolnya cukup sederhana untuk dihubungkan tetapi dapat dengan cepat menjadi berantakan untuk ditampilkan dalam bentuk gambar.
· pertama-tama Anda menempatkan tombol tekan di posisi yang saya tandai pada gambar di atas.
· Kedua, Anda ingin menghubungkan jumper dari slot ground pada arduino Leonardo ke baris minus pada papan tempat memotong roti.
· Sekarang Anda menghubungkan jumper dari mana saja di baris minus ke baris yang sesuai dengan pin kanan Anda menekan tombol. ini akan memberi makan kekuatan untuk itu.
· Selanjutnya Anda ingin menghubungkan kabel jumper dari baris yang sejajar dengan pin kiri tombol tekan Anda ke slot input digital Leonardo. Untuk tombol disini saya menggunakan slot 2 - 3 – 4 – 5 - 6 - 7-8
Saya hanya menunjukkan kabel yang akan masuk ke input 8 pada gambar karena itu menjadi gambar yang sangat berantakan untuk menunjukkan kepada Anda semua kabel yang saling bersilangan.
Langkah 2: Mengkodekan Arduino Leonardo:
Jadi untuk memberi tahu Anda alasan saya menggunakan Leonardo untuk ini. Itu karena memiliki chip tertentu yang tidak dimiliki Uno yang membuat komputer mengenalinya sebagai perangkat input usb. Sama seperti itu akan keyboard. Yang memungkinkan kita untuk melakukan sesuatu yang membuat hidup kita sebagai programmer untuk proyek ini jauh lebih mudah. Emulasi papan ketik. Kita akan mengelabui komputer agar berpikir bahwa kita menekan tombol tertentu pada keyboard padahal sebenarnya kita menekan tombol pada pengontrol kita.
Sekarang saya akan memandu Anda memikirkan kode langkah demi langkah.
Pertama-tama di bagian atas kami menyertakan Keyboard.h. Ini akan memungkinkan kita untuk menggunakan fungsi keyboard yang akan kita gunakan dalam kode kita.
Langkah 3:
Kemudian kita perlu menentukan slot input digital yang akan kita gunakan pada
Leonardo untuk setiap tombol.
Saya juga menamai semuanya dengan kunci yang akan saya tiru.
Langkah 4:
Dari sana kita masuk ke fungsi setup. Ini memberitahu
arduino apa yang dilakukannya saat start up.
pertama kita tulis Serial.begin yang akan membuka serial port dan set data rate ke 9600 bps
dan kami mendefinisikan semua pin bernama untuk menjadi input.
Langkah 5:
Dan akhirnya kami menulis fungsi loop kami yang akan memeriksa apakah
tombol sedang ditekan dan memberitahu arduino bagaimana menanggapinya.
Pertama kita menulis Keyboard.begin yang akan memberi tahu arduino bahwa dia perlu mengawasi kita menggunakan fungsi keyboard
Langkah 6:
Kemudian untuk setiap tombol kami menulis pernyataan if/else yang berbunyi seperti ini
Jadi apa yang saya katakan kepada arduino di sini adalah: Jika tombol kiri saya ditekan pada pengontrol membuat komputer berpikir kita menekan tombol "a" dan jika tidak, membuatnya berpikir bahwa kita telah melepaskan kuncinya.
Anda pada dasarnya mengulangi blok kode ini untuk setiap tombol pada pengontrol Anda. dengan perubahan untuk setiap variabel dan kunci yang perlu ditiru oleh variabel
Langkah 7:
Kunci yang kami suruh komputer untuk menekan di sini adalah W – A – S – D yang
cukup banyak standar untuk gerakan di game pc dan E – Q – dan spasi yang dalam kode ini dikenali sebagai '' yang merupakan tombol yang saya gunakan untuk mengambil - menutup dan menembak di game saya. Jangan ragu untuk mengubahnya ke tombol apa pun yang Anda rasa berfungsi lebih baik untuk game/pengontrol Anda.
Lalu terakhir kami memberi tahu arduino untuk menghentikan pemeriksaan Keyboard.end yang mana
Langkah 8: Gerakan Coding dalam Unity:
Pertama izinkan saya memberi tahu Anda bahwa saya membuat ini untuk game 2d jadi
contoh yang akan Anda lihat dibuat untuk itu. Terutama berarti di mana saya menggunakan vector2 jika Anda bekerja dalam 3d, Anda akan menggunakan vector3. karena Anda perlu khawatir tentang dimensi ekstra gerakan dalam 3d.
Sekarang alasan saya menggunakan emulasi Keyboard di sisi arduino adalah karena Unity memiliki sesuatu yang dibangun untuk mengenali tombol pada keyboard yang dapat kita gunakan.
Jika Anda membuka proyek Anda dalam kesatuan, buka Edit -> Pengaturan proyek -> Input. Anda dapat melihat di inspektur Anda mem-boot manajer input. Di mana jika Anda mengklik Axes, Anda dapat melihat sejumlah besar nama input terbuka yang biasanya digunakan untuk pengontrol pc seperti yang kami buat sekarang. 2 input yang akan kita gunakan adalah Horizontal dan Vertikal yang memeriksa apakah Anda dapat menebaknya W-A-S-D.
Pertama, Anda ingin membuat objek Dalam hierarki adegan kesatuan Anda yang akan menjadi pemain Anda. Dalam kasus saya menjadi pria kecil yang menyenangkan ini. Ini bisa menjadi apa pun yang Anda butuhkan, tetapi untuk tujuan permainan saya, saya membuat orang ini.
Langkah 9:
Anda ingin memberi pemain ini 2 hal. Tabrakan kotak 2d dan
a Rigidbody 2d dan edit menjadi seperti gambar di atas.
Langkah 10:
Kemudian Anda ingin masuk ke folder proyek Anda dan membuat
Skrip C#. Yang saya beri nama PlayerMovement.
Dalam skrip ini Anda akan mendefinisikan 2 variabel. Sebuah pelampung publik yang saya sebut moveSpeed. Yang akan menentukan seberapa cepat Anda pergi. Dan Rigidbody2D pribadi yang saya sebut RigidPlayer. Yang akan mencari pemain Anda yang kaku.
Jangan lupa untuk membuka editor kesatuan Anda, klik pemutar Anda, tambahkan skrip baru ini dengan menyeretnya ke inspektur dan menetapkan nilai angka untuk moveSpeed.
Langkah 11:
sekarang di Start() Anda, Anda ingin melakukan satu hal dan itu adalah
pastikan RigidPlayer Anda dapat menemukan 2d rigidbody pembayar Anda. Anda melakukannya dengan baris kode berikut:
Langkah 12:
Kemudian kita beralih ke update(). Di sinilah kita akan pergi
untuk membuat pemain bergerak.
kita melakukannya dengan pernyataan if yang cukup sederhana yang akan melihat tombol negatif dan positif dari Horizontal (AD) dan Vertikal (SW) dan menerapkannya sebagai angka untuk memaksa kita akan memakai 2d rigidbody kita untuk mendorong pemain kita masuk sebuah arah. Angka tersebut akan dikalikan dengan variabel moveSpeed.
Langkah 13:
Terakhir Anda ingin memastikan pemutar Anda berhenti bergerak saat
Anda tidak menekan apa pun. Ini yang Anda sukai:
Sekarang jika Anda ingin menggunakan 3 tombol lain untuk apa pun, Anda melakukannya dengan pernyataan if ini: if(Input. GetKeyDown(Keycode. Space))
untuk spasi dan alih-alih spasi, letakkan huruf dari tombol lain yang Anda pilih untuk digunakan untuk tombol lainnya.
Langkah 14: Menghubungkan Lampu ke Arduino
·
Apa yang Anda perlukan untuk menghubungkan bagian ini:
· 9 kabel jumper
· 4 resistor
· 4 led
· 1 arduino uno + kabel usb
· papan tempat memotong roti
Sambungan untuk lampu akan dilakukan melalui Uno.
Ini akan berakhir seperti gambar di atas:
Anda menghubungkan resistor ke sisi panjang LED. Dan kemudian Anda menghubungkan jumper dari nomor pin digital di uno ke resistor. dalam hal ini saya menggunakan slot pin digital 9 – 10 -11 -12 angka-angka ini akan relevan ketika kita sampai ke kode untuk lampu.
Dari sana Anda ingin menghubungkan jumper dari slot ground pada arduino Uno Anda ke tempat di papan Anda seperti yang terlihat dengan kabel hitam pada gambar di atas.
Maka Anda ingin memiliki 4 jumper yang semuanya mengarah ke ujung pendek setiap LED
Langkah 15: Mengkodekan Arduino Uno
Baiklah pertama kita akan mendefinisikan variabel kita lagi
Jadi pertama-tama input digital mana yang kita gunakan untuk lampu kita. Dan kita akan membuat char bernama myCol[20]
Langkah 16:
Kemudian di setup kita ingin melakukan Serial.begin lagi. Letakkan semua LED kami di Output dan matikan semuanya saat startup.
Langkah 17:
Dan akhirnya Anda ingin menulis fungsi loop Anda.
Ini akan menyebabkan Arduino membaca data apa pun yang masuk melalui serial sampai salah satu dari dua peristiwa terjadi. Salah satu karakter umpan baris terdeteksi; ini diidentifikasi dengan lf yang disetel ke 10 dan merupakan argumen pertama atau sejumlah byte tertentu telah dibaca. Ini adalah argumen ketiga dan untuk contoh ini disetel ke hanya satu byte. Data disimpan dalam variabel myCol, yang diatur ke char dan batas 20. Dalam readBytesUntil ini adalah argumen kedua. Atau cara lain untuk menjelaskannya adalah Serial.readBytesUntil(terminatorCharacter, buffer, byteLimit);
Dan pernyataan if akan memastikan lampu tertentu menyala saat unity memberikan sinyal. Dalam hal ini saya mendapat 4 lampu yang berbeda warna jadi saya buat unity send g untuk 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 hal dulu sebelum kita masuk ke ini.
1. dalam program pengkodean arduino Anda, buka Alat -> Port -> dan periksa saya di COM mana uno Anda aktif. Dalam kasus saya COM3 (ini akan menjadi penting dalam kode)
2. dalam kesatuan Buka Edit -> Pengaturan proyek -> Pemain kemudian di inspektur klik pengaturan lain, buka Tingkat kompatibilitas Api dan Alihkan dari subnet. NET 2.0 ke hanya. NET 2.0
Oke selesai. Mari kita masuk ke dalamnya.
Klik kanan pada hierarki Anda dan klik Buat kosong.
Ini akan menjadi objek game kosong yang hanya akan ada di game Anda untuk menyimpan satu skrip untuk kami. Saya menamakan objek ini Init.
Langkah 19:
Lalu masuk ke tab proyek Anda dan buat skrip C # baru
dan menyebutnya Mengirim.
Hal pertama yang Anda lakukan adalah menulis ini ke baris di bagian penggunaan kode Anda:
menggunakan System. IO. Ports;
menggunakan System. Threading;
ini membuatnya jadi kita bisa menggunakan variabel SerialPort
Langkah 20:
dalam skrip ini kita akan membuat variabel berikut. Sekarang perhatikan saya mendapat COM3 di sana ini mungkin berbeda untuk Anda seperti yang kita bahas di awal langkah ini. Jika sudah ganti 3 dengan angka yang tertulis untuk Anda.
Langkah 21:
Pada awalnya kami memberi tahu skrip yang akan digunakan adalah OpenConnection
fungsi yang akan kita tulis sedikit
pembaruan lebih merupakan ujian daripada apa pun tetapi jika Anda ingin memasukkannya untuk menguji pesan yang dikirim ke kesatuan. Anda bisa mengabaikannya dengan jujur.
Langkah 22:
Oke sekarang untuk fungsi OpenConnection ini. Ini hanya besar
pernyataan if/else yang membuat koneksi tetap terbuka, salin saja seperti yang tertulis dan Anda akan baik-baik saja.
Langkah 23:
Sekarang Ingat dari kode arduino yang saya buat untuk diperiksa
sinyal bahwa persatuan akan dikirim ke sana.
baik di sinilah yang terjadi. Dalam kasus saya, saya mendapatkan 4 lampu yang terhubung jadi saya menulis 4 fungsi yang sangat sederhana. Yang mereka lakukan adalah ketika mereka dipanggil mereka mengirim surat ke arduino. Ketika arduino mendapatkan huruf itu, lampu yang sesuai dengan huruf tersebut akan menyala.
Langkah 24:
Anda mungkin bertanya-tanya bagaimana saya bisa memanggil ini
fungsi? Anda melakukannya dengan satu baris sederhana di salah satu skrip c# lain yang Anda gunakan untuk gim Anda. Mengirim. NamaFungsidi sini();. Jadi misalnya di game saya pemain ditugaskan untuk mengumpulkan 4 bola berwarna. Jadi saya menulis skrip kecil yang memastikan bahwa ketika dia mendekati satu dan menekan tombol kanan dia mengambilnya dan mengirimkan sinyal ke arduino bahwa dalam hal ini bola Kuning telah diambil. Agar tahu, oke saya harus menyalakan LED Kuning:
Anda dapat meletakkan satu baris kode ini di mana pun Anda suka. Jika Anda ingin menyala saat permainan dimulai, letakkan di fungsi mulai. Ingin menyala saat dia mati taruh di fungsi Anda untuk kematian pemain. Bereksperimenlah sebentar. Saya memilih untuk membuat lampu semacam elemen ui di luar game untuk melacak bola yang harus Anda kumpulkan tanpa mengacaukan layar.
Direkomendasikan:
Pengontrol Game DIY Berbasis Arduino - Pengontrol Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengontrol Game DIY Berbasis Arduino | Pengontrol Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Halo teman-teman, bermain game selalu menyenangkan tetapi bermain dengan Kontroler game kustom DIY Anda sendiri lebih menyenangkan. Jadi kami akan membuat Pengontrol game menggunakan arduino pro micro dalam instruksi ini
Pengontrol Game Arduino + Game Unity: 5 Langkah
Arduino Game Controller + Unity Game: Dalam instruksi ini saya akan menunjukkan kepada Anda cara membuat/memprogram pengontrol game arduino yang dapat terhubung ke unity
Tambahkan Lampu dan Musik Seram ke Jack-O-Lantern Anda - Tanpa Solder atau Pemrograman (Kecuali Anda Ingin): 9 Langkah (dengan Gambar)
Tambahkan Lampu dan Musik Seram ke Jack-O-Lantern Anda - Tanpa Solder atau Pemrograman (Kecuali Anda Ingin): Miliki Jack-O-Lantern paling menakutkan di jalan Anda dengan menambahkan lampu bercahaya dan musik seram! Ini juga merupakan cara yang bagus untuk mencoba Arduino dan elektronik yang dapat diprogram karena seluruh proyek dapat diselesaikan tanpa menulis kode atau menyolder - meskipun
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: 4 Langkah
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: Hai Pembuat,Saya baru-baru ini mulai menanam jamur di rumah, jamur tiram, tetapi saya sudah 3x pengontrol ini di rumah untuk kontrol Suhu Fermentor untuk minuman rumah saya, istri juga melakukan hal Kombucha ini sekarang, dan sebagai Termostat untuk Panas
Kontrol Lampu di Rumah Anda Dengan Komputer Anda: 3 Langkah (dengan Gambar)
Kontrol Lampu di Rumah Anda Dengan Komputer Anda: Pernahkah Anda ingin mengontrol lampu di rumah Anda dari komputer Anda? Ini sebenarnya cukup terjangkau untuk melakukannya. Anda bahkan dapat mengontrol sistem sprinkler, tirai jendela otomatis, layar proyeksi bermotor, dll. Anda memerlukan dua perangkat keras