Daftar Isi:

Pengontrol Persatuan Sederhana: 5 Langkah
Pengontrol Persatuan Sederhana: 5 Langkah

Video: Pengontrol Persatuan Sederhana: 5 Langkah

Video: Pengontrol Persatuan Sederhana: 5 Langkah
Video: BERUBAH - Film Pendek (Short Movie) Kemendikbud 2017 2024, November
Anonim
Pengontrol Persatuan Sederhana
Pengontrol Persatuan Sederhana

Keterangan

Proyek ini adalah pengontrol yang sangat sederhana yang dapat memberikan input ke Unity saat menekan tombol. Saya mendesainnya untuk mengontrol game yang saya buat di mana pemain dapat pergi ke kiri dan ke kanan. Tentu saja Anda selalu dapat menyesuaikannya untuk lebih banyak kontrol. Tidak perlu menggunakan perpustakaan tambahan.

Langkah 1: Bahan

Komponen yang dibutuhkan

  • -Arduino 2x resistor
  • -[~220 Ohm
  • -Kabel
  • -2x Tombol
  • -Papan tempat memotong roti

Langkah 2: Breadboarding

Papan tempat memotong roti
Papan tempat memotong roti

Saya mulai dengan menghubungkan port arduino GND ke pin negatif (-) di sisi kiri papan tempat memotong roti, dan menghubungkan 5V ke positif (+) di sisi kanan papan tempat memotong roti.

Setelah itu saya meletakkan tombol di tempat yang saya inginkan. Dan menghubungkannya menggunakan kabel dan resistor.

Langkah 3: Mengkode Arduino

Pertama-tama Anda perlu menulis beberapa kode untuk menjalankan Arduino Anda. Saya memberikan komentar dalam kode yang menjelaskan fungsinya.

// Deklarasikan pin yang terhubung dengan tombol.

const int buttonPin1 = 3; const int buttonPin2 = 4;

batalkan pengaturan()

{ //Mulai serial Serial.begin(9600); //Konfigurasikan pin sebagai output. pinMode(tombolPin1, INPUT); pinMode(tombolPin2, INPUT); }

lingkaran kosong()

{ //Baca status tombol if(digitalRead(buttonPin1) == HIGH) { //cetak baris ini jika status HIGH. Serial.println("Kiri"); penundaan (20); } if(digitalRead(buttonPin2) == HIGH) { //cetak baris ini jika status HIGH. Serial.println("Kanan"); penundaan (20); } }

Langkah 4: Kesatuan

Jika Anda belum menyiapkan game, kode ini akan bekerja pada objek game apa pun dalam kesatuan.

jika ini masalahnya, Anda akan membutuhkan objek game untuk dipindahkan.

Demi kesederhanaan kita akan membuat sebuah kubus dengan pergi ke GameObject->3D Object->Cube

setelah kubus ada di adegan Anda, pilih dan tekan tombol Tambahkan Komponen, dan buat skrip baru.

Anda juga perlu mengubah tingkat kompatibilitas Api agar pustaka System. IO. Ports berfungsi.

Untuk melakukan ini, pergi ke Edit->Project Settings->Player

gulir ke bawah di menu ini hingga Anda menemukan Tingkat Kompatibilitas Api dan pilih. NET 2.0 alih-alih subset. Net 2.0

Anda sekarang siap untuk memulai pengkodean.

menggunakan System. Collections;menggunakan System. Collections. Generic; menggunakan UnityEngine; menggunakan System. IO. Ports;

PlayerMovement kelas publik: MonoBehaviour

{ kecepatan pelampung publik; gerakan mengambang;

SerialPort sp = SerialPort baru("COM3", 9600);

batal Mulai()

{ //Jalankan kode untuk membuka port serial OpenSerialPort(); }

batalkan OpenSerialPort()

{ //Buka port serial sp. Open(); sp. ReadTimeout = 1; }

Gerakan void (Arah string)

{ //Periksa ke arah mana arduino telah melewati if (Arah == "Kiri") { movement = -1; } if (Arah == "Kanan") { gerakan = 1; } //hitung seberapa banyak objek game akan dipindahkan float translation = movement * speed; //Terapkan gerakan ke gameobject transform. Translate(translation, 0, 0); }

batal Perbarui()

{ if (sp. IsOpen) { try { //sementara port serial terbuka, jalankan fungsi gerakan dan lewati garis yang dicetak oleh Arduino Gerakan(sp. ReadLine()); } tangkap (System. Exception) {

}

}

} }

Langkah 5: Catatan Akhir

Periksa apakah komponen Anda berfungsi

Masalah yang saya temui selama pembuatan ini adalah bahwa semua kabel dan kode benar dan seharusnya tidak ada masalah sama sekali, tetapi itu tidak berfungsi. Dalam kasus saya itu adalah kabel yang tidak berfungsi, meskipun hal yang sama dapat terjadi dengan beberapa komponen Anda yang lain.

Direkomendasikan: