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.
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.
v
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
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
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
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
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
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
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
LAMPIRAN A
A-1
A-2
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
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
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
A-4
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
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
LAMPIRAN B
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
#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;
B-2
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void) {
// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli")
// 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];
B-6
// Declare your local variables here
// Input/Output Ports initialization // Port A initialization
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
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80; SFIOR=0x00;
// Global enable interrupts
B-10
r++;
if(r==40) {
PORTC.6=1; PORTC.6=0; r=0;
}
}
delay_ms(200); }
g=1; }
LAMPIRAN C
C-1
C-2
C-3
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
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.
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
4
Universitas Kristen Maranatha BAB V PENUTUP
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.
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.
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