Daftar Isi:

Game Reaksi Cepat: Versi Jarak: 5 Langkah (dengan Gambar)
Game Reaksi Cepat: Versi Jarak: 5 Langkah (dengan Gambar)

Video: Game Reaksi Cepat: Versi Jarak: 5 Langkah (dengan Gambar)

Video: Game Reaksi Cepat: Versi Jarak: 5 Langkah (dengan Gambar)
Video: odgj efek main games‼️#games #odgj #maingame #shorts 2024, Juli
Anonim
Game Reaksi Cepat: Versi Jarak Jauh
Game Reaksi Cepat: Versi Jarak Jauh

Hai. Ini adalah Instruksi tentang cara membuat game yang menguji waktu reaksi dan jarak Anda. Proyek ini didasarkan pada proyek lama yang saya lakukan dengan melibatkan dua pemain yang bersaing untuk melihat siapa yang memiliki waktu reaksi lebih cepat dengan mengklik tombol ketika lampu berubah menjadi hijau. Yang ini memiliki tujuan yang sama, kecuali itu pemain tunggal dan alih-alih lampu padam, pemain diberi kerangka waktu untuk menjauhkan tangan mereka dari jarak tertentu dari sensor jarak.

Seperti semua proyek Arduino, game ini akan membutuhkan banyak komponen listrik di sirkuit Arduino. Komponen utama, selain kabel dan Arduino itu sendiri, termasuk papan tempat memotong roti, motor servo, layar LCD, LED RGB, dan sensor jarak.

Menggunakan https://abra-electronics.com, harga tidak termasuk kabel dan Arduino adalah $32,12 CAD.

Langkah 1: Langkah 1: Sensor Jarak

Langkah 1: Sensor Jarak
Langkah 1: Sensor Jarak

Langkah pertama adalah memasang sensor jarak ultrasonik pada papan tempat memotong roti dan menyambungkannya ke Arduino. Posisi yang tepat dari sensor sebenarnya tidak penting, tetapi idealnya dekat dengan tepi sehingga ada ruang untuk komponen lain, seperti yang ditunjukkan pada gambar di atas. Ada empat pin pada sensor; GND, VCC, TRIG, dan ECHO. GND dan VCC masing-masing harus dihubungkan ke ground dan power rail, dan menghubungkan dua pin lainnya ke dua pin pada Arduino. Dua pin yang saya gunakan adalah 12 untuk ECHO dan 11 untuk TRIG. Gunakan dua kabel lain untuk memberi daya pada power rail dan menghubungkan ground rail dengan menghubungkan power rail ke pin 5V dan ground rail ke pin GND.

Langkah 2: Langkah 2: Motor Servo

Langkah 2: Motor Servo
Langkah 2: Motor Servo

Langkah selanjutnya adalah men-setup motor servo. Dalam proyek ini, motor servo berfungsi sebagai pengatur waktu. Ini akan dimulai pada 1 derajat, dan selama periode waktu di mana pengguna harus menjauhkan tangan mereka, akan berputar hingga 180 derajat. Saya menggunakan 2 detik ketika pengguna mengetahui seberapa jauh mereka harus menjauhkan tangan mereka, sehingga servo berputar 179 derajat selama periode 2 detik, berputar dalam interval pendek. Motor servo memiliki tiga kabel; biasanya berwarna kuning, merah, dan coklat. Yang merah masuk ke rel listrik yang sudah disambungkan ke 5V, dan yang coklat masuk ke rel tanah yang sudah disambungkan ke GND. Kabel terakhir dihubungkan ke pin Arduino. Saya memilih pin #9 untuk yang satu ini. Kemudian, Anda memerlukan kapasitor yang menghubungkan rel yang sama yang memiliki daya motor servo dan kabel ground yang terhubung, seperti yang terlihat pada gambar di atas.

Langkah 3: Langkah 3: LED RGB

Langkah 3: LED RGB
Langkah 3: LED RGB

Fungsi LED dalam hal ini adalah untuk bertindak sebagai skala untuk skor. Ketika skor pemain sekitar 0, LED akan berwarna putih, dan akan lebih merah jika skor pemain turun dan hijau jika skor pemain naik. LED ini memiliki empat kaki; kaki lampu merah, kaki lampu biru, kaki lampu hijau, dan katoda umum yang digunakan bersama di antara tiga kaki lainnya. Katoda umum, kaki terpanjang, disambungkan ke rel listrik sehingga menerima 5 volt. Pasang resistor 330 ohm ke tiga kaki warna lainnya, dan pasang ujung lainnya dari resistor tersebut ke pin digital PWM di Arduino. Yang saya gunakan adalah pin digital 3, 5, dan 6 masing-masing untuk kaki merah, hijau, dan biru.

Langkah 4: Langkah 4: LCD

Langkah 4: LCD
Langkah 4: LCD

Komponen terakhir adalah LCD, yang merupakan singkatan dari liquid crystal display. Tujuannya adalah untuk memberi tahu pemain skor mereka saat ini serta jarak yang mereka butuhkan untuk menjauhkan tangan dari sensor. Ada empat pin di sini; GND, VCC, SDA, dan SCL. GND dan VCC masing-masing akan dihubungkan ke ground dan power rail papan tempat memotong roti. Pin SDA harus disambungkan ke pin analog A4, dan pin SCL harus disambungkan ke pin analog A5. Tidak seperti komponen lainnya, Anda harus menyambungkan pin SDA dan SCL ke A4 dan A5.

Langkah 5: Langkah 5: Kode

Sekarang setelah kita menghubungkan semua komponen, kita dapat menulis kodenya. Bagian pertama dari kode ini adalah mengimpor pustaka yang diperlukan dan mendeklarasikan variabel kita dan pin mana yang digunakan untuk menghubungkan komponen. Kita perlu mengimpor perpustakaan Wire, LiquidCrystal_I2C, dan Servo untuk kode ini.

#termasuk

#termasuk

#termasuk

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

int pin merah = 3;

int pin hijau = 5;

int pin biru = 6;

int skor = 0;

int tim = 500;

int arus = acak(8, 16); //nilai acak di mana pengguna harus menjauhkan tangan mereka dari sensor

LiquidCrystal_I2C lcd (0x27, 16, 2); //penyiapan LCD

Sekarang kita perlu menggunakan void setup() untuk mendeklarasikan jenis pin kita dan menyiapkan komponen lain yang diperlukan.

void setup() { myServo.attach (9); Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode pinMode(redPin, OUTPUT); pinMode(pin hijau, OUTPUT); pinMode(bluePin, OUTPUT); lcd.init(); lcd.lampu latar(); lcd.begin(16, 2); lcd.clear(); //penyiapan LCD}

Sekarang kita perlu mengatur kode LED RGB menggunakan fungsi dan PWM:

void setColor(int merah, int hijau, int biru) {

merah = 255 - merah;

hijau = 255 - hijau;

biru = 255 - biru;

analogWrite(pin merah, merah);

analogWrite(pin hijau, hijau);

analogWrite(bluePin, biru);

}

Sekarang kita perlu menambahkan void loop(). Di sini, kita akan menghasilkan bilangan bulat acak dan menggunakan serangkaian pernyataan if untuk mengontrol permainan bagi pemain. Variabel saat ini, pengaturan di atas, adalah untuk jarak saat ini pemain harus menjauhkan diri dari sensor.

Karena kode di void loop() sangat panjang, saya akan menempelkan tautan ke dokumen yang memiliki kode tersebut:

docs.google.com/document/d/1DufS0wuX0N6gpv…

Terakhir, kita perlu melakukan perhitungan aktual untuk mengubah nilai sensor jarak ultrasonik menjadi inci. Sensor jarak ultrasonik tidak secara langsung mengukur jarak; itu melepaskan suara dan mencatat waktu yang dibutuhkan sensor untuk mendapatkan kembali suara dari objek apa pun yang memantulkannya.

mikrodetik panjangToInches(mikrodetik panjang) {

kembali mikrodetik / 74 / 2;

}

Sekarang kita pasang Arduino kabel ke komputer dengan kode, atur port, dan jalankan! Ada dua mode untuk game ini. Entah Anda hanya dapat menggunakan layar LCD, motor servo, sensor, dan LED RGB dan Anda hanya tahu jarak yang harus Anda tempuh dari sensor, yang merupakan mode yang lebih sulit. Mode yang lebih mudah melibatkan penggunaan monitor serial di Alat > Serial Monitor, yang akan memperbarui Anda setiap detik tentang seberapa jauh Anda dari sensor, sehingga Anda dapat melakukan penyesuaian yang diperlukan.

Terima kasih sudah membaca!

Direkomendasikan: