Isi kandungan:

Permainan Reaksi Pantas: Versi Jarak: 5 Langkah (dengan Gambar)
Permainan Reaksi Pantas: Versi Jarak: 5 Langkah (dengan Gambar)

Video: Permainan Reaksi Pantas: Versi Jarak: 5 Langkah (dengan Gambar)

Video: Permainan Reaksi Pantas: Versi Jarak: 5 Langkah (dengan Gambar)
Video: momen haru saat prajurit TNI beri kejutan adiknya ‼️#tni #abdinegara #adikkakak #momenharu #shorts 2024, Disember
Anonim
Permainan Reaksi Pantas: Versi Jarak
Permainan Reaksi Pantas: Versi Jarak

Hai. Ini adalah Instructable tentang cara membuat permainan yang menguji masa reaksi anda dan rasa jarak. Projek ini didasarkan pada projek lama yang saya lakukan melibatkan dua pemain yang bersaing untuk melihat siapa yang mempunyai masa reaksi lebih cepat dengan mengklik butang ketika lampu berubah menjadi hijau. Yang satu ini mempunyai tujuan yang serupa, kecuali pemain tunggal dan bukannya lampu padam, pemain diberi jangka waktu untuk menjauhkan tangan mereka dengan jarak tertentu dari sensor jarak.

Seperti semua projek Arduino, permainan ini memerlukan banyak komponen elektrik di litar Arduino. Komponen utama, selain daripada pendawaian dan Arduino itu sendiri, termasuk papan roti, motor servo, paparan LCD, LED RGB, dan sensor jarak.

Menggunakan https://abra-electronics.com, harga tidak termasuk wayar 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 di papan roti dan memasangkannya ke Arduino. Kedudukan sensor yang sebenarnya tidak penting, tetapi idealnya dekat dengan tepi sehingga ada ruang untuk komponen lain, seperti yang ditunjukkan pada gambar di atas. Terdapat empat pin pada sensor; GND, VCC, TRIG, dan ECHO. GND dan VCC masing-masing dihubungkan ke landasan dan rel kuasa, dan kawat pada dua pin lain menjadi dua pin di Arduino. Dua pin yang saya gunakan ialah 12 untuk ECHO dan 11 untuk TRIG. Gunakan dua wayar lain untuk menghidupkan rel elektrik dan membumikan landasan landasan dengan menghubungkan rel kuasa ke pin 5V dan landasan ke pin GND.

Langkah 2: Langkah 2: Motor Servo

Langkah 2: Motor Servo
Langkah 2: Motor Servo

Langkah seterusnya adalah memasang motor servo. Dalam projek ini, motor servo berfungsi sebagai pemasa. Ia akan bermula pada 1 darjah, dan dalam jangka masa di mana pengguna harus menjauhkan tangan mereka, akan berpusing hingga 180 darjah. Saya menggunakan 2 saat ketika pengguna mengetahui sejauh mana mereka harus menjauhkan tangan mereka, jadi servo berputar 179 darjah dalam jangka masa 2 saat, berputar dalam selang waktu pendek. Motor servo mempunyai tiga wayar; biasanya berwarna kuning, merah, dan coklat. Yang merah masuk ke rel kuasa yang sudah disambungkan ke 5V, dan yang berwarna coklat masuk ke landasan tanah sudah disambungkan ke GND. Kawat terakhir dipasang ke pin Arduino. Saya memilih pin # 9 untuk yang satu ini. Kemudian, anda memerlukan kapasitor yang menghubungkan rel yang sama dengan kuasa motor servo dan wayar ground yang disambungkan, seperti yang dilihat pada gambar di atas.

Langkah 3: Langkah 3: LED RGB

Langkah 3: LED RGB
Langkah 3: LED RGB

