Tentang proyek ini
Selamat datang di tutorial pertama saya!
Proyek yang ingin saya bagikan kepada Anda hari ini adalah permainan labirin Arduino, yang menjadi konsol saku yang mampu seperti Arduboy dan konsol berbasis Arduino serupa. Itu dapat di-flash dengan game masa depan saya (atau Anda) berkat header ICSP yang terbuka.
Saya punya ide beberapa bulan yang lalu untuk membangun permainan labirin di Arduino, tetapi tanpa kumpulan labirin yang dikodekan secara keras. Ini harus dapat menghasilkan labirin baru untuk setiap level yang Anda mainkan, sehingga Anda tidak akan pernah melihat labirin yang sama lagi :)
Pengkodean ini agak sulit, karena Arduino terbatas pada memori RAM, dan kemudian saya menemukan beberapa contoh bagaimana hal ini dapat dilakukan dengan algoritma Bo-Taoshi sederhana.
Kode yang saya gunakan sebagai titik awal saya ambil oleh SANUKI UDON dan project nya CARA MEMBUAT MAZE GENERATOR MENGGUNAKAN ATTINY13A
Langkah 1:Pembuatan Prototipe Papan Tempat Memotong Roti
Titik awal saya adalah dengan papan tempat memotong roti kecil dengan hanya 4 tombol yang terhubung untuk bergerak melalui labirin, tetapi kemudian ketika saya memutuskan itu harus menjadi konsol game, saya menambahkan beberapa tombol lagi. Pada papan tempat memotong roti yang lebih besar Anda dapat melihat 2 tombol lagi, dan kemudian saya menambahkan tombol ketiga untuk digunakan sebagai tombol mulai/jeda/menu
Langkah 2:Bagian yang Dibutuhkan - Arduino pro mini / Arduino Uno / chip Atmega328P
- Soket DIP 28 pin (opsional)
- Tempat baterai sel berbentuk koin
Langkah 3:Pengkabelan / Skema Breadboard
Menghubungkan komponen seperti yang ditunjukkan pada diagram di atas.
Tombol:
- Tombol BAWAH:Pin Arduino 6
- Tombol KIRI:Arduino pin 9
- Tombol KANAN:Arduino pin 8
- Tombol MULAI:Pin Arduino 2
Layar OLED SSD1306:
Buzzer:
- Buzzer positif:Arduino pin 3
- Buzzer ground:Arduino GND
Langkah 4:Kode Sumber
Kode sumber permainan A-Maze dapat ditemukan di sini:https://github.com/alojzjakob/A-Maze
Buka di Arduino IDE dan unggah ke papan Anda atau gunakan programmer ISP untuk memprogram chip Anda.
Saya sarankan menggunakan USBTIny ISP, tidak pernah ada masalah dengan itu :) tetapi Anda juga dapat menggunakan Arduino biasa untuk memprogram chip Anda.
Dalam kasus saya, saya tidak menggunakan kristal eksternal, jadi chip Atmega328p saya bekerja pada osilator internal yaitu 8MhZ.
Untuk info lebih lanjut kunjungi tautan ini:https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard.
Langkah 5:Lihat Tindakannya
Langkah 6:Kasus dan Miniaturisasi
Jika Anda ingin membuat proyek ini permanen, dengan casing yang terlihat bagus, berikut adalah casing cetak 3D sederhana yang saya rancang:https://www.thingiverse.com/thing:2851100
Pada gambar di atas Anda dapat melihat bagaimana semua komponen diletakkan pada prototipe PCB 4x6.
Sebagian besar kabel kancing berada di bawah dudukan baterai, cobalah membuatnya sejelas mungkin, sehingga dudukan baterai dapat secara relatif pas di atas papan dengan kabel di antaranya.
Saya juga merekomendasikan melakukan pengkabelan lain di bawah layar, karena kaki chip Atmega disolder dan terbuka di bawah layar. Setelah selesai menyolder, letakkan beberapa pita isolasi di bawah layar untuk mencegah korsleting dll.
Header ICSP adalah opsional, dan jika Anda memutuskan untuk tidak mengeksposnya, itu akan membuat perakitan Anda lebih mudah, 6 koneksi lebih sedikit untuk diurus, tetapi program chip terlebih dahulu sebelum Anda menyoldernya, atau gunakan soket DIP 28 pin sehingga Anda dapat dengan mudah lepaskan chip untuk pemrograman.
Kode
Github
https://github.com/alojzjakob/A-Mazehttps://github.com/alojzjakob/A-Maze Suku cadang dan penutup khusus
Thingiverse
https://www.thingiverse.com/thing:2851100CAD file di thingiverse.com