Snake LED
Snake LED adalah sebuah prangkat game (snake) dengan implementasi penggunaan led matrix 8x8 untuk bermain serta untuk pergerakan arah snake menggunakan joystick dan terdapat aplikasi yang berfungsi untuk menampilkan score pada game snake. Skor akan bertambah ketika snake memakan makanan lalu riset skor setelah snake mati
Berikut Yang Terlibat Dalam Projek:
- Bisma Agam Gunawan (2502010414)
- Rifki Ahmad Prawira (2502003213)
- Mohammad Hisyam Abdur Rauf Nasrullah (2502032730)
Supplies
ALAT/DEVICE yang di butuhkan:
- pc/laptop
- solder
- timah
- gerinda
- bor
- flux
- 3d print
Bahan/KOMPONEN yang di butuhkan:
- esp 32 devkit v1
- led ws2812b matrix 8x8
- joystick axis x and y
- jummper male to male
- pin header
- H2O 80ml, HCL 20ml, dan H2O2 20ml
- tiner
- spidol permanen
- kertas foto
- pcb
- baut
- fillamen PLA
- kabel konektor
Tujuan
Rumusan masalah:
- bagaimana meruting module lampu matrix ws2812 b yang berjumlah 64 dari led no 0 sampai 63 dan analog joystick axis x dan y untuk menggeser/memindahkan lampu
- membuat sebuah system logic permainan snake yang terhubung ke module
- menghubungkan device dengan google firebase rtdb yang dapat di lihat di aplikasi yang kita buat (flutter)
Tujuan:
- Kami membuat snake led ini berawal dari nostalgia pada game snake yg terdapat pada hp nokia 6110 tahun 1997 untuk pertama kalinya game snake di populerkan, Lalu kami menemukan ide kenapa tidak mengaplikasikan gameplay snake menggunakan led ws2812b matrix 8x8 yang kita punya serta joystick untuk pergerakan arah ular serta aplikasi yang berfungsi sebagai penampil score snake
Metodelogi Dan Design Solusi
Metodologi
- identifikasi kebutuhan pengguna
- Alat kami yaitu snake led dapat mengobati rasa nostalgia jaman dulu
- Mudah untuk di mainkan dan ramah untuk anak-anak
- Aplikasi yang dapat melihat score permainan snake
2. solusi
- memaksimalkan potensi led matrix ws2812b menjadikannya sebuah display dalam membuat game snake led
- membuat perangkat snake led berbasis IOT
Konsep Dan Detail Teknis
konsep:
- Arsitektur sistem
- blok diagram
Komponent yang kami gunakan bekerja berdasarkan urutan pertama berawal dari esp32 - joystick - LED WS2812B - Firebase Real-time Database (RTDB) - Flutter.
b. flow chart
Urutan cara kerja alat kami berawal dari esp32 -> Joystick -> jika tidak ada input dari joystick maka tidak akan berlanjut, Jika terdapat input maka akan mengirim perintah bergerak ke -> LED WS3812B, disini snake (lampu hijau ) akan bergerak sesuai perintah dari joystick -> Lalu skor pemain akan bertambah sesuai makanan (lampu merah) yang dimakan, Jika pemain kalah maka skor akan direset -> Skor yang sudah didapatkan pemain akan dikirim ke Firebase Real-time database (RTDB) -> Lalu skor akan ditampilkan di Flutter.
- Management energi
kami menggunakan power supplay listrik dengan tegangan 3.5V sampai 5V setara dengan 2 Amper
Detail Teknis:
- hardware
- esp 32 devkit v1
- led ws2812b matrix 8x8
- joystick axis x and y
- jummper male to male
- pcb
- software
- ketika snake memakan makanannya maka panjang snake dan skor akan bertambah 1
- ketika snake memakan dirinya sendiri atau puter arah snake akan mati dan ketika mati skor akan di riset kembali menjadi 0
Design File Pcb, Code
Berikut Terlampir:
Code:
kami ngecode hardware dengan menggunakan tools aplikasi vscode platform io
untuk ngecode aplikasi kami juga menggunakan tools aplikasi vscode flutter
- menggunakan bahasa C++ dan bahasa dart untuk aplikasinya
link code : https://drive.google.com/file/d/122zoZH0Cmuagpkq_YUpLqOkMqM3erCQI/view?usp=sharing
Design pcb:
kami mendesign pcb menggunakan tools website easyeda
Design 3d print:
kami mendesign case 3d print menggunakan tools aplikasi fusion 360.
- pada bagian atas terdapat tempat untuk meletakan module led matrix ws2812b 8x8 di sebelah kanan membuat sebuah tempat untuk joystick axis x dan y serta support baut untuk meletakan module joystick
- untuk bagian bawah untuk meletakan pcb dan sebagai tutup casing yang kami buat
Link Design Fusion Dan Rangkain Circuit : https://drive.google.com/file/d/1JcJOZyG1MQu6g4LojDO3pIubCTZdVii4/view?usp=sharing
Evaluasi Design Dan Kesimpulan
Dari hasil pengamatan kami selama beberapa hari setelah alat kami sudah dapat dioperasikan serta dipajang untuk pameran secara keseluruhan alat kami sudah berjalan dengan baik dan benar. Kami menemukan beberapa masalah yang harus dievaluasi.
Pertama, yaitu kami menemukan bahwa kabel jumper sering kendur yang menyebabkan aliran data dari esp32 ke led menjadi error.
Kedua, kami menemukan bahwa design dari casing kurang support untuk menahan pcb yang membuat pcb goyang lalu kabel jumper menjadi longgar.
ketiga, Kami menemukan bahwa permainan kami juga dipengaruhi oleh internet, jika internet yang digunakan terdapat kendala maka akan berpengaruh juga terhadap jalannya permainan snake led seperti terjadinya lag.
keempat ada baiknya ditambahkan display oled untuk melihat score. jadi score tidak hanya dapat di lihat di aplikasi yang kita buat
Video Demo
cara kerja alat kami dengan cara menampilkan game Snake yang tertampil pada led matrix ws2812b untuk mengerakan ular ke atas, bawah, kanan, kiri, mengunakan analog joystik axis, ketika snake memakan makanan menambah panjang ekor sejumlah 1, lalu ketika snake memakan dirinya dan putar mengarah ke badan dia akan game over dan fungsi game snake tertampil ke aplikasi flutter yang mana score akan kembali ke 0 setelah game over , di aplikasi fitur menampilkan skor secara realtime.
Downloads
Refrensi
link refrensi: https://www.hackster.io/vasiljevalentin/snake-led-16x16-matrix-game-27ba6d#story