Fungsi LED dalam ini adalah bertindak sebagai skala untuk skor. Apabila skor pemain berada di sekitar 0, LED akan berwarna putih, dan akan menjadi lebih merah jika skor pemain turun dan hijau jika skor pemain naik. LED ini mempunyai empat kaki; kaki cahaya merah, kaki cahaya biru, kaki lampu hijau, dan katod biasa yang dikongsi antara tiga kaki yang lain. Katod biasa, kaki terpanjang, disambungkan ke rel kuasa sehingga menerima 5 volt. Pasang perintang 330 ohm ke tiga kaki warna yang lain, dan pasangkan hujung perintang lain ke pin digital PWM di Arduino. Yang saya gunakan ialah pin digital 3, 5, dan 6 untuk kaki merah, hijau, dan biru.

Langkah 4: Langkah 4: LCD

Langkah 4: LCD
Langkah 4: LCD

Komponen terakhir adalah LCD, yang bermaksud paparan kristal cecair. Tujuannya adalah untuk memberitahu pemain skor semasa mereka dan jarak yang mereka perlukan untuk menjauhkan diri dari sensor. Terdapat empat pin di sini; GND, VCC, SDA, dan SCL. GND dan VCC akan disambungkan ke landasan dan rel elektrik papan roti masing-masing. Pin SDA mesti disambungkan ke pin analog A4, dan pin SCL mesti disambungkan ke pin analog A5. Tidak seperti komponen lain, anda mesti memasukkan pin SDA dan SCL ke A4 dan A5.

Langkah 5: Langkah 5: Kod

Sekarang setelah kami membuat kabel dalam semua komponen, kami dapat menulis kodnya. Bahagian pertama kod adalah untuk mengimport perpustakaan yang diperlukan dan menyatakan pemboleh ubah kami dan yang mana komponen dimasukkan ke dalam kabel. Kita perlu mengimport perpustakaan Wire, LiquidCrystal_I2C, dan Servo untuk kod ini.

#sertakan

#sertakan

#sertakan

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

int redPin = 3;

int greenPin = 5;

int bluePin = 6;

skor int = 0;

int masa = 500;

int semasa = rawak (8, 16); // nilai rawak di mana pengguna harus menjauhkan diri dari sensor

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

Sekarang kita perlu menggunakan persediaan kosong () untuk menyatakan jenis pin kita dan menyiapkan komponen lain yang diperlukan.

batal persediaan () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd.backlight (); lcd.begin (16, 2); lcd.clear (); // Persediaan LCD}

Sekarang kita perlu menyiapkan kod LED RGB menggunakan fungsi dan PWM:

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

merah = 255 - merah;

hijau = 255 - hijau;

biru = 255 - biru;

analogWrite (redPin, merah);

analogWrite (greenPin, hijau);

analogWrite (bluePin, biru);

}

Sekarang kita perlu menambahkan gelung void (). Di sini, kita akan menghasilkan bilangan bulat rawak dan menggunakan satu siri pernyataan jika untuk mengawal permainan pemain. Pemboleh ubah semasa, persediaan di atas, adalah untuk jarak semasa pemain mesti menjauhkan diri dari sensor.

Kerana kod dalam gelung void () sangat panjang, saya akan menampal pautan ke dokumen yang mempunyai kod itu:

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

Akhirnya, kita perlu melakukan pengiraan sebenar untuk menukar nilai sensor jarak ultrasonik menjadi inci. Sensor jarak ultrasonik tidak mengukur jarak secara langsung; ia mengeluarkan suara dan mencatat masa yang diperlukan oleh sensor untuk mendapatkan kembali suara dari objek apa pun yang dipantulnya.

panjang mikrodetikToInches (mikrodetik panjang) {

pulangkan mikrodetik / 74/2;

}

Sekarang kita pasangkan Arduino berwayar ke komputer dengan kodnya, siapkan port, dan jalankan! Terdapat dua mod untuk permainan ini. Anda hanya boleh menggunakan paparan LCD, motor servo, sensor, dan LED RGB dan anda hanya tahu jarak yang harus anda lalui dari sensor, yang merupakan mod yang lebih sukar. Mod yang lebih mudah melibatkan penggunaan monitor bersiri di Tools> Serial Monitor, yang akan memberitahu anda setiap detik sejauh mana jarak anda dari sensor, sehingga anda dapat membuat penyesuaian yang diperlukan.

Terima kasih untuk membaca!

Disyorkan: