Daftar Isi:

Crack the Code Game, Puzzle Box Berbasis Arduino: 4 Langkah (dengan Gambar)
Crack the Code Game, Puzzle Box Berbasis Arduino: 4 Langkah (dengan Gambar)

Video: Crack the Code Game, Puzzle Box Berbasis Arduino: 4 Langkah (dengan Gambar)

Video: Crack the Code Game, Puzzle Box Berbasis Arduino: 4 Langkah (dengan Gambar)
Video: Crack The Code Game, Built Into A DIY Safe Box 2024, Juli
Anonim
Image
Image
Crack the Code Game, Kotak Puzzle Berbasis Arduino
Crack the Code Game, Kotak Puzzle Berbasis Arduino
Crack the Code Game, Kotak Puzzle Berbasis Arduino
Crack the Code Game, Kotak Puzzle Berbasis Arduino

Proyek Tinkercad »

Dalam Instructable ini, saya akan menunjukkan kepada Anda cara membuat game kode crack Anda sendiri di mana Anda menggunakan tombol putar encoder untuk menebak kode yang dibuat secara acak ke brankas. Ada 8 LED di bagian depan brankas untuk memberi tahu Anda berapa banyak angka yang Anda tebak benar dan berapa banyak yang berada di tempat yang tepat juga.

Brankas awalnya terbuka, memungkinkan Anda untuk memasukkan sesuatu ke dalam kompartemen dalam. Arduino dan baterai ditempatkan di kompartemen terpisah di belakang. Anda kemudian menekan tombol untuk mengunci brankas, yang dilakukan menggunakan servo di bagian dalam pintu. Anda kemudian perlu memasukkan kode dengan memutar tombol untuk memilih digit dan menekan tombol untuk mengkonfirmasi setiap digit. Setelah digit keempat Anda dipilih, brankas menampilkan berapa banyak digit Anda yang benar dan berapa banyak dari mereka berada di tempat yang benar menggunakan LED merah dan hijau di pintu.

LED merah menunjukkan digit yang benar dan LED hijau menunjukkan bahwa itu juga di tempat yang benar. Jadi, Anda perlu menyalakan keempat LED merah dan hijau untuk memecahkan kode dan membuka brankas.

Brankas melacak berapa banyak tebakan yang Anda buat untuk memecahkan kode dan ini ditampilkan setelah Anda berhasil memecahkannya. Ini mungkin terdengar rumit pada awalnya tetapi sebenarnya tidak terlalu sulit, Anda hanya perlu mengingat dan membangun tebakan Anda sebelumnya. Sebagian besar waktu Anda harus dapat memecahkan kode dalam 5 hingga 10 tebakan, tergantung pada seberapa beruntung tebakan awal Anda.

Jika Anda menikmati Instruksi ini, silakan pertimbangkan untuk memilihnya di kontes Arduino.

Perlengkapan

Untuk membuat brankas Crack The Code ini, Anda memerlukan:

  • Arduino Uno - Beli Disini
  • Layar OLED I2C – Beli Di Sini
  • Encoder Tombol Tekan – Beli Di Sini
  • LED Merah 4 x 5mm – Beli Di Sini
  • LED Hijau 4 x 5mm – Beli Di Sini
  • Resistor 8 x 220Ω – Beli Di Sini
  • Servo Mikro – Beli Di Sini
  • Kabel Pita - Beli Di Sini
  • Strip Header - Beli Di Sini
  • Saklar Daya - Beli Di Sini
  • Lembar MDF 3mm - Beli Di Sini

Anda juga memerlukan beberapa alat dasar, lem kayu, pistol lem, dan besi solder.

Bagian-bagian untuk brankas harus dipotong dengan laser. Jika Anda tidak memiliki akses ke pemotong laser, pertimbangkan untuk menggunakan layanan pemotongan laser online, mereka menjadi sangat terjangkau dan akan memotong dan mengirimkan komponen ke pintu Anda.

Ini adalah pemotong laser yang saya gunakan di Instructable - K40 Laser Cutter

Langkah 1: Merakit Kotak

Merakit Kotak
Merakit Kotak
Merakit Kotak
Merakit Kotak
Merakit Kotak
Merakit Kotak
Merakit Kotak
Merakit Kotak

Saya merancang brankas di Inkscape, untuk dipotong dari MDF 3mm. Anda juga dapat memotong bagian dari akrilik atau kayu lapis 3mm jika Anda mau. Jika Anda menggunakan bahan dengan ketebalan yang berbeda, maka Anda harus menyesuaikan slot di komponen kotak agar pas bersama dengan benar.

Anda dapat mengunduh file pemotongan laser di sini.

Ada 6 panel yang membentuk bagian luar kotak, bagian belakang dan depan memiliki guntingan di dalamnya untuk pintu depan dan belakang. Panel diberi label dalam file cetak sehingga Anda dapat melacaknya.

Dial juga dibuat menggunakan beberapa potongan laser yang kemudian direkatkan.

Ada tiga panel dekoratif yang menempel di bagian atas dan dua sisi kotak agar lebih terlihat seperti brankas. Ada juga dua panel yang membentuk pintu dan panel pembagi yang masuk ke tengah kotak untuk memisahkan kompartemen brankas dari kompartemen elektronik.

Potongan-potongan tersebut muat ke dalam satu bagian MDF 400 x 500mm dan dapat dibagi menjadi bagian-bagian yang lebih kecil jika pemotong laser Anda tidak cukup besar untuk memotong semua bagian sekaligus.

Saya mulai menempelkan panel dekoratif ke bagian atas dan samping terlebih dahulu. Pastikan Anda memiliki potongan-potongan dalam urutan yang benar sehingga Anda tahu yang mana. Ada tiga bagian yang berbeda, bagian atas dan bawah sama, sisi-sisinya sama dan bagian depan dan belakang sama.

Setelah panel kering, Anda dapat merakit kotak.

Pastikan potongan untuk pembagi tengah berada di samping. Ini untuk menjalankan kabel apa pun dari bagian depan kotak ke bagian belakang kotak tempat Arduino dan baterai berada.

Engselnya juga dipotong dengan laser dan hanya direkatkan pada tempatnya setelah Anda memasang pintu. Pastikan mereka sejajar dengan pintu atau Anda akan kesulitan membukanya. Anda mungkin juga perlu mengampelas sedikit bagian dalam tepi pintu yang berengsel agar tidak bergesekan dengan tepi kotak saat melewatinya.

Rekatkan keempat kotak ke sudut di belakang panel belakang untuk melubangi sekrup untuk penutup belakang.

Anda kemudian dapat mengebor lubang untuk sekrup dan mulai memasang layar, Arduino, penutup belakang dan terakhir encoder.

Langkah 2: Hubungkan Elektronik

Hubungkan Elektronik
Hubungkan Elektronik
Hubungkan Elektronik
Hubungkan Elektronik
Hubungkan Elektronik
Hubungkan Elektronik

Saya merancang sirkuit pada papan tempat memotong roti di Sirkuit Tinkercad dan menambahkan tampilan OLED sesudahnya.

Kami memiliki 8 LED yang terhubung ke pin IO digital 6 hingga 13. Servo pengunci terhubung ke pin 5. Encoder terhubung ke pin 2, 3 dan 4 dan layar OLED terhubung ke antarmuka I2C Arduino.

Saya menggunakan resistor 220 ohm untuk setiap LED, disolder langsung ke led negatif dan saya menghubungkan komponen bersama-sama menggunakan kabel pita berwarna untuk menjaga kabel tetap rapi dan untuk membantu melacak kabel mana yang perlu masuk ke setiap pin Arduino.

Saya mendorong kabel pita ke kompartemen belakang dan menyolder beberapa strip header pin ke kabel pita untuk dicolokkan ke Arduino.

Saya juga memasang sakelar daya ke penutup belakang dan menghubungkannya ke colokan baterai untuk menyambungkan ke baterai isi ulang untuk menyalakan game. Anda juga dapat menggunakan baterai 9V jika Anda mau.

Terakhir, Anda harus memposisikan servo pengunci ke arah tepi pintu sehingga melewati bibir kotak dan lengan dapat mendorong bagian dalam bibir untuk mengunci kotak. Ini bukan mekanisme penguncian terkuat tetapi sangat sederhana dan berfungsi dengan baik untuk tujuan permainan.

Langkah 3: Memprogram Arduino

Memprogram Arduino
Memprogram Arduino
Memprogram Arduino
Memprogram Arduino

