- Asistensi dilakukan 1x
- Praktikum dilakukan 1x
- Memahami prinsip kerja UART, SPI, dan I2C
- Mengaplikasikan protokol komunikasi UART, SPI, dan I2C
- Modul Arduino
- ESP32
- Dipswitch
- LED
- Seven Segment
UART (Universal Asynchronous Receiver-Transmitter) adalah
bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data
dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan
untuk komunikasi serial pada komputer atau port serial perangkat periperal.
Cara Kerja Komunikasi UART
Gambar 1. Cara Kerja Komunikasi UART
Data dikirimkan secara paralel dari
data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit
kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial
dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit
tambahan, kemudia di transfer secara parallel ke data bus penerima.
Serial Peripheral Interface ( SPI ) merupakan salah satu
mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega
328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui
komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun
antara mikrokontroller dengan peripheral lain di luar mikrokontroler.
MOSI
: Master Output Slave Input Artinya jika dikonfigurasi sebagai master maka pin
MOSI
sebagai output tetapi jika dikonfigurasi sebagai slave maka pin MOSI sebagai
input.
MISO
: Master Input Slave Output Artinya jika dikonfigurasi sebagai master maka pin
MISO sebagai input tetapi jika dikonfigurasi sebagai slave
maka pin MISO sebagai output. SCLK : Clock Jika dikonfigurasi sebagai master
maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai slave
maka pin CLK berlaku sebagai input.
SS/CS : Slave Select/ Chip Select adalah jalur master
memilih slave mana yang akan dikirimkan data.
Cara Kerja Komunikasi SPI
Gambar 2. Cara Kerja Komunikasi SPI
Sinyal clock
dialirkan dari master ke slave yang berfungsi untuk sinkronisasi. Master dapat
memilih slave mana yang akan dikirimkan data melalui slave select, kemudian
data dikirimkan dari master ke slave melalui MOSI. Jika master butuh respon
data maka slave akan mentransfer data ke master melalui MISO.
Inter
Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua
arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun
menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan
pengontrolnya.
Cara Kerja Komunikasi I2C
Gambar 3. Cara Kerja Komunikasi I2C
Pada I2C, data ditransfer dalam bentuk message yang terdiri
dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data
Frame 2, dan kondisi Stop. Kondisi start
dimana saat pada SDA beralih dari logika high ke low sebelum SCL. Kondisi stop
dimana saat pada SDA beralih dari logika low ke high sebelum SCL.
R/W bit berfungsi untuk menentukan apakah master mengirim
data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave,
logika 1 = meminta data dari slave) ACK/NACK bit berfungsi sebagai pemberi
kabar jika data frame ataupun address frame telah diterima receiver.
Arduino adalah kit elektronik atau papan rangkaian
elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah
chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita
gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega
328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar
Arduino dapat berhubungan dengan komputer ataupun perangkat lain.
Adapun spesifikasi dari Arduino Uno ini adalah sebagai
berikut :
Gambar 3. Arduino Uno
Microcontroller |
ATmega328P |
|
Operating Voltage |
5 V |
|
Input Voltage (recommended) |
7 – 12 V |
|
Input Voltage (limit) |
6 – 20 V |
|
Digital I/O Pins |
14 (of which 6 provide PWM output) |
|
PWM Digital I/O Pins |
6 |
|
Analog Input Pins |
6 |
|
DC Current per I/O Pin |
20 mA |
|
DC Current for 3.3V Pin |
50 mA |
|
Flash Memory |
32 KB of which 0.5 KB used by bootloader |
|
SRAM |
2 KB |
|
EEPROM |
1 KB |
|
Clock Speed |
16 MHz |
|
A. BAGIAN-BAGIAN ARDUINO UNO
Digunakan untuk menghubungkan Papan Arduino dengan komputer
lewat koneksi USB.
Supply atau sumber listrik untuk Arduino dengan tipe Jack.
Input DC 5 - 12 V.
Kristal ini digunakan sebagai layaknya detak jantung pada
Arduino. Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
Digunakan untuk mengulang program Arduino dari awal atau
Reset.
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk
memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah
pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan
PWM.
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5.
Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu
dsb, dan mengubahnya menjadi nilai digital.
Lampu ini akan menyala dan menandakan Papan Arduino
mendapatkan supply listrik dengan baik.
B. BAGIAN-BAGIAN PENDUKUNG
RAM (Random Access Memory) adalah tempat penyimpanan
sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak
memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2
jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random
Acces Memory).
ROM (Read-only Memory)
adalah perangkat keras pada computer yang dapat menyimpan data secara permanen
tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM,
PROM, EPROM, EEPROM.
Tidak ada komentar:
Posting Komentar