Daftar Isi:

Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): 10 Langkah (dengan Gambar)
Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): 10 Langkah (dengan Gambar)

Video: Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): 10 Langkah (dengan Gambar)

Video: Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): 10 Langkah (dengan Gambar)
Video: Switch Game Life Hack!! 😱 #nintendo #switch #pokemon #nostalgia #retro #trending #shorts #ytshorts 2024, November
Anonim
Image
Image
Hubungkan layar (sentuh)
Hubungkan layar (sentuh)

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)

Hubungkan layar (sentuh)
Hubungkan layar (sentuh)
Hubungkan layar (sentuh)
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

Kenali Perpustakaan
Kenali Perpustakaan
Kenali Perpustakaan
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

Desain Antarmuka Pengguna Grafis / Menu Utama
Desain Antarmuka Pengguna Grafis / Menu Utama
Desain Antarmuka Pengguna Grafis / Menu Utama
Desain 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

Hubungkan Dua Pengontrol
Hubungkan Dua Pengontrol
Hubungkan Dua Pengontrol
Hubungkan Dua Pengontrol
Hubungkan Dua Pengontrol
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

Mulai Menghubungkan Koneksi Nirkabel
Mulai Menghubungkan Koneksi Nirkabel
Mulai Menghubungkan Koneksi Nirkabel
Mulai Menghubungkan Koneksi Nirkabel
Mulai Menghubungkan Koneksi Nirkabel
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

Pergi Liar! Mencoba Berbagai Hal
Pergi 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

Desain
Desain
Desain
Desain
Desain
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

Pencetakan 3D Enclosure
Pencetakan 3D Enclosure
Pencetakan 3D Enclosure
Pencetakan 3D Enclosure
Pencetakan 3D Enclosure
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

Solder dan Finalisasi
Solder dan Finalisasi
Solder dan Finalisasi
Solder dan Finalisasi
Solder dan Finalisasi
Solder dan Finalisasi

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: