Laporan Akhir



 1. Prosedur [kembali]

  1. Pahami terlebih dahulu kondisi yang akan digunakan
  2. 1. Buat dua project baru pada STM32CubeIDE menggunakan mikrokontroler STM32 NUCLEO G474RE.

        •Project_Master

        •Project_Slave

    2. Konfigurasi Project Master

        a. Aktifkan I2C1 dengan pengaturan:

        Mode: I2C

        •Clock Speed: 100 kHz (Standard Mode)

        •Addressing Mode: 7-bit

        •Pin yang digunakan:

        •PB6 → SCL

        •PB7 → SDA

        b. Aktifkan SPI1 dengan pengaturan:

            •Mode: Full Duplex Master

            •Direction: 2 Lines

            •Data Size: 8-bit

            •Clock Polarity: Low

            •Clock Phase: 1 Edge

            •NSS: Software

            •Baudrate Prescaler: 16

            •First Bit: MSB First

        Pin yang digunakan:

            •PA5 → SCK

            •PA6 → MISO

            •PA7 → MOSI

    3. Konfigurasi Project Slave

        a. Aktifkan SPI1 dengan pengaturan:

            •Mode: Full Duplex Slave

            •Direction: 2 Lines

            •Data Size: 8-bit

            •Clock Polarity: Low

            •Clock Phase: 1 Edge

            •NSS: Hardware Input

            •First Bit: MSB First

        Pin yang digunakan:

            •PA5 → SCK

            •PA6 → MISO

            •PA7 → MOSI

            •PA4 → NSS

    b. I2C tidak digunakan pada Slave

    4. Setelah seluruh konfigurasi selesai, lakukan Generate Code untuk masing-masing project.

 2.  Hardware [kembali]

1. STM32 NUCLEO-G474RE



2. Float Switch



3. Infrared Sensor


4. Resistor


5. Buzzer



6. LED 

7. Push Button
  • Diagram Blog
PROSEDUR
  • Regulator Power Supply

  1. Susun Rangkaian sesuai gambar
  2. Hubungkan resistor, transistor, dan kapasitor
  3. Hidupkan power supply dan hubungkan ke rangkaian
  4. Ukur Voutnya


ALAT

1. Multimeter



2. Power Supply AC dan DC




BAHAN

1. Resistor




2. Transistor



3. jumper

4. Kapasitor


 3. Rangkaian Simulasi Dan Prinsip Kerja [kembali]

Prinsip Kerja

Pada rangkaian game Geometry Jump ini digunakan dua buah mikrokontroler STM32 yang berkomunikasi menggunakan protokol I2C dengan konsep master dan slave. STM32 master berfungsi sebagai pengendali utama permainan, sedangkan STM32 slave bertugas menerima data dan mengontrol perangkat output seperti LED dan buzzer. Saat sistem pertama kali dinyalakan, kedua mikrokontroler melakukan inisialisasi pin GPIO, komunikasi I2C, serta perangkat input dan output yang digunakan. OLED pada sisi master digunakan untuk menampilkan tampilan permainan sederhana, sedangkan push button berfungsi sebagai kontrol untuk melakukan aksi lompat pada karakter game. Koneksi SDA dan SCL pada kedua STM32 memungkinkan proses pengiriman data berjalan secara sinkron antara master dan slave. Seluruh rangkaian memperoleh catu daya yang sama sehingga komunikasi dan respon perangkat dapat berjalan stabil selama permainan berlangsung.

Prinsip kerja permainan dimulai ketika push button ditekan untuk memulai game, kemudian master mengirimkan data “game run” ke slave melalui komunikasi I2C. Setelah data diterima, slave menyalakan LED hijau sebagai indikator bahwa permainan sedang aktif, sedangkan LED merah berada dalam kondisi mati. Ketika pemain menekan push button untuk melakukan lompatan, master membaca input tombol lalu mengirimkan data “jump” ke slave. Setelah menerima data tersebut, slave mengaktifkan buzzer sebagai efek suara lompatan sehingga sinkron dengan aksi karakter pada game. Selama permainan berlangsung, master terus memproses logika game seperti pergerakan karakter dan deteksi rintangan yang ditampilkan pada OLED. Komunikasi data antara kedua STM32 berlangsung secara terus-menerus agar kondisi permainan pada master dan indikator pada slave tetap sesuai secara real-time.

Apabila karakter terkena rintangan atau pemain gagal melakukan lompatan dengan tepat, master mendeteksi kondisi game over kemudian mengirimkan data tersebut ke slave melalui jalur I2C. Setelah menerima data game over, slave mematikan LED hijau dan menyalakan LED merah sebagai tanda permainan berakhir, kemudian buzzer juga diaktifkan untuk memberikan notifikasi suara. Jika selama permainan tombol tidak ditekan, maka master akan mengirimkan nilai logika “0” sehingga slave tidak mengaktifkan buzzer dan permainan tetap berjalan normal. Flowchart master menunjukkan bahwa seluruh keputusan utama seperti mulai game, aksi lompat, dan deteksi tabrakan diproses pada sisi master sebelum dikirim ke slave. Sementara itu, flowchart slave hanya berfungsi sebagai penerima data dan pengendali output berdasarkan instruksi dari master. Dengan pembagian tugas tersebut, sistem komunikasi I2C mampu membuat permainan bekerja lebih terstruktur, responsif, dan sinkron antara pengolah data dan perangkat output.

 4. Analisa [kembali]










 5. Video Demo[kembali]







  

     6. Download File [kembali]

  1. Download File Rangkaian klik disini
  2. video demo Klik Disini














Komentar

Postingan populer dari blog ini