• Tidak ada hasil yang ditemukan

BAB II DASAR TEOR

2.3. Mikrokontroler AVR ATmega32

2.3.4. Komunikasi Serial USART

2.3.4.1. Inisialisasi USART

Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi USART. Register-register yang digunakan untuk komunikasi USART antara lain:

1. USART I/O Data Register (UDR)

UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data diterima (RXB) sebelum data tersebut dibaca.

Gambar 2.5. Register UDR [4]

Gambar 2.6. Register UCSRA [4] Penjelasan bit penyusun UCSRA :

a) RXC (USART Receive Complete)

Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.

b) TXC (USART Transmit Complete)

Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.

c) UDRE (USART Data Register Empty)

Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.

d) FE (Frame Error)

Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika

stop bit data yang diterima berlogika nol. e) DOR (Data OverRun)

Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan bernilai satu ketika terjadi tumpang tindih data.

f) PE (Parity Error)

Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit paritas digunakan.

g) U2X (Double the USART Transmission Speed)

Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.

h) MPCM (Multi Processor Communication Mode)

Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh USART tidak mengandung informasi alamat akan diabaikan.

2. USART CONTROL AND STATUS REGISTER B (UCSRB)

Gambar 2.7. Register UCSRB [4] Penjelasan bit penyusun UCSRB :

a) RXCIE (RX Complete Interrupt Enable)

Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.

b) TXCIE (TX Complete Interrupt Enable)

Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.

c) UDRIE (USART Data Register Empty Interrupt Enable)

Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika diaktifkan dan sebaliknya.

Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran penerima USART.

e) TXEN (Transmitter Enable)

Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran pengirim USART.

f) UCSZ2 (Character Size)

Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk memilih tipe lebar data bit yang digunakan.

Tabel 2.1. Penentuan Ukuran Karakter [4]

g) RXB8 (Receive Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini harus dibaca dahulu sebelum membaca UDR.

h) TXB8 (Transmit Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini harus ditulis dahulu sebelum membaca UDR.

UCSZ[2..0] Ukuran Karakter dalam bit 0 5 1 6 10 7 11 8 100-110 Tidak dipergunakan 111 9

3. USART CONTROL AND STATUS REGISTER C (UCSRC)

Gambar 2.8. Register UCSRC [4] Penjelasan bit penyusun UCSRC :

a) URSEL (Register Select)

Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk menulis atau membaca register UCSRC maka bit harus berlogika satu.

b) UMSEL (USART Mode Select)

Bit pemilih mode komunikasi serial antara sinkron dan asinkron.

c) UPM[1…0] (Parity Mode)

Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter

USART akan membuat paritas yang akan digunakan secara otomatis. d) USBS (Stop Bit Select)

Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan. e) UCSZ1 dan UCSZ0

Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB.

f) UCPOL (Clock Parity)

Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan data keluaran dan sampel masukkan, dan clock sinkron (XCK).

2.4. Komparator

Komparator adalah suatu rangkaian pembanding dimana dapat mendeteksi suatu sinyal pada level tegangan tertentu, atau bukan nol. Hal ini dapat dilakukan dengan memberikan tegangan refrensi (Vref) pada salah satu terminal masukan. Ada beberapa cara untuk mendapatkan tegangan refrensi. Contohnya yaitu dapat dilihat pada gambar 2.21 yaitu dengan pembagi tegangan dan gambar 2.19 dengan menggunakan dioda zener [10].

Sesuai dengan karakteristik op-amp sebagai komparator, jika[10] :

Vin < Vref  Vout = - Vout(max) (Low)

Gambar 2.9. Rangkaian Umum Komparator dengan Pembagi Tegangan [23]

Gambar 2.10. Rangkaian Umum Komparator dengan Dioda Zener [10]

2.5. Regulator Tegangan IC 78xx

Rangkaian penyearah pada dasarnya sudah cukup bagus jika tegangan ripple-nya kecil, namun ada masalah pada stabilitas tegangan yang dihasilkan. Regulator tegangan tipe 78xx adalah salah satu regulator tegangan tetap dengan tiga terminal, yaitu terminal Vin, GND dan Vout. Regulator tegangan 78xx dirancang sebagai regulator tegangan tetap. Kongifurasi pin IC regulator ditunjukan pada Gambar 2.11.

Gambar 2.12. Konfigurasi Pin IC Regulator [11]

Tabel 2.3 menunjukkan spesifikasi IC regulator seri 78xx denga keluaran dan masukan minimum dan maksimum.

Tabel 2.2 Karakteristik Regulator Tegangan IC 78xx [12]

Type VOUT (Volt) VIN (Volt) Min Maks 7805 5 7,3 20 7806 6 8,3 21 7808 8 10,5 23 7810 10 12,5 25 7812 12 14,6 27 7815 15 17,7 30 7818 18 21 33 7824 24 27,1 38

Gambar 2.13. Rangkaian Umum Regulator 78xx [12]

Nilai komponen c1 dan c2 difungsikan sebagai filter capasitor yang bertujuan untuk menghilangkan tegangan ripple agar tegangan keluaran menjadi lebih stabil. Untuk mendapatkan nilai capasitor yang sesuai, dapat mengacu pada persamaan 2.1 dan 2.2 [12].

� � = � 4 3� = 2.4 � =2.4 � ��. (2.2) =� ( � )× 100% (2.3)

2.6.

Algoritma

2.6.1.

Pengenalan Graf

Graph tersusun atas titik-titik yang dinamakan vertex, dan garis-garis yang menghubungkan titik tersebut, yang dinamakan rusuk. Suatu Graph G, terdiri atas dua himpunan terhingga, yaitu himpunan titik-titik V, dinamakan vertex, dan himpunan garis- garis yang menghubungkannya E, dinamakan rusuk, sehingga setiap rusuk menghubungkan dua vertex, yang dinamakan titik ujung rusuk tersebut, dapat dinotasikan G=(V,E). Graph

didalam bidang listrik sering disebut dengan istilah jaringan, dalam hal ini diperlukan DiGraph (graph searah) yang setiap rusuknya mempunyai arah yang ditunjukan oleh tanda panah. DiGraph G=(V,E) ialah suatu Graph yang mempunyai rusuk e=(i,j) mempunyai arah dari “titik awal”-nya i ke “titik akhir”-nya j, untuk lebih jelasnya dapat dilihat pada gambar 2.13. [15]

Gambar 2.14. DiGraph (Graph terarah)[15]

Pada gambar 2.18 terdapat 4 vertex yaitu 1, 2, 3, 4, dan 7 rusuk yaitu: e1, e2, e3, e4, e5, e6, dan e7. Misal untuk e1 dapat dituliskan e1=(1,2).

2.6.1.1Representasi Graf

Untuk pemrosesan dengan komputer atau otomatisasi, graf direpresentasikan dalam bentuk matriks. Ada beberapa representasi yang sering digunakan untuk merepresentasikan graf dalam bentuk matriks, diantaranya matriks ketetanggaan (adjacency matrix), matriks bersisian (incidency matrix), dan senarai ketetanggaan (adjacency list) [16].

Matriks ketetanggaan atau dikenal juga dengan sebutan adjacency matriks adalah salah satu representasi graf yang sering digunakan. Matriks ketetanggaan ini menyatakan status ketetanggan sebuah simpul apakah ia bertetangga dengan simpul yang lainnya atau tidak.

Definisi suatu simpul bertetangga dengan simpul lainnya [16] ialah “Dua buah simpul pada graf tak-berarah G dikatakan bertetangga bila keduanya terhubung langsung dengan sebuah sisi. Dengan kata lain, vi bertetangga dengan vk jika (vi,vk) adalah sebuah sisi pada graf G”. Untuk graf tidak berbobot, matriks hanya berisikan angka 0 atau 1, yang berarti 0 jika antar simpulnya tidak bertetangga, dan angka 1 jika antar simpulnya bertetangga. Untuk graf berbobot, matriks tidak diisi dengan angka 0 atau 1 saja, tetapi menggunakan bobot masing-masing sisi graf tersebut. Untuk simpul yang tidak memiliki sisi yang menghubungkan dengan simpul lain, maka matriks bagian kolom dan baris tersebut diisi dengan ∞.

Matriks ketetanggaan untuk graf sederhana dan tidak berarah selalu simetri, sedangkan untuk graf berarah matriks nya belum tentu simetri.

2.6.2.

Algoritma Dijkstra

Algoritma Dijkstra merupakan algoritma yang digunakan dalam tugas akhir ini untuk melakukan pencarian jalur terpendek dari satu titik awal ke titik tujuan.

Algoritma Dijkstra adalah algoritma untuk mencari jalur (path) yang termurah dari satu vertex awal ke vertex akhir [14]. Algoritma ini berbasis pada teknik greedy, di mana digunakan sebuah himpunan vertex S yang mula-mula diisi dengan vertex awal. Pada setiap langkah vertex v berikutnya yang memiliki bobot terkecil atau biaya termurah, ditambahkan. Sebuah array D biasa digunakan untuk merekam panjang jalur terpendek dari vertex awal ke vertex akhir.[14]

Dokumen terkait