Daftar Isi:
- Langkah 1: Hubungkan layar (sentuh)
- Langkah 2: Kenali Perpustakaan
- Langkah 3: Rancang Antarmuka Pengguna Grafis / Menu Utama
- Langkah 4: Hubungkan Dua Pengontrol
- Langkah 5: Mulai Menghubungkan Koneksi Nirkabel
- Langkah 6: Jadilah Liar! Mencoba Berbagai Hal
- Langkah 7: Desain
- Langkah 8: Pencetakan 3D Enclosure
- Langkah 9: Menyolder dan Menyelesaikan
- Langkah 10: Pratinjau
Video: Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): 10 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Apa yang saya gunakan?
-Arduino MEGA
- 2x Arduino UNO
- Adafruit 3.5 TFT 320x480 Layar Sentuh HXD8357D
- Bel
- Speaker 4Ohm 3W
- Lampu LED 5mm
- Printer Ultimaker 2+ dengan Filamen PLA Hitam
- Pemotong laser dengan kayu MDF
- Cat semprot hitam (untuk kayu)
- Transceiver Nirkabel 3x nRF24L01+
- Tombol 2x 16mm
- 2x Sensor Tekanan
- Dudukan Baterai 3x 9V
- Papan tempat memotong roti
- Layar OLED I2C 2x 0,96 inci
- Kabel pria - wanita
- Stasiun solder
- Lem super
- 2x modul sentuh satu saluran (MERAH/BIRU)
Langkah 1: Hubungkan layar (sentuh)
Jadi kami akan membuat konsol genggam ini, dengan dua pengontrol nirkabel.
Oleh karena itu kami akan memiliki unit utama (Bagian terbesar, dengan layar LCD)
Unit utama akan dijalankan dengan Arduino MEGA.
Dua pengontrol terpisah masing-masing akan menjalankan Arduino UNO.
Nanti kita akan membuat Arduinos saling berkomunikasi untuk mengirim data pengontrol.
Mulailah dengan memasang kabel layar 320x480 dengan benar ke unit layar utama Anda (Arduino MEGA) seperti dalam tutorial ini. (Adafruit memiliki tutorial terperinci yang bagus untuk pengkabelan & kode).
Untuk suara, saya menghubungkan buzzer dan Speaker 3W 4Ohm untuk memisahkan pin digital dan GND.
dengan nada (pin, frekuensi, durasi); Anda dapat membuat beberapa suara monofonik dasar.
Langkah 2: Kenali Perpustakaan
Layar Adafruit 320x480 mendukung pustaka Adafruit_GFX dan Adafruit_TFTLCD yang sesuai.
Baca dokumentasi. Saya pikir itu dijelaskan dengan cukup baik di sana.
Pastikan Anda memasukkan pengaturan yang benar di Arduino IDE:
Alat -> Papan -> Arduino/Genuino MEGA atau MEGA 2560
Alat -> Port -> [Port dengan ''Arduino MEGA'' di dalamnya]
Pustaka layar khusus ini mendukung font khusus, bentuk dasar, dan berbagai warna.
Sesuatu yang perlu diperhatikan mungkin adalah bahwa kecepatan refresh terlalu rendah untuk animasi yang mulus. Jika Anda ingin memperbarui layar setiap centang, itu akan terlalu lambat untuk menangani menggambar ulang setiap piksel, dan itu akan berkedip
Jadi saya akan menyarankan untuk bekerja secara kreatif di sekitar ini, seperti bagaimana beberapa perangkat genggam yang lebih tua menangani animasi: dengan keyframes. Kurang itu lebih! Dan alih-alih menggambar ulang semuanya setiap detik, jika Anda ingin memindahkan persegi panjang ke kiri atau ke kanan, Anda cukup menghapus jejak yang ditinggalkannya, alih-alih menghapus seluruh objek dan menggambar ulang.
Misalnya, saya menggunakan kedipan layar sebagai efek berkedip untuk karakter di urutan intro.
Dari perpustakaan Adafruit_GFX saya terutama menggunakan tft.fillRect(x, y, width, height, color); dan tft.print(teks); fungsi.
Bereksperimen adalah kuncinya.
Langkah 3: Rancang Antarmuka Pengguna Grafis / Menu Utama
Setelah mendapatkan pengetahuan di dalam perpustakaan dan mengetahui keterbatasan/kekuatannya, Anda dapat mulai mendesain layar Menu Utama.
Sekali lagi, pikirkan tentang persegi panjang. Setidaknya itulah yang saya lakukan.
Ini kode saya untuk UI
pastebin.com/ubggvcqK
Anda dapat membuat penggeser untuk kecerahan layar, untuk mengontrol pin ''Lite'' pada Layar Sentuh Adafruit Anda, melalui pin Analog.
Langkah 4: Hubungkan Dua Pengontrol
Untuk bagian pengontrol sebenarnya terserah Anda jenis sensor apa yang ingin Anda gunakan, tergantung pada game apa yang Anda rencanakan untuk dibuat
Oke, jadi untuk pengontrol saya memutuskan untuk menggunakan:
- Sensor tekanan
- Layar OLED
- Modul sentuh satu saluran yang menyala atau mati
- Sensor gerakan (RobotDyn APDS9960)
- nRFL01+ Transceiver (untuk komunikasi nirkabel)
- Tombol tekan
Catatan: Sensor Gesture dan OLED keduanya menggunakan koneksi SCL / SDA. Butuh beberapa saat bagi saya untuk menyadari bahwa Arduino hanya memiliki dua: A4 dan A5. Tapi Anda bisa memasang paralel ini bersama-sama di papan tempat memotong roti dan itu akan berfungsi dengan baik
Langkah 5: Mulai Menghubungkan Koneksi Nirkabel
Pengkabelan modul nRF24L01+ membutuhkan waktu lama bagi saya, untuk membuatnya berfungsi.
Saya harus menggunakan perpustakaan TMRh20 RF24, setelah tidak dapat mengirimkan data sensor yang tepat ke layar.
Agar beberapa Arduino dapat berkomunikasi satu sama lain, kita harus memastikan bahwa setidaknya satu UNO diaktifkan, serta MEGA.
Gunakan konsol serial MEGA untuk mencetak hasil yang Anda dapatkan dari UNO, dan lihat apakah berhasil.
Berikut kodenya
Berikut perpustakaan
Langkah 6: Jadilah Liar! Mencoba Berbagai Hal
Bagian penting dari proses pengembangan saya adalah mencoba banyak hal!
Tombol seperti apa yang ingin Anda gunakan?
Apa yang Anda masukkan ke dalam pengontrol Anda?
Melihat-lihat di situs web, Anda akan menemukan banyak komponen selain tombol ''A/B'' biasa atau joystick analog. Terinspirasi dan termotivasi untuk mencobanya!
Setelah Anda mendapatkan ide yang jelas dan berfungsi tentang apa yang ingin Anda masukkan ke dalam pengontrol, sambungkan komponennya.
Tergantung pada cara kerjanya, Anda perlu menggunakan input digital, atau input analog.
CATATAN: Beberapa komponen mungkin memerlukan pin SCL / SDA agar berfungsi dengan benar. Dan jika Anda memiliki dua atau lebih sensor yang keduanya membutuhkan hal yang sama, Anda mungkin akan mendapatkan serangan panik seperti saya. Tapi Anda tidak perlu khawatir
Anda dapat menempatkan kedua pin SDA dan SCL sensor secara seri satu sama lain, masuk ke A4 dan A5 dan itu akan berfungsi
Langkah 7: Desain
Setelah Anda mendapatkan ide keren untuk sensor yang ingin Anda gunakan, buat sketsa beberapa ide untuk desain yang Anda suka.
Setelah itu, masuk ke beberapa program pemodelan seperti Blender, Maya, Cinema 4D.
Saya menggunakan Blender untuk membuat model (kasar).
Untuk mendapatkan pengukuran yang jelas di Blender, Anda dapat mengubah satuan ukuran grid menjadi milimeter.
Setelah Anda membuat model, pastikan Anda tidak memiliki simpul ganda dan Anda telah menghitung ulang normal Anda.
Ekspor file sebagai.stl, jika Anda ingin menggunakan printer 3D seperti saya.
CATATAN: Di Blender, Anda harus mengatur skala ekspor ke 0,1, jika Anda ingin ukuran yang akurat di Cura pada langkah berikutnya
Langkah 8: Pencetakan 3D Enclosure
Model ini dicetak dengan filamen PLA Hitam 2,85mm pada printer Ultimaker 2+.
Unduh CURA
Muat. STL Anda ke Cura, dan itu akan menunjukkan berapa lama waktu yang dibutuhkan.
Untuk kasing genggam, mungkin diperlukan waktu hingga 10 jam untuk mencetak, tergantung ukurannya.
Namun, untuk model dengan detail rendah, Anda dapat mempercepat prosesnya, itulah yang saya lakukan.
Berikut adalah pengaturan saya:
Tinggi Lapisan: 0.2
Ketebalan Dinding: 0.8
Ketebalan Atas / Bawah: 0,8
Nosel: 0,4
Suhu: 60 derajat Celcius
Aliran: 100%
Brim: Di mana saja menyentuh buildplate
Kepadatan pengisi: 20%
Bertahap: 0
Suhu Nosel: 220 C
Kecepatan Cetak: 120%
Langkah 9: Menyolder dan Menyelesaikan
Anda telah datang jauh.
Langkah terakhir adalah mendapatkan perfboard / veroboard, dan menerjemahkan koneksi papan tempat memotong roti Anda ke bagian dari papan prototyping.
Pastikan elektronik pas di dalam penutup yang dicetak, dan mungkin potong beberapa kayu MDF untuk membuat bagian di mana tombol / input pengontrol menempel.
Saya menggunakan pemotong laser untuk ini.
Yang paling penting adalah bermain-main, mencoba beberapa hal yang belum pernah Anda lakukan sebelumnya, dan bersenang-senanglah!
Semoga tutorial ini cukup jelas…Itu adalah proyek yang cukup sulit, yang menghasilkan hasil yang luar biasa!:)
Langkah 10: Pratinjau
Direkomendasikan:
Konsol Game Genggam Raspberry Pi Zero DIY: 6 Langkah (dengan Gambar)
Konsol Game Genggam Raspberry Pi Zero DIY: Dalam proyek ini saya akan menunjukkan kepada Anda bagaimana saya menggunakan Raspberry Pi Zero, baterai NiMH, sirkuit perlindungan over-discharge buatan sendiri, lcd spion dan audio amp untuk membuat konsol game genggam yang dapat dimainkan permainan retro. Mari kita mulai
Konsol Game Genggam ESP32: 21 Langkah (dengan Gambar)
Konsol Game Genggam ESP32: Instruksi ini menunjukkan cara menggunakan ESP32 dan ATtiny861 untuk membangun konsol game emulator NES
GamePi - Konsol Emulator Genggam: 17 Langkah (dengan Gambar)
GamePi - Konsol Emulator Genggam: Intro: Instruksi ini menjelaskan pembuatan konsol emulasi genggam bertenaga Raspberry Pi 3 - Saya telah membaptisnya dengan GamePi. Ada banyak instruksi serupa untuk perangkat semacam itu, tetapi menurut selera saya, kebanyakan dari mereka terlalu besar, terlalu kecil, terlalu
Konsol Game Genggam - Klon Arduboy: 6 Langkah (dengan Gambar)
Konsol Game Genggam | Arduboy Clone: Beberapa bulan yang lalu saya menemukan Arduboy yang menurut situs resminya adalah platform game mini 8 bit yang memudahkan untuk belajar, berbagi, dan bermain game secara online. Ini adalah platform sumber terbuka. Game untuk Arduboy dibuat oleh pengguna
Konsol Arduino Pong Genggam: 6 Langkah (dengan Gambar)
Konsol Arduino Pong Genggam: DFRobot menghubungi saya baru-baru ini, ingin saya menggunakan papan Arduino Nano dan OLED khusus mereka. Awalnya saya ingin membuat sepeda pintar, dan saya membangunnya secara keseluruhan. Namun sayangnya Nano terlalu lemah untuk menjalankan dan menyimpan sketsa besar-besaran