Isi kandungan:

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, November
Anonim
Arduino Hangman di Morse
Arduino Hangman di Morse

Dalam tutorial ini saya akan menunjukkan kepada anda cara mengatur Arduino anda sendiri untuk memainkan Hangman dengan menghantar kod Morse dengan lampu suluh sederhana atau fungsi obor dari telefon anda.

Yang perlu anda ikuti ialah: Papan Arduino. 10 Lampu LED Kabel untuk menghubungkan semuanya. Ekstra: Elemen Piezo (untuk menambah suara).

Langkah 1: Menyiapkan lampu LED

Menyiapkan lampu LED
Menyiapkan lampu LED

Permainan Morse ini akan menggunakan 4 lampu untuk menunjukkan 4 huruf dalam perkataan yang perlu ditebak dan 5 lampu untuk menunjukkan kehidupan yang ditinggalkan pemain untuk ditebak, jadi pertama-tama anda perlu menyambungkan 9 LED -lampu dengan cara biasa, seperti yang dapat dilihat dalam gambar.

Langkah 2: Tambahkan Sensor Cahaya Makeshift

Kami tidak dapat membuang-buang wang di kedai elektronik, jadi saya memutuskan untuk menjaga projek ini dengan murah, dengan menggunakan lampu LED sederhana sebagai sensor cahaya sementara.

Yang perlu anda lakukan hanyalah menyambungkan sisi positif lampu LED ke salah satu port analog anda (dalam kes saya A0) dan sisi minus ke tanah anda.

Langkah 3: Tambah Kamus Anda

Tambah Kamus Anda
Tambah Kamus Anda

Pertama, mari mulakan dengan menambahkan semacam kamus untuk menterjemahkan huruf ke kod Morse yang sesuai. Untuk melakukan ini, kita hanya membuat susunan 26 dengan 5, dengan slot pertama setiap array sekunder mempunyai huruf dan 4 slot berikutnya mempunyai kod Morse yang sesuai atau spasi jika tidak ada kod yang tersisa. Jadi misalnya dengan huruf s, slot pertama memiliki 's', slot kedua, ketiga dan keempat memiliki '.' dan slot terakhir mempunyai ''.

Langkah 4: Nyalakan Lampu Secara Lalai

Jadikan Lampu Menyala Secara Lalai
Jadikan Lampu Menyala Secara Lalai
Jadikan Lampu Menyala Secara Lalai
Jadikan Lampu Menyala Secara Lalai

Pada langkah ini, kami memastikan lampu menyala setelah program dimulakan dan Morse huruf yang mereka wakili setelah pengguna menebaknya dengan betul (kod untuk ini akan ditulis pada langkah 6). Kami juga memastikan hanya ada banyak lampu yang boleh dinyalakan kerana pemain mempunyai nyawa yang tersisa.

Sebelum ini, pastikan anda mempunyai susunan dengan nombor port dan bilangan bulat diatur ke 0 untuk mewakili waktu di mana lampu harus menyala, mati dan bahagian mana dari lampu Morse yang dipaparkan saat ini.

Langkah 5: Menambah Input

Menambah Input
Menambah Input

Sekarang kita akan menulis kod untuk memeriksa sama ada pemain menyinari cahaya pada lampu LED yang disambungkan ke port analog kami A0, dan jika mereka menerjemahkannya ke huruf yang betul.

Untuk memastikan bacaannya betul, kita mengira setiap 20 bacaan dengan menggunakan lampu LED dan menggunakan nombor tersebut untuk mengesan sama ada lampu mati atau menyala. Untuk melakukan ini, pada permulaan program kami menetapkan NUM_AVG untuk berapa kali kami menginginkannya menyemak cahaya sebelum rata-rata memadamkannya. Semakin tinggi bilangan ini, semakin tepat bacaannya, tetapi juga boleh menyebabkan kelewatan.

msBtnPushed mewakili jumlah masa lampu menyala. lastPressed adalah boolean yang mengawasi apakah pada gelung sebelumnya lampu menyala.

Langkah 6: Mengendalikan Input

Mengendalikan Input
Mengendalikan Input
Mengendalikan Input
Mengendalikan Input

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

Untuk melakukan ini, kita perlu menetapkan rentetan wordToGuess pada perkataan yang ingin diteka oleh pemain kita. Saya secara peribadi mempunyai penjana nombor rawak untuk menetapkannya menjadi kata rawak pada awalnya, tetapi anda juga boleh menetapkannya menjadi satu kata.

Kita juga perlu memastikan kaunter naik satu per satu gelung, jika tidak, keseluruhan program tidak akan melakukan apa-apa. Selanjutnya, saya telah menambahkan fungsi penundaan, untuk memastikan ada gelung setiap milidetik.

PS: Semua fungsi Serial.println hanya untuk tujuan ujian. Mereka mungkin dihapuskan setelah selesai.

GoodTimer dan badTimer hanyalah nilai jika anda merancang untuk menggunakan elemen Piezo untuk menambah suara. Sekiranya anda mahu melakukannya, anda juga mesti menambahkan kod pada gambar kedua, yang memainkan suaranya.

Langkah 7: Menyusun Surat yang Tepat Ditebak

Menyusun Huruf yang Tepat Diteka
Menyusun Huruf yang Tepat Diteka

Seperti yang dijanjikan sebelumnya, dalam langkah ini kita akan membuat lampu yang mewakili huruf yang telah ditebak dengan tepat.

Untuk ini, saya telah menulis dua fungsi: morseThis dan nextLetter. Ia menggunakan nombor yang telah kita tetapkan sebelumnya dalam tatasusunan pemasa dan mengubahnya bergantung pada bahagian mana dari kod Morse yang sekarang sedang bersinar.

Sekiranya pemasa mencapai masa di mana cahaya harus menyala, ia hanya akan menyalakan lampu dan menjalankan kod untuk menetapkan pemasa baru untuk mematikan dan menyala semula lampu. Sekiranya pemasa mencapai bahagian di mana cahaya harus kembali mati, ia mematikan lampu dan kemudian menetapkan kod untuk mewakili bahagian seterusnya surat. Sekiranya tidak ada bahagian seterusnya, ia menetapkannya semula ke bahagian pertama.

Langkah 8: Mengkaji Penyediaan dan Tetapan Semula Kami

Meninjau Persediaan dan Tetapan Semula Kami
Meninjau Persediaan dan Tetapan Semula Kami

Sudah tentu program tidak akan berjalan jika lampu tidak diatur ke output dan input. Saya juga menambah penjana nombor rawak untuk menambahkan kata dari senarai perkataan yang saya masukkan dalam larik yang disebut kataToGuess.

Selain itu, kita harus menambahkan fungsi reset dan memastikan semua nilai diset semula ke lalai.

Langkah 9: Semua Pembolehubah dalam Satu Gambar

Semua Pembolehubah dalam Satu Gambar
Semua Pembolehubah dalam Satu Gambar

Akhirnya, anda boleh menggunakan ini untuk memeriksa sama ada anda telah menyediakan semua pemboleh ubah yang diperlukan dengan betul.

Sekarang nikmati bermain Hangman di Morse!

Disyorkan: