Tugas Pendahuluan



TUGAS PENDAHULUAN MODUL 3


1. Soal Tugas Pendahuluan[Kembali]

 1. Jelaskan apa itu protokol komunikasi UART, SPI, dan I2C 
     Jawab :
      UART (Universal Asynchronous Receiver Transmitter) adalah protokol komunikasi serial asynchronous yang memungkinkan pertukaran data antara dua perangkat tanpa sinyal clock. Komunikasi dilakukan melalui dua jalur utama, yaitu TX (transmit) dan RX (receive). UART umum digunakan karena sederhana dan hanya membutuhkan dua kabel, tetapi tidak cocok untuk banyak perangkat sekaligus karena tidak mendukung sistem multi-slave.

    SPI (Serial Peripheral Interface) adalah protokol komunikasi serial synchronous yang digunakan untuk pertukaran data antara satu master dan satu atau lebih slave. SPI menggunakan empat jalur utama: MOSI (Master Out Slave In), MISO (Master In Slave Out), SCK (Serial Clock), dan SS/CS (Slave Select/Chip Select). SPI mendukung komunikasi berkecepatan tinggi dan bersifat full-duplex, tetapi membutuhkan lebih banyak pin jika banyak perangkat slave yang digunakan.

    I2C (Inter-Integrated Circuit) adalah protokol komunikasi serial synchronous yang hemat pin dan digunakan untuk menghubungkan banyak perangkat dengan dua jalur yaitu: SDA (Serial Data) dan SCL (Serial Clock). I2C mendukung komunikasi multi-master dan multi-slave dengan alamat unik untuk setiap perangkat. Meskipun kecepatan transfernya lebih rendah dan hanya mendukung komunikasi half-duplex



  2. Bagaimana konfigurasi komunikasi UART pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
  Jawab :
   Hardware
  •    STM32
            Pada STM32, komunikasi UART memerlukan dua pin yaitu TX dan RX, misalnya pada STM32F103 digunakan pin PA9 (TX) dan PA10 (RX). Perangkat keras UART dapat dihubungkan ke USB-to-Serial converter untuk komunikasi dengan komputer.
Rangkaian dasar UART STM32 ke USB-TTL 
    STM32 PA9 (Tx) : Rx USB-TTL
    STM32 PA10 (Rx) : Tx USB-TTL 
    GND STM32 : GND USB-TTL

  • Raspberry Pi Pico
       Pada Raspberry Pi Pico, UART dilakukan melalui pin GPIO, seperti GPIO0 untuk TX dan GPIO1 untuk RX pada UART0. Rangkaian serupa, dengan koneksi ke USB-to-Serial converter. 
  Rangkaian dasar UART Pico ke USB-TTL :
            - Pico GPIO 0 (Tx) : Rx USB-TTL
            - Pico GPIO 1 (Rx) : Tx USB-TTL
            - Pico GND : GND USB-TTL


      Software
  • Pada STM32 konfigurasi dilakukan menggunakan STM32CubeIDE. UART diaktifkan melalui pengaturan USART (misalnya USART1) dalam mode asynchronous, dan parameter seperti baud rate (misalnya 9600), parity, dan stop bit disesuaikan. Kode programnya menggunakan library HAL, misalnya HAL_UART_Transmit() untuk mengirim data dan HAL_UART_Receive() untuk menerima data.
  • Pada Raspberry Pi Pico, dengan MicroPython, UART dikonfigurasi menggunakan machine.UART. Contohnya, UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1)) digunakan untuk inisialisasi, dan data dikirim melalui uart.write() dan diterima dengan uart.read()


   3. Bagaimana konfigurasi komunikasi SPI pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
        Jawab :
        Hardware
  •    STM32
            Pada STM32, komunikasi SPI menggunakan empat pin: MOSI, MISO, SCK, dan CS. Misalnya SPI1 pada STM32F103 menggunakan PA5 (SCK), PA6 (MISO), PA7 (MOSI), dan PA4 sebagai CS.

  • Raspberry Pi Pico
       Pada Raspberry Pi Pico, SPI dapat dikonfigurasi menggunakan SPI0 atau SPI1. Untuk SPI0, pin default adalah GPIO18 (SCK), GPIO19 (MOSI), GPIO16 (MISO), dan CS bisa dipilih bebas (misalnya GPIO17).


       Software
  • Pada STM32, SPI dikonfigurasi di STM32CubeIDE dengan memilih SPI1 sebagai master, menentukan clock polarity dan phase, serta kecepatan komunikasi. Program menggunakan library HAL dengan fungsi seperti HAL_SPI_Transmit() dan HAL_SPI_Receive() untuk pertukaran data.
  • Pada Raspberry Pi Pico, dengan MicroPython, SPI diinisialisasi menggunakan machine.SPI, misalnya SPI(0, baudrate=1000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(19), miso=Pin(16)), dan komunikasi dilakukan dengan spi.write() atau spi.readinto().


   4.  Bagaimana konfigurasi komunikasi I2C pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
        Jawab :
        Hardware
  •    STM32
            Pada STM32, komunikasi I2C umumnya menggunakan pin seperti PB6 (SCL) dan PB7 (SDA) untuk I2C1. Diperlukan resistor pull-up (misalnya 4.7kΩ) ke VCC pada kedua jalur.

  • Raspberry Pi Pico
       Pada Raspberry Pi Pico, I2C0 menggunakan GPIO0 (SDA) dan GPIO1 (SCL), juga memerlukan resistor pull-up.

       Software
  • Pada STM32, Konfigurasi I2C dilakukan di STM32CubeIDE dengan mengaktifkan I2C1, memilih mode master/slave, serta mengatur kecepatan (misalnya 100 kHz). Program menggunakan fungsi HAL_I2C_Master_Transmit() dan HAL_I2C_Master_Receive() untuk komunikasi antar perangkat.
  • Pada Raspberry Pi Pico, dengan MicroPython, I2C diatur melalui machine.I2C, misalnya I2C(0, scl=Pin(1), sda=Pin(0), freq=100000). Fungsi i2c.scan() digunakan untuk mendeteksi perangkat yang terhubung, sedangkan writeto() dan readfrom() untuk mengirim dan menerima data.

Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

Elektronika

 BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA C Disusun Oleh : Nabilah Darma Fitri 2210953003 Dosen Pengampu : Dr. Darwison, M.T JURUSAN ...