Perancangan dan Realisasi Scrolling Text Display Berdasarkan Input Dari PC Secara Nirkabel.

(1)

i

Universitas Kristen Maranatha PERANCANGAN DAN REALISASI SCROLLING TEXT DISPLAY

BERDASARKAN INPUT DARI PC SECARA NIRKABEL Albertus Adrian Chandra

Email : juztd0it_81818@yahoo.com

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. drg. Suria Sumantri, MPH 65

Bandung 40164, Indonesia

ABSTRAK

Sistem komunikasi nirkabel merupakan sistem komunikasi yang semakin popular sekarang ini. Hal ini membuat proses pertukaran informasi dan komunikasi menjadi cepat dan mudah. Scrolling text display merupakan sebuah perangkat yang dapat digunakan untuk menyampaikan informasi berupa tulisan yang bergerak.

Dalam Tugas Akhir ini dilakukan perancangan dan realisasi scrolling text display berdasarkan input dari PC secara nirkabel. Input data diisi melalui Visual Basic 6.0. Komunikasi yang digunakan adalah komunikasi serial dengan menggunakan modul Xbee-PRO XBP24-1083. Scrolling text display dirancang dengan menggunakan IC counter 4017 yang dikontrol oleh mikrokontroler ATMEGA32.

Hasil pengujian menunjukkan bahwa scrolling text display dapat menerima input data dengan baik. Komunikasi nirkabel yang dapat dilakukan antar Xbee-PRO XBP24-1083 adalah 15 meter pada ruangan dan 250 meter pada luar ruangan.

Kata Kunci: komunikasi nirkabel, komunikasi serial, scrolling text display, mikrokontroler ATMEGA32, Xbee-PRO


(2)

ii

Universitas Kristen Maranatha DESIGN AND REALIZATION OF SCROLLING TEXT DISPLAYS

BASED ON WIRELESS INPUT FROM PC Albertus Adrian Chandra

Email : juztd0it_81818@yahoo.com

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. drg. Suria Sumantri, MPH 65

Bandung 40164, Indonesia

ABSTRACT

Wireless communication system is a communication system that is becoming more popular today. This makes the process of exchange of information and communication becomes fast and easy. Scrolling text display is a device that can be used to give an information in the form of a letter that moves.

In this final assignment, scrolling text display based on wireless input from the PC is designed and realized. Input data is filled with Visual Basic 6.0. Communication that is used is serial communication with Xbee-PRO XBP24-1083 module. Scrolling text display is designed using IC 4017, which is controlled by microcontroller ATmega32.

Test results show that display scrolling text can be input as well. Wireless connectivity that can be done between XBP24 XBee-PRO-1083 is 15 meters indoors and outdoors at 250 meters.

Keywords: wireless communication, serial communication, scrolling text display, microcontroler ATMEGA32, Xbee-PRO


(3)

v

Universitas Kristen Maranatha

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... viii

DAFTAR GAMBAR ... ix

DAFTAR LAMPIRAN ... xi

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah ... 1

1.2. Identifikasi Masalah ... 1

1.3. Perumusan Masalah ... 1

1.4. Tujuan ... 2

1.5. Pembatasan Masalah ... 2

1.6. Spesifikasi Sistem ... 2

1.7. Blok Diagram, Keterangan dan Cara Kerja ... 3

1.8. Sistematika Penulisan ... 4

BAB II DASAR TEORI 2.1. Mikrokontroler ... 5

2.1.1 Pengenalan ATMEL AVR RISC ... 5

2.1.2 Mikrokontroler ATmega 32 ... 6

2.1.2.1 Fitur ATmega32 ... 6

2.1.2.2 Blok Diagram ATmega32 ... 8

2.1.2.3 Konfigurasi Pin ATmega 32 ... 9

2.1.2.4 Peta Memori AVR ATmega32 ... 12

2.1.2.4.1 Memori Program ... 12

2.1.2.4.2 Memori Data (SRAM ) ... 13

2.1.2.4.3 Memori Data EEPROM ... 14


(4)

vi

Universitas Kristen Maranatha 2.1.2.6 USART (The Universal Synchronous and Asynchronous

serial Receiver and Transmitter) ATmega32 ... 15

2.1.2.6.1 USART Register Description ... 16

2.2. Komunikasi Serial ... 20

2.3. RS-232 ... 20

2.4. IC MAX232 ... 21

2.5. Komunikasi Nirkabel ... 22

2.5.1 Modul RF Maxstream Xbee-PRO ... 23

2.5.1.1 Fitur Utama Xbee-PRO ... 24

2.5.1.2 Konfigurasi Pin Xbee-PRO ... 24

2.5.1.3 Adressing Xbee-PRO ... 25

2.6. Modulasi ... 26

2.6.1 O-QPSK ... 26

2.6.2 Direct Sequence Spread Spectrum (DSSS) ... 27

2.7. Decade Counter 4017... 27

2.8. IC ULN 2803 ... 28

2.9. IC 7408 ... 28

2.10. Led Matriks ... 29

2.11. Visual Basic ... 30

2.12. Transistor Sebagai Saklar ... 31

BAB III PERANCANGAN DAN REALISASI 3.1. Perancangan Hardware ... 32

3.1.1 Modul Pengirim ... 32

3.1.2 Xbee-PRO Penerima dan Mikrokontroler ATmega32 ... 33

3.1.3 Perancangan Scrolling Text Display ... 35

3.2. Perancangan Software ... 32

3.2.1 Algoritma Program pada Mikrokontroler ... 38

3.2.1.1 Diagram Alir Interrupt Serial ... 39

3.2.1.2 Diagram Alir Isi Data1, Isi Data2 dan Isi Data3 ... 40


(5)

vii

Universitas Kristen Maranatha

3.2.1.4 Diagram Alir Framing ... 42

3.2.1.5 Diagram Alir Data Isi1, Data Isi2 dan Data Isi3 ... 43

3.2.1.6 Diagram Alir Clear_frame ... 45

3.2.1.7 Diagram Alir Scanning1, Scanning2 dan Scanning3 ... 45

3.2.1.8 Kode Karakter ... 48

3.2.2 Algoritma Program pada Visual Basic... 49

3.2.2.1 Diagram Alir Reset ... 50

3.2.2.2 Diagram Alir Kirim ... 51

3.2.2.3 Konfigurasi Xbee-PRO ... 52

3.2.3 Form pada Visual Basic ... 54

BAB IV DATA PENGAMATAN 4.1.Pengujian Pengiriman Input Data ... 55

4.2.Pengujian Jarak Komunikasi Modul Xbee-PRO ... 56

4.3.Pengujian Address Transmitter dan Receiver ... 57

BAB V PENUTUP 5.1.Kesimpulan ... 58

5.2.Saran ... 58


(6)

viii

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel 2.1 Fungsi Khusus Port A ... 10

Tabel 2.2 Fungsi Khusus Port B ... 11

Tabel 2.3 Fungsi Khusus Port C ... 11

Tabel 2.4 Fungsi Khusus Port D ... 12

Tabel 2.5 Konfigurasi I/O ATmega32 ... 15

Tabel 2.6 Baud Rate ... 17

Tabel 2.7 Lebar Frekuensi dan Kecepatan Data ZigBee ... 23

Tabel 2.8 Karakterisik Pin Xbee-PRO ... 25

Tabel 2.9 Contoh Konfigurasi Pengalamatan 16-bit ... 26

Tabel 2.10 Tabel Kebenaran Gerbang AND ... 29

Tabel 3.1 Kode Karakter ... 48

Tabel 4.1 Pengujian Pengiriman Input Data ... 55

Tabel 4.2 Pengujian Jarak Komunikasi Modul Xbee-PRO di Luar Ruangan ... 56

Tabel 4.3 Pengujian Jarak Komunikasi Modul Xbee-PRO di Dalam Ruangan ... 57


(7)

ix

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram ATmega32 ... 8

Gambar 2.2 Pinout ATmega32 ... 9

Gambar 2.3 Peta Memori Program ATmega32 ... 13

Gambar 2.4 Peta Memori Data ATmega32 ... 14

Gambar 2.5 Blok USART ... 16

Gambar 2.6 UDR ... 16

Gambar 2.7 UBRR ... 17

Gambar 2.8 UCSRA ... 18

Gambar 2.9 UCSRB ... 18

Gambar 2.10 UCSRC ... 19

Gambar 2.11 Konfigurasi Pin MAX232 ... 22

Gambar 2.12 Level Tegangan RS-232 ... 22

Gambar 2.13 Level Tegangan TTL/CMOS ... 22

Gambar 2.14 Modul RF Maxstream Xbee-PRO ... 23

Gambar 2.15 Konfigurasi Pin Xbee-PRO ... 24

Gambar 2.16 Diagram Fasor O-QPSK ... 26

Gambar 2.17 Konfigurasi IC 4017 ... 27

Gambar 2.18 Penambahan Counter ... 27

Gambar 2.19 Skema Rangkaian IC ULN 2803 ... 28

Gambar 2.20 Konfigurasi IC 7408 ... 29

Gambar 2.21 Konfigurasi Led Matriks ... 29

Gambar 2.22 Tampilan jendela VB 6 ... 30

Gambar 3.1 Blok Diagram Sistem ... 32

Gambar 3.2 Rangkaian Skematik Modul Pengirim ... 33

Gambar 3.3 Rangkaian Skematik Mikrokontroler ATmega32 dan Modul Xbee-PRO ... 34

Gambar 3.4 Transistor sebagai Saklar ... 35


(8)

x

Universitas Kristen Maranatha

Gambar 3.6 Diagram Alir Utama Program pada Mikrokontroler ... 38

Gambar 3.7 Diagram Alir Interrupt Serial ... 39

Gambar 3.8 Diagram Alir Isi Data1, Isi Data2 dan Isi Data3 ... 41

Gambar 3.9 Diagram Alir Konversi... 42

Gambar 3.10 Diagram Alir Framing ... 43

Gambar 3.11 Diagram Alir Data Isi1 dan Data Isi2 ... 44

Gambar 3.12 Diagram Alir Clear_frame ... 45

Gambar 3.13 Diagram Alir Scanning1 dan Scanning2 ... 46

Gambar 3.14 Diagram Alir Scanning3 ... 47

Gambar 3.15 Bentuk Karakter R ... 48

Gambar 3.16 Diagram Alir Utama Program pada Visual Basic ... 49

Gambar 3.17 Diagram Alir Reset ... 50

Gambar 3.18 Format Data ... 51

Gambar 3.19 Diagram Alir Kirim... 51

Gambar 3.20 Diagram Alir Setting Lama ... 52

Gambar 3.21 Diagram Alir Setting Baru ... 53


(9)

xi

Universitas Kristen Maranatha

DAFTAR LAMPIRAN

LAMPIRAN A

PROGRAM PADA VISUAL BASIC... A-1 LAMPIRAN B

PROGRAM PADA MIKROKONTROLER ... B-1 LAMPIRAN C

SKEMATIK SCROLLING TEXT DISPLAY ... C-1 BOARD SCROLLING TEXT DISPLAY ... C-2 SKEMATIK MIKROKONTROLER DAN XBEE-PRO ... C-3 FOTO ALAT ... C-4 LAMPIRAN D

MAX232 ... D-1 XBEE-PRO ... D-5 ULN2803 ... D-11 IC 4017 ... D-14


(10)

LAMPIRAN A


(11)

A-1 VARIABEL GLOBAL

Dim i, x, z, k, panjang As Integer Dim s, si As String

FORM

Private Sub Form_Load() MSComm1.CommPort = 1

MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 0

MSComm1.PortOpen = True End Sub

EXIT

Private Sub Command3_Click() Unload Me

End Sub RESET 1

Private Sub reset_Click() z = 1

i = FreeFile

Open "D:\UDR.txt" For Input As #i Do Until EOF(i)

Input #i, s

s1 = s1 & s & IIf(EOF(i), "", vbCrLf) Loop

Close #i

If Len(s1) > 0 Then

MSComm1.Output = Space(63 - Len(s1)) Text1.SetFocus

End If End Sub RESET 2

Private Sub Command2_Click() z = 1

i = FreeFile

Open "D:\UDR.txt" For Output As #i Print #i, ""

Close #i End Sub SEND


(12)

A-2 Dim a As String

Dim c, d, e As Integer c = Len(Text1.Text) d = Len(Text2.Text) e = Len(Text4.Text) If z = 0 Then 'message box

Dim Msg3, Style3, Title3, Help3, Ctxt3, Response3, Mystring3 Msg3 = "Silahkan reset dahulu!"

Style3 = vbOKOnly + vbInformation + vbDefaultButton2 Title3 = "Info"

Help3 = "DEMO.HLP" Ctxt3 = 1000

Response3 = MsgBox(Msg3, Style3, Title3, Help3, Ctxt3) If Response3 = vbOK Then

reset.SetFocus End If

End If

If c = 0 And d = 0 And e = 0 Then 'message box

Dim Msg, Style, Title, Help, Ctxt, Response, Mystring Msg = "Silahkan Masukkan Teks!!"

Style = vbOKOnly + vbInformation + vbDefaultButton2 Title = "Info"

Help = "DEMO.HLP" Ctxt = 1000

Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbOK Then

Text1.SetFocus End If

End If

If c > 25 Or d > 25 Or e > 6 Then 'message box

Dim Msg1, Style1, Title1, Help1, Ctxt1, Response1, Mystring1 Msg1 = "Teks kelebihan!!"

Style1 = vbOKOnly + vbInformation + vbDefaultButton2 Title1 = "Info"

Help1 = "DEMO.HLP" Ctxt1 = 1000

Response1 = MsgBox(Msg1, Style1, Title1, Help1, Ctxt1) If Response1 = vbOK Then


(13)

A-3 End If

End If

If ((c > 0 And c <= 25) And (d > 0 And d <= 25) And (e > 0 And e <= 6)) And z = 1 Then

MSComm1.Output = Text1.Text + "~%" + Text2.Text + "|%" + Text4.Text + "||" 'save frame

i = FreeFile

Open "D:\UDR.txt" For Output As #i

Print #i, Text1.Text + "~%" + Text2.Text + "|%" + Text4.Text + "||" Close #i

Text1.Text = "" Text2.Text = "" Text4.Text = "" z = 0

End If End Sub

MASUK ATCOMMAND Private Sub Command5_Click() Timer2.Enabled = True

MSComm1.Output = "+++" End Sub

SETTING LAMA

Private Sub Command7_Click() If Option1.Value Then

MSComm1.Output = "ATID" + Chr(13) Timer2.Enabled = False

End If

If Option2.Value Then

MSComm1.Output = "ATMY" + Chr(13) Timer2.Enabled = False

End If

If Option3.Value Then

MSComm1.Output = "ATDL" + Chr(13) Timer2.Enabled = False

End If

If Option4.Value Then

MSComm1.Output = "ATBD" + Chr(13) Timer2.Enabled = False


(14)

A-4 End If

End Sub

SETTING BARU

Private Sub Command6_Click() If Option1.Value Then

MSComm1.Output = "ATID" + Text8.Text + ",wr,cn" + Chr(13) End If

If Option2.Value Then

MSComm1.Output = "ATMY" + Text9.Text + ",wr,cn" + Chr(13) End If

If Option3.Value Then

MSComm1.Output = "ATDL" + Text7.Text + ",wr,cn" + Chr(13) End If

If Option4.Value Then

MSComm1.Output = "ATBD" + Text10.Text + ",wr,cn" + Chr(13) End If

End Sub TIMER 1

Private Sub Timer1_Timer() If Option1.Value Then

Text11.Text = MSComm1.Input Timer2.Enabled = False

End If

If Option2.Value Then

Text12.Text = MSComm1.Input Timer2.Enabled = False

End If

If Option3.Value Then

Text13.Text = MSComm1.Input Timer2.Enabled = False

End If

If Option4.Value Then

Text14.Text = MSComm1.Input Timer2.Enabled = False

End If End Sub TIMER 2

Private Sub Timer2_Timer() Text5.Text = MSComm1.Input End Sub


(15)

A-5 TULISAN TERAKHIR

Private Sub Command1_Click() i = FreeFile

Open "D:\UDR.txt" For Input As #i Do Until EOF(i)

Input #i, s 'tiap baris d tampung d variabel "s" s1 = s1 & s & IIf(EOF(i), "", vbCrLf)

Loop Close #i

Text3.Text = s1 End Sub


(16)

LAMPIRAN B


(17)

B-1

/***************************************************** This program was produced by the

CodeWizardAVR V1.25.3 Professional Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version :

Date : 10/8/2011

Author : Adrian Company : Maranatha Comments:

Chip type : ATmega32 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small

External SRAM size : 0 Data Stack size : 512

*****************************************************/ #include <mega32.h>

#include <delay.h> #define RXB8 1

#define TXB8 0

#define UPE 2

#define OVR 3

#define FE 4

#define UDRE 5

#define RXC 7

#define FRAMING_ERROR (1<<FE)

#define PARITY_ERROR (1<<UPE)

#define DATA_OVERRUN (1<<OVR)

#define DATA_REGISTER_EMPTY (1<<UDRE)

#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer #define RX_BUFFER_SIZE 63

char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256

unsigned char rx_wr_index,rx_rd_index,rx_counter;

#else

unsigned int rx_wr_index,rx_rd_index,rx_counter;

#endif

// This flag is set on USART Receiver buffer overflow

bit rx_buffer_overflow;


(18)

B-2

// USART Receiver interrupt service routine

interrupt [USART_RXC] void usart_rx_isr(void) {

char status,data; status=UCSRA; data=UDR; k=rx_counter;

if (UCSRA.7==0) {

rx_buffer[rx_counter]=data;

if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; UCSRB.5=1; }

if (++rx_wr_index == RX_BUFFER_SIZE) { rx_wr_index=0; } z=1; } }

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_

#pragma used+

char getchar(void) {

char data;

while (rx_counter==0); data=rx_buffer[rx_rd_index];

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli")

--rx_counter; #asm("sei")

return data; }

#pragma used-

#endif

// Standard Input/Output functions #include <stdio.h>

// Declare your global variables here unsigned char karakter;

unsigned char spasi = 0x00;

unsigned char data[191];

unsigned char data1[191];

unsigned char data2[77];

unsigned char frame[63][5];


(19)

B-3 unsigned char hexa [95][5] = {

{0x00, 0x00, 0x00, 0x00, 0x00}, //spasi

{0x04, 0x2a, 0x2a, 0x2a, 0x1e}, //a

{0x7e, 0x0a, 0x0a, 0x0a, 0x04}, //b

{0x1c, 0x22, 0x22, 0x22, 0x24}, //c

{0x04, 0x0a, 0x0a, 0x0a, 0x7e}, //d

{0x1c, 0x2a, 0x2a, 0x2a, 0x12}, //e

{0x10, 0x3e, 0x50, 0x40, 0x20}, //f

{0x10, 0x2a, 0x2a, 0x2a, 0x3c}, //g

{0x7e, 0x08, 0x08, 0x08, 0x06}, //h

{0x02, 0x0a, 0x5e, 0x02, 0x02}, //i

{0x04, 0x02, 0x02, 0x12, 0x5c}, //j

{0x7e, 0x10, 0x18, 0x24, 0x02}, //k

{0x42, 0x42, 0x7e, 0x02, 0x02}, //l

{0x1e, 0x20, 0x18, 0x20, 0x1e}, //m

{0x3e, 0x10, 0x20, 0x20, 0x1e}, //n

{0x1c, 0x22, 0x22, 0x22, 0x1c}, //o

{0x3f, 0x28, 0x28, 0x28, 0x10}, //p

{0x10, 0x28, 0x28, 0x28, 0x3f}, //q

{0x3e, 0x10, 0x20, 0x20, 0x10}, //r

{0x12, 0x2a, 0x2a, 0x2a, 0x24}, //s

{0x10, 0x7c, 0x12, 0x02, 0x04}, //t

{0x3c, 0x02, 0x02, 0x04, 0x3e}, //u

{0x38, 0x04, 0x02, 0x04, 0x38}, //v

{0x3c, 0x02, 0x0c, 0x02, 0x3c}, //w

{0x22, 0x14, 0x08, 0x14, 0x22}, //x

{0x30, 0x0a, 0x0a, 0x0a, 0x3c}, //y

{0x22, 0x26, 0x2a, 0x32, 0x22}, //z

{0x3e, 0x48, 0x48, 0x48, 0x3e}, //A

{0x7e, 0x52, 0x52, 0x5a, 0x24}, //B

{0x3c, 0x42, 0x42, 0x42, 0x24}, //C

{0x7e, 0x42, 0x42, 0x42, 0x3c}, //D

{0x7e, 0x52, 0x52, 0x52, 0x42}, //E

{0x7e, 0x50, 0x50, 0x50, 0x40}, //F

{0x3c, 0x42, 0x52, 0x52, 0x5c}, //G

{0x7e, 0x10, 0x10, 0x10, 0x7e}, //H

{0x42, 0x42, 0x7e, 0x42, 0x42}, //I

{0x04, 0x02, 0x02, 0x02, 0x7c}, //J

{0x7e, 0x10, 0x18, 0x24, 0x42}, //K

{0x7e, 0x02, 0x02, 0x02, 0x02}, //L

{0x7e, 0x40, 0x30, 0x40, 0x7e}, //M

{0x7e, 0x30, 0x18, 0x0c, 0x7e}, //N

{0x3c, 0x42, 0x42, 0x42, 0x3c}, //O

{0x7e, 0x48, 0x48, 0x48, 0x30}, //P

{0x3c, 0x62, 0x5a, 0x44, 0x3a}, //Q

{0x7e, 0x48, 0x48, 0x4c, 0x32}, //R

{0x32, 0x5a, 0x5a, 0x5a, 0x4c}, //S

{0x40, 0x40, 0x7e, 0x40, 0x40}, //T

{0x7c, 0x02, 0x02, 0x02, 0x7c}, //U

{0x78, 0x04, 0x02, 0x04, 0x78}, //V

{0x7c, 0x02, 0x0e, 0x02, 0x7c}, //W

{0x42, 0x24, 0x18, 0x24, 0x42}, //X

{0x60, 0x10, 0x0e, 0x10, 0x60}, //Y


(20)

B-4

{0x02, 0x22, 0x7e, 0x02, 0x02}, //1

{0x22, 0x46, 0x4a, 0x52, 0x22}, //2

{0x24, 0x42, 0x52, 0x52, 0x3c}, //3

{0x70, 0x10, 0x10, 0x10, 0x7e}, //4

{0x74, 0x52, 0x52, 0x52, 0x5c}, //5

{0x1c, 0x2a, 0x4a, 0x4a, 0x04}, //6

{0x42, 0x44, 0x48, 0x50, 0x60}, //7

{0x24, 0x5a, 0x5a, 0x5a, 0x24}, //8

{0x20, 0x52, 0x52, 0x54, 0x38}, //9

{0x3c, 0x72, 0x5a, 0x4e, 0x3c}, //0

{0x00, 0x78, 0xfd, 0x78, 0x00}, //!

{0x4e, 0xd9, 0x9f, 0xc1, 0x7e}, //@

{0x2c, 0x38, 0x6c, 0x38, 0x68}, //#

{0x24, 0x52, 0xff, 0x52, 0x4c}, //$

{0xc6, 0xcc, 0x18, 0x33, 0x63}, //%

{0x20, 0x40, 0x80, 0x40, 0x20}, //^

{0x76, 0x89, 0x95, 0x62, 0x05}, //&

{0x54, 0x38, 0xfe, 0x38, 0x54}, //*

{0x3c, 0x7e, 0xc3, 0x00, 0x00}, //(

{0x00, 0x00, 0xc3, 0x7e, 0x3c}, //)

{0xc0, 0xe0, 0x60, 0x10, 0x00}, //`

{0x18, 0x18, 0x18, 0x18, 0x18}, //-

{0x6c, 0x6c, 0x6c, 0x6c, 0x6c}, //=

{0x7f, 0x7f, 0x41, 0x00, 0x00}, //[

{0x00, 0x00, 0x41, 0x7f, 0x7f}, //]

{0x00, 0xed, 0xef, 0xee, 0x00}, //;

{0x05, 0x06, 0x00, 0x00, 0x00}, //,

{0x06, 0x06, 0x00, 0x00, 0x00}, //.

{0x03, 0x0e, 0x3c, 0x70, 0xc0}, ///

{0xe0, 0xe0, 0x00, 0xe0, 0xe0}, //"

{0x20, 0x40, 0x20, 0x10, 0x20}, //~

{0x01, 0x01, 0x01, 0x01, 0x01}, //_

{0x18, 0x18, 0x7e, 0x18, 0x18}, //+

{0x08, 0x76, 0x81, 0x81, 0x00}, //{

{0x00, 0x81, 0x81, 0x76, 0x08}, //}

{0x00, 0xe7, 0xe7, 0xe7, 0x00}, //:

{0x08, 0x14, 0x22, 0x41, 0x00}, //<

{0x00, 0x41, 0x22, 0x14, 0x08}, //>

{0x60, 0xc0, 0x8d, 0xd0, 0x60}, //?

{0x7f, 0x7f, 0x00, 0x00, 0x00}, //|

{0xc0, 0x70, 0x3c, 0x0e, 0x03}, //\ {0x00, 0x00, 0xe0, 0x00, 0x00} //'

};

unsigned char simbol [95] =

{' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',

'p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F ','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V',

'W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','!','@','# ','$','%','^','&','*','(',')','`',


(21)

'-B-5

','=','[',']',';',',','.','/','"','~','_','+','{','}',':','<','>',

'?','|','\\','\''

};

void konversi() {

for(d=0;d<93;d++) {

if (karakter==simbol[d]) {

y=d; } }

}

void framing() { for(j=0;j<5;j++) { frame[u][j]=hexa[y][j]; } }

void clear_frame() { for(j=0;j<5;j++) { frame[u][j]=0x00; } }

void data_isi1() {

a=40;

for(b=0; b<x; b++) {

for(c=0; c<6; c++) {

if (c==5) { data[a]=spasi; } else { data[a]=frame[b][c]; } a++; } } }


(22)

B-6 void data_isi2()

{

a=40;

for(b=x+2; b<w; b++) {

for(c=0; c<6; c++) {

if (c==5) { data1[a]=spasi; } else { data1[a]=frame[b][c]; } a++; } } }

void data_isi3() {

a=40;

for(b=w+2; b<q; b++) {

for(c=0; c<6; c++) {

if (c==5) { data2[a]=spasi; } else { data2[a]=frame[b][c]; } a++; } } }

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out


(23)

B-7

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0

PORTA=0x00; DDRA=0xFF;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00; DDRB=0x00;

// Port C initialization

// Func7=Out Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=0 State6=0 State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00; DDRC=0xC0;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00; DDRD=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: Off // USART Mode: Asynchronous // USART Baud rate: 9600

UCSRA=0x00; UCSRB=0x90; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80; SFIOR=0x00;

// Global enable interrupts


(24)

B-8 while (1)

{ // Place your code here

if(z==1)

{ for(i=0;i<k+1;i++) {

if(rx_buffer[i]=='~' && rx_buffer[i+1]=='%') {x=i;

}

if(rx_buffer[i]=='|' && rx_buffer[i+1]=='%') {w=i;

}

if(rx_buffer[i]=='|' && rx_buffer[i+1]=='|') {q=i; } for(u=0;u<x;u++) { karakter=rx_buffer[u]; konversi(); framing(); }; data_isi1(); for(u=0;u<62;u++) {clear_frame();} m=(w-x-2)*6+40; for(u=x+2;u<w;u++) { karakter=rx_buffer[u]; konversi(); framing(); }; data_isi2(); for(u=0;u<62;u++) {clear_frame();} for(u=w+2;u<q;u++) { karakter=rx_buffer[u]; konversi(); framing(); }; data_isi3(); for(u=0;u<62;u++) {clear_frame();} }; z=0; g=1; }


(25)

B-9 if(g==1) { PORTA=data[e+f]; e++; PORTC.7=1; delay_us(1500); PORTC.7=0; if(e==40) { PORTC.6=1; PORTC.6=0; e=0; f++; } p=6*(x)+40; if(f==p) { f=0;g=2; } } if(g==2) { PORTA=data1[m+l]; l++; PORTC.7=1; delay_us(1500); PORTC.7=0; if(l==40) { PORTC.6=1; PORTC.6=0; l=0; m--; } if(m==0) { m=(w-x-2)*6+40;g=3; } } if(g==3)

{ for(p=0;p<5;p++) { for(h=0;h<1000;h++) { PORTA=data2[r+37]; PORTC.7=1; delay_us(500); PORTC.7=0;


(26)

B-10

r++;

if(r==40) {

PORTC.6=1; PORTC.6=0; r=0;

}

}

delay_ms(200); }

g=1; }

}; }


(27)

LAMPIRAN C


(28)

C-1


(29)

C-2


(30)

C-3


(31)

C-4 FOTO ALAT


(32)

LAMPIRAN D

DATASHEET


(33)

D-1 MAX232


(34)

(35)

(36)

(37)

D-5 XBEE-PRO


(38)

(39)

(40)

(41)

(42)

(43)

(44)

(45)

(46)

(47)

(48)

(49)

1

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Seiring dengan perkembangan zaman yang semakin pesat, kebutuhan akan efektivitas dan efisiensi sangat diutamakan dalam berbagi bidang. Hal tersebut telah mendorong manusia untuk semakin berkreasi dan berinovasi dalam bidang teknologi untuk menciptakan suatu alat yang efektif dalam mencapai tujuannya. Salah satu teknologi yang dapat meningkatkan efektivitas dan efisiensi adalah ditemukannya komunikasi nirkabel yang merupakan komunikasi yang menghubungkan transmitter dan receiver dengan media transmisi melalui gelombang radio. Komunikasi nirkabel dapat diterapkan pada berbagai aplikasi. Salah satunya adalah komunikasi nirkabel dapat digunakan untuk memberikan input pada scrolling text display.

Scrolling text display merupakan sebuah alat yang sering kali ditemui pada papan reklame atau papan iklan yang digunakan untuk memudahkan dalam memberikan suatu informasi berupa teks atau karakter yang bergerak. Pada umumnya scrolling text display didesain dengan menggunakan beberapa matriks led.

1.2 Identifikasi Masalah

Berdasarkan latar belakang di atas, masalah utama yang akan diangkat pada tugas akhir ini adalah dibutuhkannya scrolling text display untuk menampilkan tulisan bergerak berdasarkan input dari PC yang dikirimkan ke mikrokontroler secara wireless.


(50)

2

Universitas Kristen Maranatha 1.3 Perumusan Masalah

Permasalahan yang akan dibahas dalam tugas akhir ini meliputi :

1. Bagaimana merancang dan membuat Scrolling Text Display berbasis ATMEGA32 agar dapat menerima data dari PC secara wireless.

2. Bagaimana membuat program untuk mengirimkan tulisan dari PC ke mikrokontroler ATMEGA32.

1.4 Tujuan

1. Merancang dan merealisasikan Scrolling Text Display berbasis ATMEGA32 agar dapat menerima data dari PC secara wireless.

2. Merancang dan membuat program untuk mengirimkan tulisan dari PC ke mikrokontroler ATMEGA32.

1.5 Pembatasan Masalah

1. Matriks led yang digunakan adalah matriks led 8x8 sebanyak 5 buah. 2. Jenis karakter yang dapat ditampilkan adalah karakter standar yang

terdapat pada keyboard.

3. Komunikasi antara PC dan mikrokontroler melalui gelombang radio menggunakan modul RF Xbee-PRO XBP24-1083.

4. Variasi tampilan yang disediakan ada 3, yaitu bergeser ke kiri, ke kanan dan berkedip.

5. Jumlah karakter maksimal yang dapat ditampilkan sebanyak 25 karakter untuk tulisan ke kiri dan ke kanan, dan 6 karakter untuk tampilan berkedip. 6. Teks yang akan ditampilkan diinput melalui PC.

1.6 Spesifikasi Sistem

Spesifikasi sistem yang digunakan dalam tugas akhir ini antara lain : 1. Software CodeVisionAVR.


(51)

3

Universitas Kristen Maranatha 3. PC (Personal Computer) digunakan sebagai sarana penunjang software

yang digunakan.

4. Mikrokontroler ATMEGA32.

5. Xbee-PRO XBP24-1083 (transmitter dan receiver). 6. IC MAX 232.

7. Matriks led.

8. Decade counter 4017. 9. ULN 2803.

10.Transistor 11.IC AND 7408.

1.7 Sistematika Penulisan

Sistematika penulisan laporan ini disusun menjadi lima bab, yaitu sebagai berikut:

BAB I PENDAHULUAN

Bab ini membahas tentang latar belakang, perumusan masalah, tujuan, pembatasan masalah, spesifikasi alat, blok diagram dan sistematika penulisan.

BAB II DASAR TEORI

Bab ini membahas tentang dasar – dasar teori yang digunakan untuk merancang dan merealisasikan scrolling text display berbasis ATMEGA32 secara wireless.

BAB III PERANCANGAN DAN REALISASI

Bab ini membahas tentang rangkaian skematik hardware serta algoritma dan diagram alir sistem.

BAB IV DATA PENGAMATAN

Bab ini membahas tentang analisis dan pengujian keluaran – keluaran dari scrolling text display berbasis ATMEGA32 secara wireless berdasarkan jarak dan setting address.


(52)

4

Universitas Kristen Maranatha BAB V PENUTUP

Bab ini membahas tentang kesimpulan yang diperoleh setelah menyelesaikan tugas akhir beserta masukkan dan saran yang dapat digunakan untuk dilakukannya perbaikan.


(53)

58

Universitas Kristen Maranatha

BAB V

PENUTUP

Dalam Tugas Akhir ini dapat diambil beberapa kesimpulan dari hasil perancangan dan pengujian yang dilakukan, serta beberapa saran bagi pihak lain yang berkenan dengan pembuatan Tugas Akhir “Perancangan dan Realisasi Scrolling Text Display Berdasarkan Input dari PC secara Nirkabel”.

5.1 Kesimpulan

1. Tampilan pada scrolling text display dapat menerima data dengan baik sesuai dengan input tulisan dari PC.

2. Komunikasi Xbee-PRO dapat berjalan dengan baik. Ketika penerima berada di dalam ruangan, data masih dapat diterima hingga jarak 15 meter tanpa banyak halangan. Ketika berada di luar ruangan, data masih dapat diterima pada jarak 250 meter.

5.2 Saran

1. Fitur scrolling text display dapat dikembangkan dengan menambah memori eksternal agar dapat digunakan untuk menambah animasi scrolling text dan jumlah kapasitas karakter.

2. Untuk memudahkan dalam menginput data, input data dapat dilakukan melalui remote atau handphone.


(54)

59

Universitas Kristen Maranatha

DAFTAR PUSTAKA

1. Andrianto, Heri. 2008. ”Pemrograman Mikrokontroler AVR ATMEGA16 Menggunakan Bahasa C (CodeVision AVR)”, Bandung: Informatika.

2. Darmawan, Aan. 2010, “Visual Basic 6 Referensi Cepat”, Bandung: Universitas Kristen Maranatha.

3. Darmawan, Aan. 2010, “Introduction to Interfacing”, Bandung: Universitas Kristen Maranatha.

4. Liong Hui, Tjia. 2010, “Diktat Kuliah Dasar Telekomunikasi”, Bandung: Universitas Kristen Maranatha.

5.

http://elib.unikom.ac.id/files/disk1/452/jbptunikompp-gdl-edwarderna-22568-2-unikom_e-i.pdf Akses : 4 Agustus 2011

6.

http://elib.unikom.ac.id/files/disk1/66/jbptunikompp-gdl-s1-2006-rnoorbaran-3278-bab-ii.doc

Akses : 4 Agustus 2011

7. http://id.wikipedia.org/wiki/ZigBee

Akses: 23 September 2011

8. http://www.picaxe.com/docs/XBE001.pdf

Akses: 23 September 2011

9. http://logicprobe10.wordpress.com/2011/07/31/teknologi-zigbee/

Akses: 23 September 2011

10.http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf

Akses 29 September 2011

11.http://putravb.blogspot.com/2010/06/membuka-dan-menyimpan-file-teks.html


(1)

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Seiring dengan perkembangan zaman yang semakin pesat, kebutuhan akan efektivitas dan efisiensi sangat diutamakan dalam berbagi bidang. Hal tersebut telah mendorong manusia untuk semakin berkreasi dan berinovasi dalam bidang teknologi untuk menciptakan suatu alat yang efektif dalam mencapai tujuannya. Salah satu teknologi yang dapat meningkatkan efektivitas dan efisiensi adalah ditemukannya komunikasi nirkabel yang merupakan komunikasi yang menghubungkan transmitter dan receiver dengan media transmisi melalui gelombang radio. Komunikasi nirkabel dapat diterapkan pada berbagai aplikasi. Salah satunya adalah komunikasi nirkabel dapat digunakan untuk memberikan

input pada scrolling text display.

Scrolling text display merupakan sebuah alat yang sering kali ditemui pada

papan reklame atau papan iklan yang digunakan untuk memudahkan dalam memberikan suatu informasi berupa teks atau karakter yang bergerak. Pada umumnya scrolling text display didesain dengan menggunakan beberapa matriks led.

1.2 Identifikasi Masalah

Berdasarkan latar belakang di atas, masalah utama yang akan diangkat pada tugas akhir ini adalah dibutuhkannya scrolling text display untuk menampilkan tulisan bergerak berdasarkan input dari PC yang dikirimkan ke mikrokontroler secara wireless.


(2)

1.3 Perumusan Masalah

Permasalahan yang akan dibahas dalam tugas akhir ini meliputi :

1. Bagaimana merancang dan membuat Scrolling Text Display berbasis ATMEGA32 agar dapat menerima data dari PC secara wireless.

2. Bagaimana membuat program untuk mengirimkan tulisan dari PC ke mikrokontroler ATMEGA32.

1.4 Tujuan

1. Merancang dan merealisasikan Scrolling Text Display berbasis ATMEGA32 agar dapat menerima data dari PC secara wireless.

2. Merancang dan membuat program untuk mengirimkan tulisan dari PC ke mikrokontroler ATMEGA32.

1.5 Pembatasan Masalah

1. Matriks led yang digunakan adalah matriks led 8x8 sebanyak 5 buah. 2. Jenis karakter yang dapat ditampilkan adalah karakter standar yang

terdapat pada keyboard.

3. Komunikasi antara PC dan mikrokontroler melalui gelombang radio menggunakan modul RF Xbee-PRO XBP24-1083.

4. Variasi tampilan yang disediakan ada 3, yaitu bergeser ke kiri, ke kanan dan berkedip.

5. Jumlah karakter maksimal yang dapat ditampilkan sebanyak 25 karakter untuk tulisan ke kiri dan ke kanan, dan 6 karakter untuk tampilan berkedip. 6. Teks yang akan ditampilkan diinput melalui PC.

1.6 Spesifikasi Sistem

Spesifikasi sistem yang digunakan dalam tugas akhir ini antara lain : 1. Software CodeVisionAVR.


(3)

3. PC (Personal Computer) digunakan sebagai sarana penunjang software yang digunakan.

4. Mikrokontroler ATMEGA32.

5. Xbee-PRO XBP24-1083 (transmitter dan receiver). 6. IC MAX 232.

7. Matriks led.

8. Decade counter 4017.

9. ULN 2803. 10. Transistor 11. IC AND 7408.

1.7 Sistematika Penulisan

Sistematika penulisan laporan ini disusun menjadi lima bab, yaitu sebagai berikut:

BAB I PENDAHULUAN

Bab ini membahas tentang latar belakang, perumusan masalah, tujuan, pembatasan masalah, spesifikasi alat, blok diagram dan sistematika penulisan.

BAB II DASAR TEORI

Bab ini membahas tentang dasar – dasar teori yang digunakan untuk merancang dan merealisasikan scrolling text display berbasis ATMEGA32 secara wireless.

BAB III PERANCANGAN DAN REALISASI

Bab ini membahas tentang rangkaian skematik hardware serta algoritma dan diagram alir sistem.

BAB IV DATA PENGAMATAN

Bab ini membahas tentang analisis dan pengujian keluaran – keluaran dari scrolling text display berbasis ATMEGA32 secara wireless berdasarkan jarak dan setting address.


(4)

BAB V PENUTUP

Bab ini membahas tentang kesimpulan yang diperoleh setelah menyelesaikan tugas akhir beserta masukkan dan saran yang dapat digunakan untuk dilakukannya perbaikan.


(5)

BAB V

PENUTUP

Dalam Tugas Akhir ini dapat diambil beberapa kesimpulan dari hasil perancangan dan pengujian yang dilakukan, serta beberapa saran bagi pihak lain yang berkenan dengan pembuatan Tugas Akhir “Perancangan dan Realisasi

Scrolling Text Display Berdasarkan Input dari PC secara Nirkabel”.

5.1 Kesimpulan

1. Tampilan pada scrolling text display dapat menerima data dengan baik sesuai dengan input tulisan dari PC.

2. Komunikasi Xbee-PRO dapat berjalan dengan baik. Ketika penerima berada di dalam ruangan, data masih dapat diterima hingga jarak 15 meter tanpa banyak halangan. Ketika berada di luar ruangan, data masih dapat diterima pada jarak 250 meter.

5.2 Saran

1. Fitur scrolling text display dapat dikembangkan dengan menambah memori eksternal agar dapat digunakan untuk menambah animasi

scrolling text dan jumlah kapasitas karakter.

2. Untuk memudahkan dalam menginput data, input data dapat dilakukan melalui remote atau handphone.


(6)

DAFTAR PUSTAKA

1. Andrianto, Heri. 2008. ”Pemrograman Mikrokontroler AVR ATMEGA16

Menggunakan Bahasa C (CodeVision AVR)”, Bandung: Informatika.

2. Darmawan, Aan. 2010, “Visual Basic 6 Referensi Cepat”, Bandung: Universitas Kristen Maranatha.

3. Darmawan, Aan. 2010, “Introduction to Interfacing”, Bandung: Universitas Kristen Maranatha.

4. Liong Hui, Tjia. 2010, “Diktat Kuliah Dasar Telekomunikasi”, Bandung: Universitas Kristen Maranatha.

5.

http://elib.unikom.ac.id/files/disk1/452/jbptunikompp-gdl-edwarderna-22568-2-unikom_e-i.pdf Akses : 4 Agustus 2011

6.

http://elib.unikom.ac.id/files/disk1/66/jbptunikompp-gdl-s1-2006-rnoorbaran-3278-bab-ii.doc

Akses : 4 Agustus 2011

7. http://id.wikipedia.org/wiki/ZigBee

Akses: 23 September 2011

8. http://www.picaxe.com/docs/XBE001.pdf

Akses: 23 September 2011

9. http://logicprobe10.wordpress.com/2011/07/31/teknologi-zigbee/

Akses: 23 September 2011

10. http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf

Akses 29 September 2011

11. http://putravb.blogspot.com/2010/06/membuka-dan-menyimpan-file-teks.html