TP Modul 3



TUGAS PENDAHULUAN MODUL 3


1. Soal Tugas Pendahuluan[Kembali]

 1. Jelaskan apa itu protokol komunikasi UART, SPI, dan I2C 
     Jawab :
      UART adalah protokol komunikasi serial asinkron, artinya tidak menggunakan sinyal clock eksternal. Komunikasi dilakukan melalui dua pin utama:
  • TX (Transmit)

  • RX ( Receiver)
    SPI adalah protokol komunikasi serial sinkron dengan kecepatan tinggi, terdiri dari:
  • MOSI (Master Out Slave In)

  • MISO (Master In Slave Out)

  • SCK (Serial Clock)

  • SS/CS (Slave Select / Chip Select)

SPI bekerja dalam mode master-slave dan full duplex, di mana satu master dapat mengontrol banyak slave (dengan masing-masing slave memiliki pin CS tersendiri)

I2C adalah protokol komunikasi sinkron yang hanya menggunakan dua kabel:

  • SDA (Serial Data Line)

  • SCL (Serial Clock Line)

I2C mendukung komunikasi multi-master dan multi-slave melalui sistem addressing. Setiap perangkat memiliki alamat unik (7-bit atau 10-bit).



  2. Bagaimana konfigurasi komunikasi UART pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
  Jawab :
 Konfigurasi komunikasi UART pada STM32 secara hardware dilakukan dengan menghubungkan pin USARTx_TX dan USARTx_RX ke perangkat eksternal seperti modul Bluetooth atau USB-serial converter. Pin tersebut tergantung dari model STM32 yang digunakan dan dapat diatur melalui STM32CubeMX. Dalam perangkat lunak, STM32 menggunakan HAL Library di mana komunikasi UART dapat dikonfigurasi melalui CubeMX dengan menentukan parameter seperti baud rate, parity, data bits, dan stop bit. Setelah konfigurasi, pengguna dapat menggunakan fungsi seperti HAL_UART_Transmit() dan HAL_UART_Receive() dalam kode C. Sementara itu, Raspberry Pi Pico memiliki dua port UART (UART0 dan UART1), dengan pin default TX dan RX masing-masing pada GP0-GP1 dan GP8-GP9. Dalam Micropython, konfigurasi dilakukan dengan memanggil objek UART() dan menentukan baudrate, kemudian data dapat dikirim dan diterima menggunakan uart.write() dan uart.read(). Dalam C/C++, SDK dari Raspberry Pi Pico menyediakan fungsi uart_init() dan uart_puts() serta konfigurasi pin menggunakan gpio_set_function().


   3. Bagaimana konfigurasi komunikasi SPI pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
        Jawab :
       Pada STM32, konfigurasi SPI secara hardware memerlukan pengkabelan ke empat jalur utama yaitu MOSI, MISO, SCK, dan CS dari salah satu port SPI yang tersedia (SPI1, SPI2, atau SPI3 tergantung model). Pengguna menghubungkan pin-pin tersebut ke sensor atau perangkat eksternal yang mendukung SPI seperti layar OLED, ADC, atau EEPROM. Konfigurasi software dilakukan melalui STM32CubeMX dengan menentukan mode (master/slave), clock polarity, phase, dan kecepatan transfer. Setelah itu, fungsi-fungsi seperti HAL_SPI_Transmit() dan HAL_SPI_Receive() digunakan dalam program. Pada Raspberry Pi Pico, SPI0 dan SPI1 adalah dua port utama yang tersedia, masing-masing memiliki jalur SCK, MOSI, MISO, dan CS yang dapat dikonfigurasi ke pin yang berbeda sesuai kebutuhan. Di Micropython, konfigurasi dilakukan dengan membuat objek SPI() dan menentukan parameter seperti baudrate, polaritas, dan fase, lalu komunikasi dilakukan menggunakan spi.write() dan spi.read(). Dalam C/C++, pengguna menggunakan spi_init() dan gpio_set_function() untuk mengatur fungsi pin sebagai SPI.

   4.  Bagaimana konfigurasi komunikasi I2C pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
        Jawab :
       Untuk STM32, konfigurasi I2C secara hardware dilakukan dengan menghubungkan pin SDA dan SCL yang berasal dari salah satu interface I2C (misalnya I2C1 atau I2C2) ke perangkat I2C seperti sensor suhu, IMU, atau OLED. Penting untuk memasang resistor pull-up pada jalur SDA dan SCL (biasanya 4.7kΩ) agar sinyal tetap stabil. Konfigurasi software menggunakan STM32CubeMX, di mana pengguna memilih mode master atau slave, kecepatan clock (biasanya 100 kHz atau 400 kHz), dan alamat perangkat. Dalam program, data dikirim dan diterima dengan menggunakan fungsi HAL_I2C_Master_Transmit() dan HAL_I2C_Master_Receive(). Di sisi lain, Raspberry Pi Pico menyediakan dua port I2C (I2C0 dan I2C1), dengan pin default SDA dan SCL pada GP0-GP1 dan GP2-GP3. Dalam Micropython, I2C dikonfigurasi dengan membuat objek I2C() dan menentukan frekuensi serta pin yang digunakan. Fungsi i2c.scan() digunakan untuk mendeteksi alamat perangkat yang terhubung, sedangkan i2c.writeto() dan i2c.readfrom() digunakan untuk komunikasi data. Dalam C/C++, Pico SDK menyediakan fungsi i2c_init() serta i2c_write_blocking() dan i2c_read_blocking() untuk implementasi komunikasi I2C.

Komentar

Postingan populer dari blog ini

Modul 1 Input Output

Modul 3

Tugas Besar