Fasilitas komunikasi yang dimiliki mikrokontroler Arduino Uno meliputi komunikasi antara Arduino Uno dengan komputer, Arduino Uno dengan arduino lain, dan Arduino
Uno dengan mikrokontroler yang lain. ATmega328 menyediakan fasilitas USART Universal Synchronus and Asynchronus Serial Receiverand Transmitter pada pin D0
Rx dan pin D1 Tx.
2.2.1. Mikrokontroler ATmega328
Dalam penelitian ini mikrokontroler yang digunakan adalah mikrokontroler ATmega328 karena kompatibilasnya dengan modul mikrokontroler Arduino Uno.
ATmega328 memiliki fitur 32 kByte downloadable flash memory, 1 kByte Electrically Erasable Programmable Read-Only Memory EEPROM, 2 kByte internal Static Random-
AcessMemory SRAM, 2 TimerCounter 8 bit dan1 TimerCounter 16 bit, 6 kanal PWM, serial USART yang dapat diprogram dan frekuensi kerja dapat mencapai 20MHz [8].
ATmega328 memiliki fungsi masing-masing pin yang dapat dilihat pada gambar 2.3 sedangkan untuk penjelasan masing-masing pin dapat dilihat pada tabel 2.1 dan
konfigurasi alternatif port D dapat dilihat pada tabel 2.2. Tabel 2.1. Konfigurasi dan diskripsi pin ATmega328 [8]
No Pin Nama Pin
Keterangan
7 VCC
Sumer tegangan positif 8, 22
GND Ground
9,10, 14, 15,16,17,18,19
Port B PB7:0
Masing-masing pin pada port B memiliki resistor pull-up internal dan dapat digunakan sebagai 8 bit IO digital. Pin
PB6 dan PB7 terhubung dengan Kristal 16Mhz, tidak digunakan sebagai IO. Pin PB1- pin PB3 dapat digunakan
sebagai output PWM. 1, 23, 24,25,
26, 27, 28 Port C
PC6:0 Masing-masing pin pada port C memiliki resistor pull-up
internal dan dapat digunakan sebagai 7 bit IO analog. Pin PC6 digunakan sebagai input reset, tidak digunakan
sebagai IO 2, 3, 4, 5, 6,
11, 12, 13 Port D
PD7:0 Konfigurasi alternatif port D dapat dilhat pada tabel 2.2
20 AVcc
Sumber tegangan positif untuk konversi analog ke digital 21
Aref Tegangan referensi untuk konversi analog ke digital
Tabel 2.2. Konfigurasi Alternatif Port D [8]
No Pin Nama Pin
Keterangan
13 PD7
AIN1 Analog Comparator Negative Input PCINT23 Pin Charge Interrupt 2
12 PD6
AIN0 Analog Comparator Negative Input OC0A TimerCounter 0 Output Compare Match A
Output PCINT22 Pin Change Interupt 22
11 PD5
T1 TimerCounter 1 External Counter Input OC0B TimerCounter 0 Output Compare Match B Output
PCINT21 Pin Change Interupt 21 10
PD4 XCK USART External Clock InputOutput
T0 TimerCounter 0 External Counter Input PCINT20 Pin Change Interupt 20
9 PD3
INT1 Extenal Interupt 1 Input OC2B TimerCounter 2 Output Compare Match B Output
PCINT19 Pin Change Interupt 19 8
PD2 INT0 Extenal Interupt 0 Input
PCINT18 Pin Change Interupt 18 7
PD1 TXD USART Output Pin
PCINT17 Pin Change Interupt 17 6
PD0 RXD USART Input Pin
PCINT16 Pin Change Interupt 16
2.2.2. TimerCounter pada Mikrokontroler Arduino Uno