Daftar Isi:

Arduino Hangman di Morse: 9 Langkah
Arduino Hangman di Morse: 9 Langkah

Video: Arduino Hangman di Morse: 9 Langkah

Video: Arduino Hangman di Morse: 9 Langkah
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Juni
Anonim
Arduino Hangman di Morse
Arduino Hangman di Morse

Dalam tutorial ini saya akan menunjukkan cara mengatur Arduino Anda sendiri untuk memainkan Hangman dengan mengirimkan kode Morse dengan senter sederhana atau fungsi obor dari ponsel Anda.

Yang perlu Anda ikuti adalah: Papan Arduino.10 Lampu LEDKabel untuk menghubungkan semuanya. Ekstra:Elemen Piezo (untuk menambahkan suara).

Langkah 1: Menyiapkan lampu LED

Menyiapkan lampu LED
Menyiapkan lampu LED

Game Morse ini akan menggunakan 4 lampu untuk menunjukkan 4 huruf dalam kata yang perlu ditebak dan 5 lampu untuk menunjukkan nyawa yang tersisa untuk ditebak oleh pemain, jadi pertama-tama Anda harus menghubungkan 9 LED -lampu dengan cara biasa, seperti yang bisa dilihat pada gambar.

Langkah 2: Tambahkan Sensor Cahaya Darurat

Kita tidak bisa membuang-buang uang di toko elektronik, jadi saya memutuskan untuk membuat proyek ini tetap murah, dengan menggunakan lampu LED sederhana sebagai sensor cahaya darurat.

Yang perlu Anda lakukan adalah menghubungkan sisi plus lampu LED ke salah satu port analog Anda (dalam kasus saya A0) dan sisi minus ke ground Anda.

Langkah 3: Tambahkan Kamus Anda

Tambahkan Kamus Anda
Tambahkan Kamus Anda

Hal pertama yang pertama, mari kita mulai dengan menambahkan semacam kamus untuk menerjemahkan huruf ke kode Morse yang sesuai. Untuk melakukan ini, kita cukup membuat larik 26 kali 5, dengan slot pertama dari setiap larik sekunder memiliki huruf dan 4 slot berikutnya memiliki kode Morse yang sesuai atau spasi jika tidak ada kode yang tersisa. Jadi misalnya dengan huruf s, slot pertama memiliki 's', slot kedua, ketiga dan keempat memiliki '.' dan slot terakhir memiliki ''.

Langkah 4: Jadikan Lampu Menyala secara Default

Jadikan Lampu Menyala secara Default
Jadikan Lampu Menyala secara Default
Jadikan Lampu Menyala secara Default
Jadikan Lampu Menyala secara Default

Pada langkah ini, kami memastikan lampu menyala setelah program dimulai dan Morse huruf yang mereka wakili setelah pengguna menebaknya dengan benar (kode untuk ini akan ditulis pada langkah 6). Kami juga memastikan bahwa hanya ada banyak lampu yang menyala untuk kehidupan karena pemain memiliki kehidupan yang tersisa.

Sebelum ini, pastikan Anda memiliki larik dengan nomor port dan bilangan bulat yang disetel ke 0 untuk mewakili waktu saat lampu harus menyala, mati, dan bagian Morse mana yang sedang ditampilkan oleh lampu LED.

Langkah 5: Menambahkan Input

Menambahkan Masukan
Menambahkan Masukan

Sekarang kita akan menulis kode untuk memeriksa apakah pemutar menyalakan lampu LED yang terhubung ke port analog A0, dan jika mereka menerjemahkannya ke dalam huruf yang benar.

Untuk memastikan pembacaannya benar, kami menghitung rata-rata setiap 20 pembacaan oleh lampu LED dan menggunakan angka itu untuk melacak apakah lampu mati atau hidup. Untuk melakukan ini, di awal program, kami menyetel NUM_AVG ke berapa kali kami ingin agar lampu diperiksa sebelum rata-rata. Semakin tinggi angka ini, semakin akurat pembacaannya, tetapi juga dapat menyebabkan penundaan.

msBtnPushed mewakili jumlah waktu lampu menyala.lastPressed adalah boolean yang melacak apakah lampu menyala pada loop sebelumnya.

Langkah 6: Menangani Input

Menangani Masukan
Menangani Masukan
Menangani Masukan
Menangani Masukan

Untuk langkah ini, kita akan melihat apa yang harus dilakukan setelah cukup waktu untuk mengasumsikan tidak ada lagi Morse yang akan ditambahkan, dan kita perlu memeriksa apakah Morse yang dikirim dalam bentuk surat dan apakah itu surat yang benar.

Untuk melakukan ini, kita perlu mengatur string wordToGuess ke kata yang kita ingin pemain kita tebak. Saya pribadi memiliki generator nomor acak untuk mengaturnya ke kata acak di awal, tetapi Anda juga bisa mengaturnya ke satu kata.

Kita juga perlu memastikan penghitung naik satu setiap loop, jika tidak, seluruh program tidak akan melakukan apa-apa. Selanjutnya, saya telah menambahkan fungsi penundaan, untuk memastikan ada loop setiap milidetik.

PS: Semua fungsi Serial.println hanya untuk tujuan pengujian. Mereka dapat dihapus setelah selesai.

GoodTimer dan badTimer hanyalah nilai jika Anda berencana menggunakan elemen Piezo untuk menambahkan suara. Jika Anda ingin melakukannya, Anda juga harus menambahkan kode di gambar kedua, yang memainkan suara.

Langkah 7: Morsing Huruf yang Ditebak dengan Benar

Morsing Huruf yang Ditebak dengan Benar
Morsing Huruf yang Ditebak dengan Benar

Seperti yang dijanjikan sebelumnya, pada langkah ini kita akan membuat lampu yang mewakili huruf-huruf Morse yang telah ditebak dengan benar hurufnya.

Untuk ini, saya telah menulis dua fungsi: morseThis dan nextLetter. Ini menggunakan angka-angka yang telah kita atur sebelumnya di array timer kita dan mengubahnya tergantung pada bagian mana dari kode Morse yang sedang bersinar.

Jika pengatur waktu mencapai waktu di mana lampu harus menyala, itu hanya menyalakan lampu dan menjalankan kode untuk mengatur pengatur waktu baru untuk mematikan dan menyalakan lampu lagi. Jika pengatur waktu mencapai bagian di mana lampu harus kembali off, itu mematikan lampu dan kemudian menetapkan kode untuk mewakili bagian selanjutnya dari surat itu. Jika tidak ada bagian berikutnya, itu me-reset ke bagian pertama.

Langkah 8: Meninjau Pengaturan dan Reset Kami

Meninjau Pengaturan dan Reset Kami
Meninjau Pengaturan dan Reset Kami

Tentu saja program tidak akan berjalan jika lampu tidak diatur ke output dan input. Saya juga menambahkan generator angka acak untuk menambahkan kata dari daftar kata yang saya masukkan ke dalam array bernama wordsToGuess.

Selain itu, kita harus menambahkan fungsi reset dan memastikan semua nilai direset ke default.

Langkah 9: Semua Variabel dalam Satu Gambar

Semua Variabel dalam Satu Gambar
Semua Variabel dalam Satu Gambar

Terakhir, Anda dapat menggunakan ini untuk memeriksa apakah Anda telah mengatur semua variabel yang diperlukan dengan benar.

Sekarang nikmati bermain Hangman in Morse!

Direkomendasikan: