MODUL 3 COMMUNICATION


Modul 3




MODUL 3

COMMUNICATION


1. Pendahuluan [Kembali]

a) Asistensi dilakukan 1x 

b) Praktikum dilakukan 1x 

2. Tujuan [Kembali]

a) Memahami cara penggunaan protokol komunikasi UART, SPI, dan I2C pada Development Board yang digunakan 

b) Memahami cara penggunaan komponen input dan output yang berkomunikasi secara UART, SPI, dan I2C pada Development Board yang digunakan 

3. Alat dan Bahan [Kembali]

  a) Mikrokontroler STM32F103C8


     b) Touch Sensor

     c) Buzzer 



     d) Resistor



     e) LED 

    f) Push Button 
    
    g) Breadboard 

    h) STM32 Nucleo G474RE


    i) LDR Sensor

    j) Motor Servo



    k) Adaptor 

    l) Supply

    m) LCD I2C 16X2

    n) Mq-2


    o) LED OLED

4. Dasar Teori [Kembali]

1.4.1 UART (Universal Asynchronous Receiver Transmitter)

UART (Universal Asynchronous Receiver-Transmitter) merupakan perangkat keras yang digunakan untuk komunikasi serial dengan cara mengubah data paralel menjadi data serial, maupun sebaliknya. UART umumnya berupa rangkaian terintegrasi (IC) yang digunakan pada komputer maupun perangkat periferal untuk mendukung komunikasi serial.

Pada proses komunikasi UART, data dari data bus dikirim secara paralel menuju UART pengirim. Selanjutnya, UART menambahkan bit tambahan seperti start bit, parity bit, dan stop bit sehingga membentuk sebuah paket data serial. Paket data tersebut kemudian dikirim melalui jalur transmisi dari pin Tx (transmit) UART pengirim menuju pin Rx (receive) UART penerima. Setelah diterima, UART penerima akan menghapus bit-bit tambahan tersebut dan mengubah kembali data serial menjadi data paralel sebelum diteruskan ke data bus penerima.

1.4.2 I2C (Inter-Integrated Circuit)

Inter-Integrated Circuit (I2C) adalah protokol komunikasi serial dua arah yang menggunakan dua jalur utama, yaitu SCL (Serial Clock) dan SDA (Serial Data). Protokol ini dirancang agar perangkat dapat saling mengirim maupun menerima data melalui satu jalur komunikasi yang sama.

Pada komunikasi I2C, data dikirim dalam bentuk message yang terdiri atas kondisi start, address frame, bit R/W, bit ACK/NACK, data frame, dan kondisi stop. Kondisi start terjadi ketika sinyal SDA berubah dari logika high ke low saat SCL berada pada kondisi high. Sebaliknya, kondisi stop terjadi ketika SDA berubah dari low ke high sebelum SCL.

Bit R/W digunakan untuk menentukan arah komunikasi, yaitu apakah master mengirim data ke slave atau meminta data dari slave. Logika 0 menunjukkan proses penulisan data (write), sedangkan logika 1 menunjukkan proses pembacaan data (read). Sementara itu, bit ACK/NACK digunakan sebagai tanda bahwa data atau alamat yang dikirim telah diterima oleh perangkat penerima.

1.4.3 SPI (Serial Peripheral Interface)

Serial Peripheral Interface (SPI) merupakan metode komunikasi serial sinkron berkecepatan tinggi yang tersedia pada mikrokontroler seperti STM32F407VGT6 dan Raspberry Pi Pico. SPI menggunakan tiga jalur utama, yaitu MOSI, MISO, dan SCK, serta satu jalur tambahan berupa SS/CS untuk memilih perangkat slave.

Pada jalur MOSI (Master Output Slave Input), data dikirim dari master menuju slave. Jika perangkat dikonfigurasi sebagai master, maka pin MOSI berfungsi sebagai output, sedangkan pada mode slave berfungsi sebagai input.

Pada jalur MISO (Master Input Slave Output), data dikirim dari slave menuju master. Ketika perangkat berperan sebagai master, pin MISO digunakan sebagai input, sedangkan pada mode slave berfungsi sebagai output.

Jalur SCLK atau Serial Clock digunakan untuk memberikan sinyal clock dari master ke slave agar proses komunikasi tetap sinkron. Pada mode master, pin ini berfungsi sebagai output, sedangkan pada mode slave berfungsi sebagai input.

Selain itu, SPI memiliki jalur SS/CS (Slave Select/Chip Select) yang digunakan oleh master untuk memilih slave yang akan dihubungi. Umumnya, komunikasi hanya berlangsung ketika pin SS/CS berada pada kondisi aktif, yaitu logika rendah.

Dalam proses kerjanya, master mengirimkan sinyal clock ke slave untuk sinkronisasi komunikasi. Setelah slave dipilih melalui pin SS/CS, data dikirim dari master ke slave melalui jalur MOSI. Jika diperlukan respon dari slave, maka data akan dikirim kembali ke master melalui jalur MISO.

1.4.4 Raspberry Pi Pico

Raspberry Pi Pico merupakan papan pengembangan mikrokontroler yang menggunakan chip RP2040 buatan Raspberry Pi Foundation. Berbeda dengan seri Raspberry Pi lainnya yang menjalankan sistem operasi seperti Linux, Raspberry Pi Pico dirancang khusus untuk aplikasi embedded system yang bekerja langsung pada tingkat perangkat keras, seperti pembacaan sensor, pengendalian aktuator, dan pengolahan data sederhana.

A. Bagian-Bagian Pendukung Raspberry Pi Pico

  1. RAM (Random Access Memory)
    Raspberry Pi Pico memiliki SRAM internal sebesar 264 KB yang memungkinkan perangkat menjalankan aplikasi dengan kompleksitas lebih tinggi serta menyimpan data sementara selama program dijalankan.

  2. Memori Flash Eksternal
    Raspberry Pi Pico tidak menggunakan ROM konvensional, melainkan memanfaatkan memori flash eksternal dengan kapasitas yang umumnya berkisar antara 2 MB hingga 16 MB. Memori ini digunakan untuk menyimpan firmware dan program pengguna.

  3. Crystal Oscillator
    Raspberry Pi Pico menggunakan crystal oscillator untuk menghasilkan sinyal clock yang stabil sehingga proses kerja mikrokontroler dapat berjalan dengan akurat dan sinkron.

  4. Regulator Tegangan
    Komponen ini berfungsi menjaga kestabilan tegangan suplai agar mikrokontroler dapat bekerja dengan baik.

  5. Pin GPIO (General Purpose Input/Output)
    GPIO digunakan untuk menghubungkan Raspberry Pi Pico dengan perangkat eksternal seperti sensor, LED, motor, dan modul komunikasi lainnya.

1.4.5 STM32F103C8

STM32F103C8 adalah mikrokontroler berbasis ARM Cortex-M3 yang dikembangkan oleh STMicroelectronics. Mikrokontroler ini banyak digunakan pada sistem embedded karena memiliki performa yang baik, konsumsi daya rendah, serta mendukung berbagai protokol komunikasi seperti UART, SPI, dan I2C.

STM32F103C8 dapat diprogram menggunakan beberapa metode, di antaranya USART, SWD (Serial Wire Debug), dan JTAG, sehingga memudahkan komunikasi dengan komputer maupun perangkat lain.

A. Bagian-Bagian Pendukung STM32F103C8

  1. RAM (Random Access Memory)
    STM32F103C8 dilengkapi dengan SRAM internal sebesar 20 KB yang digunakan untuk menyimpan data sementara selama proses eksekusi program berlangsung.

  2. Memori Flash Internal
    Mikrokontroler ini memiliki memori flash internal sebesar 64 KB hingga 128 KB yang digunakan untuk menyimpan firmware dan program secara permanen tanpa memerlukan media penyimpanan tambahan.

  3. Crystal Oscillator
    STM32F103C8 umumnya menggunakan crystal oscillator eksternal 8 MHz yang dipadukan dengan PLL sehingga frekuensi clock dapat ditingkatkan hingga 72 MHz.

  4. Regulator Tegangan
    Sistem regulator internal berfungsi menjaga kestabilan tegangan kerja mikrokontroler dengan rentang tegangan operasi sekitar 2,0 V hingga 3,6 V.

  5. Pin GPIO (General Purpose Input/Output)
    STM32F103C8 memiliki hingga 37 pin GPIO yang dapat digunakan untuk menghubungkan berbagai perangkat eksternal, seperti sensor, motor, LED, dan antarmuka komunikasi serial seperti UART, SPI, serta I2C.

5. Percobaan [Kembali]

                                                     





 

Komentar

Postingan populer dari blog ini

Modul 1 - General input dan output

LINE FOLLOWER