Saya tidak akan membahas kode sedetail biasanya karena ada cukup banyak. Saya telah melakukan penulisan terperinci yang menjelaskan setiap bagiannya yang dapat Anda temukan bersama dengan unduhan kode melalui tautan ini - Crack The Code Game Code.

Singkatnya; kita mulai dengan mengimpor perpustakaan untuk mengontrol tampilan OLED dan servo.

Kami kemudian mengatur parameter untuk tampilan dan membuat semua variabel kami. Ada beberapa variabel yang didedikasikan untuk melacak putaran encoder karena ini dilakukan melalui interupsi tepi naik pada pin 2 dan 3.

Ada dua larik kode yang dibuat, untuk menyimpan kode yang dibuat secara acak dan satu untuk menyimpan tebakan pengguna saat ini.

Dalam fungsi setup kita memulai tampilan, memasang servo, mengatur mode pin IO dan kemudian menampilkan animasi teks Crack The Code pada tampilan.

Fungsi loop mem-flash LED dan menampilkan pesan push to lock safe yang kemudian menunggu hingga pengguna menekan tombol untuk memulai permainan. Kode yang sama dijalankan di akhir permainan yang kemudian menampilkan jumlah percobaan dan menunggu tekan dial untuk memulai permainan baru.

Ada beberapa kode debouncing pada tombol tekan encoder dan setelah ditekan, servo mengunci brankas dan kode acak dihasilkan. Kode kemudian memanggil fungsi untuk meminta pengguna memasukkan tebakan mereka dan kemudian yang lain untuk memeriksa tebakan, ini diulang sampai pengguna menebak kode dengan benar.

Ada fungsi untuk memperbarui kode yang ditampilkan yang dipanggil setiap kali encoder dihidupkan dan kode yang ditampilkan perlu diubah.

Fungsi untuk menghasilkan kode baru cukup memberikan digit acak untuk masing-masing dari empat elemen dalam larik kode.

Fungsi untuk memasukkan tebakan kode memungkinkan pengguna untuk memilih digit menggunakan encoder dan kemudian mengkonfirmasi setiap input digit dengan menekan encoder ke bawah.

Fungsi tebak kode cek kemudian melihat melalui kode tebakan dan memutuskan berapa banyak digit yang benar dan berapa banyak yang berada di tempat yang benar.

Fungsi LED pembaruan mengubah jumlah LED merah dan hijau yang benar berdasarkan tebakan pengguna.

Fungsi startup ani menampilkan animasi Crack The Code saat startup.

Terakhir, dua fungsi interupsi mengelola input dari encoder, satu menambah angka ke atas saat diputar searah jarum jam dan satu ke bawah saat diputar berlawanan arah jarum jam.

Langkah 4: Memainkan Game Crack the Code

Memainkan Game Crack the Code
Memainkan Game Crack the Code
Memainkan Game Crack the Code
Memainkan Game Crack the Code
Memainkan Game Crack the Code
Memainkan Game Crack the Code
Memainkan Game Crack the Code
Memainkan Game Crack the Code

Cara terbaik untuk mempelajari cara bermain game adalah dengan menonton video di awal, ada dua contoh permainan yang dimainkan di dekat akhir.

Brankas awalnya tidak terkunci, memungkinkan Anda untuk memasukkan sesuatu ke dalamnya.

Anda kemudian menekan tombol untuk mengunci brankas dan menghasilkan kode baru.

Kode tebakan dimasukkan menggunakan dial untuk menambah digit dan tekan di dial untuk pergi ke digit berikutnya atau untuk mengkonfirmasi kode setelah keempat digit dipilih.

LED di bagian depan kemudian menyala untuk memberi tahu kami apa yang benar dalam tebakan kami.

Anda kemudian menggunakan umpan balik ini untuk membuat tebakan berikutnya sampai Anda dapat menebak kode yang benar dan membuka brankas lagi. Setelah Anda memasukkan kode yang benar, brankas akan terbuka dan jumlah upaya yang Anda perlukan untuk memecahkan kode akan ditampilkan.

Nikmati membangun retakan Anda sendiri pada kotak aman kode. Jika Anda menikmati Instruksi ini, silakan pertimbangkan untuk memilihnya di kontes Arduino.

Kontes Arduino 2020
Kontes Arduino 2020
Kontes Arduino 2020
Kontes Arduino 2020

Hadiah Kedua dalam Kontes Arduino 2020

Direkomendasikan: