- Gambaran:
- Komponen yang Dibutuhkan:
- Penjelasan Sirkuit:
- Cara Kerja Accelerometer:
- Pemrograman Arduino:
- Pemrosesan Pemrograman:
- Pengujian:
Augmented Reality dan Virtual Gaming telah menjadi tren terkini di industri game. Waktu menggunakan keyboard / Joystick dan mouse untuk memainkan game komputer telah berlalu. Sekarang setiap konsol game hadir dengan Pengontrol Virtual yang membantu kita memainkan game menggunakan gerakan dan gerakan tubuh kita, dengan cara ini pengalaman bermain game telah meningkat pesat dan pengguna merasa lebih terlibat dalam game.
Dalam proyek ini, mari kita mencoba bersenang-senang sambil belajar melalui proyek ini. Mari kita membuat game (Ya Anda dengar saya benar, kami akan membuat game) dan memainkannya menggunakan gerakan tangan Anda. Kami membuat Game Bola Ping Pong klasik menggunakan Arduino dan Accelerometer.
Gambaran:
Ada banyak sekali perangkat lunak sumber terbuka yang tersedia saat ini yang telah membawa banyak kebahagiaan bagi para penghobi seperti kami, dan Pengolahan adalah salah satunya. Dengan aplikasi berbasis JAVA ini kita bisa membangun software sendiri (format.exe) dan juga aplikasi android (file.apk). Jadi kami akan menggunakan software ini untuk membangun game kami, kami sebelumnya telah menggunakan Processing dalam membuat Ruang Obrolan Arduino.
Bagian hardware akan terdiri dari Arduino yang akan mengambil input dari Accelerometer untuk diumpankan secara serial ke komputer / Laptop kita.
Jadi ayo berbelanja !!!!
Komponen yang Dibutuhkan:
- Arduino (versi atau model apa pun)
- Akselerometer
- Menghubungkan kabel
- Bunga (Lolz)
Accelerometer dan Arduino Nano
Penjelasan Sirkuit:
Sirkuit Proyek Game Bola Ping Pong Arduino tidak melibatkan koneksi yang rumit. Saya telah menggunakan Arduino Nano dengan Accelerometer. Tetapi ada beberapa hal yang harus diperhatikan seperti yang disebutkan di bawah ini:
1. Accelerometer Anda tidak dapat menangani 5V, jadi selalu hubungkan Vcc dari accelerometer ke pin 3.3V Arduino Anda.
2. Setiap Accelerometer menderita efek gravitasi yang harus ditangani saat memprogram (cukup menggunakan filter).
Dengan mengingat hal ini, mari kita lihat cara kerja Accelerometer dan cara kami menggunakannya.
Cara Kerja Accelerometer:
Sebuah Accelerometer adalah perangkat yang dapat mengkonversi percepatan ke arah manapun untuk variabel tegangan masing-masing. Ini dilakukan dengan menggunakan kapasitor (lihat gambar), saat Accel bergerak, kapasitor yang ada di dalamnya, juga akan mengalami perubahan (lihat gambar) berdasarkan pergerakan, karena kapasitansi bervariasi, tegangan variabel juga dapat diperoleh.
Jadi, seperti yang disebutkan di atas, setiap akselerometer menderita masalah efek gravitasi. Tidak peduli seberapa akurat sensor Anda dikalibrasi (bahkan ponsel Apple Anda Accel.), Itu akan dipengaruhi oleh gravitasi. Penjelasan yang lebih teknis untuk masalah ini diberikan di bawah ini.
Nah, di Arduino kita bisa mengurangi efek gravitasi dengan menggunakan Simple Filter. Filter ini akan terdiri dari dua larik, satu digunakan untuk menyimpan nilai sampel dari sensor dan yang lainnya digunakan untuk mengurutkan nilai sampel, dan mencari nilai yang paling berulang. Mari kita terapkan algoritma ini di Arduino kita dan siapkan perangkat keras kita.
Pemrograman Arduino:
Program Arduino diberikan di bawah ini di bagian Kode. Tidak ada data penting yang harus dimodifikasi. Tetapi Anda mungkin ingin mempertimbangkan yang berikut:
Tingkatkan ukuran sampel jika Accel Anda masih menunjukkan nilai acak.
#define Samplesize 13 // filterSample number
Mainkan dengan 9600 baud rate untuk meningkatkan kecepatan komunikasi antara Arduino dan Pemrosesan. Tetapi pastikan Anda mengubahnya di kedua perangkat lunak (Program).
void setup () {Serial.begin (9600); }
Akselerometer saya pada sumbu X memberikan 193 di ujung kiri dan 280 di ujung kanan, ukur untuk Accel Anda dan perbarui nilainya.
toSend = map (smoothData1, 193, 280, 0, 255);
Nilai dipetakan ke dalam satu byte data untuk komunikasi serial.
Lebih lanjut periksa Komentar di Kode yang diberikan di bawah ini untuk memahaminya dengan jelas.
Pemrosesan Pemrograman:
Pemrosesan adalah perangkat lunak sumber terbuka yang digunakan oleh seniman untuk mendesain Grafik. Perangkat lunak ini digunakan untuk mengembangkan perangkat lunak dan aplikasi Android. Ini cukup mudah untuk dikembangkan dan sangat mirip dengan Android Development IDE. Oleh karena itu saya telah mempersingkat penjelasannya.
Kode Pemrosesan untuk Game Ping Pong diberikan di sini:
- Memproses Kode untuk Game Ping Ball Arduino
Klik kanan padanya dan klik 'Save link as..' untuk mendownload file kode. Kemudian buka file di perangkat lunak 'Pemrosesan' dan klik tombol 'Jalankan' untuk memainkan Game. Anda perlu menginstal perangkat lunak 'Processing' untuk membuka file *.pde. Bagian komentar terbuka untuk pertanyaan dan juga memeriksa komentar di Program untuk lebih memahaminya.
Di bawah baris, di void setup () fungsi kode Pemrosesan adalah penting, karena memutuskan dari port mana data berasal.
port = New Serial (ini, Serial.list (), 9600); // Membaca PORT ke-4 pada 9600 baudrate
Di sini saya telah membaca data dari port ke-4 dari Arduino saya.
Jadi Contoh jika Anda memiliki COM COM COM COM COM
Kemudian kode diatas akan membaca data dari COM.
Pengujian:
Sekarang karena Sketsa Pengolahan dan Arduino kami siap, cukup unggah program yang diberikan di bawah ini ke Arduino dan hubungkan Arduino Anda ke kabel pemrograman menyeluruh PC pengguna dan luncurkan game dengan Jalankan file kode Pemrosesan (.pde). Itu dia! Gerakkan Accelerometer Anda dan mainkan Game Ping Pong Anda. The Video akan memandu Anda melalui proyek lengkap.
Setelah Anda memahami programnya, Anda dapat membuat banyak game serupa dan memainkannya menggunakan Arduino Anda, Selanjutnya sumbu Y dan sumbu Z juga dapat dimasukkan untuk bermain game.