Laporan Akhir Modul 3
Laporan Akhir Modul 3
- Siapkan alat dan bahan yang digunakan
- Buat project master dan slave pada STM32CubeIDE
- Hubungkan rangkaian komunikasi SPI antara Master dan Slave
- Hubungkan OLED SSD1306 ke board Master menggunakan komunikasi I2C
- Hubungkan push button ke pin input GPIO pada board Master sebagai kontrol permainan.
- Lakukan konfigurasi pada STM32CubeMX untuk Project Master
- Lakukan konfigurasi pada STM32CubeMX untuk Project Slave
- Generate code untuk masing-masing project.
- Tambahkan library SSD1306 pada Project Master untuk menampilkan game pada OLED.
- Buat program permainan Geometry Jump pada Master
- Buat program komunikasi SPI
- Compile program dan upload kode ke masing-masing board STM32.
- Nyalakan sistem dan amati tampilan game pada OLED.
- Tekan push button untuk memainkan karakter agar melompati obstacle.
- Amati proses komunikasi data SPI antara Master dan Slave selama permainan berlangsung.
2. Hardware dan Diagram Blok[Kembali]
- Hardware
STM NUCLEO G474RE

OLED
Push button
LED
Jumper
Breadboard
- Diagram Blog
3. Rangkaian Simulasi[Kembali]
Percobaan Game Geometry Jump menggunakan dua buah mikrokontroler STM32 yang berkomunikasi menggunakan protokol SPI dan tampilan OLED yang menggunakan komunikasi I2C. Sistem terdiri dari STM32 Master sebagai pengendali utama permainan dan STM32 Slave sebagai penerima data komunikasi.
Saat sistem dinyalakan, STM32 Master akan melakukan inisialisasi GPIO, SPI, dan I2C. OLED SSD1306 diinisialisasi menggunakan komunikasi I2C untuk menampilkan tampilan permainan. Push button digunakan sebagai input pemain untuk mengontrol karakter agar dapat melompat.
Pada kondisi awal, karakter game tampil pada layar OLED bersama obstacle yang bergerak dari kanan ke kiri layar. Ketika push button ditekan, STM32 Master membaca input tersebut lalu mengubah posisi karakter menjadi melompat. Jika tombol tidak ditekan, karakter kembali turun akibat simulasi gravitasi sederhana.
Selama permainan berlangsung, STM32 Master terus memperbarui tampilan OLED melalui komunikasi I2C sehingga animasi game dapat terlihat bergerak secara real-time. Master juga melakukan pengecekan collision antara karakter dan obstacle. Jika karakter mengenai obstacle, permainan dinyatakan game over.
Selain mengontrol tampilan game, STM32 Master juga mengirimkan data tertentu ke STM32 Slave menggunakan komunikasi SPI. Data yang dikirim dapat berupa status permainan, score, atau kondisi game over. Dalam komunikasi SPI, Master bertindak sebagai pengendali clock dan pengirim data, sedangkan Slave hanya menerima data dari Master.
STM32 Slave menerima data SPI melalui pin MOSI dan memproses data yang diterima sesuai program yang dibuat. Dengan demikian, komunikasi SPI dan I2C dapat bekerja bersamaan dalam satu sistem permainan Geometry Jump.
4. Flowchart dan Listing Program[Kembali]
- Flowchart
Logika Game
Master
Slave
- Listing Program
Komentar
Posting Komentar