Anda di halaman 1dari 12

MODUL BLUETOOTH DAN MODUL RS232 PADA MIKRO

128

TUGAS
UNTUK MEMENUHI TUGAS MATAKULIAH
Mikroprosessor
Yang dibina oleh Bapak Irawan Dwi Wahyono, S.T., M.Kom.

Oleh:
Rizky Abdillah Fauzi
130534608377
S1 PTE 2013 Offering A

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI PENDIDIKAN TEKNIK ELEKTRO
Oktober 2015

A. Pengertian Modul Bluetooth HC-06


Bluetooth adalah salah satu bentuk komunikasi data secara nirkabel berbasis
frekwensi radio. Penggunaan utama dari modul Bluetooth ini adalah
menggantikan komunikasi serial menggunakan kabel. Bluetooth terdiri dari dua
jenis perangkat, yaitu Master (pengirim data) dan Slave (penerima). Modul HC-06
dari produsen koneksi secara default diset di kecepatan 9,600 bps (bisa
dikustomisasi antara 1200 bps hingga 1,35 Mbps). Modul HC-06 hanya bisa
berperan sebagai slave device, module selain modul bluetooth HC-06 ada modul
Bluetooth HC-05, modul ini dapat berperan juga sebagai bluetooth master device
ataupun slave, secara default slave.

Gambar 1. Modul Bluetooth HC-06 dan HC-05

Jika kita akan menghubungkan dua sistem mikrokontroler agar bisa


berkomunikasi via serial port dengan menggunakan media frekwensi radio,
sebagai pilihan bisa menggunakan modul bluetooth ini. Agar dapat berkomunikasi
dua sistem mikrokontroller ini maka dipasang sebuah modul Bluetooth Master
pada satu sistem dan modul Bluetooth Slave pada sistem lainnya. Komunikasi
dapat langsung dilakukan setelah kedua modul Bluetooth melakukan pairing
koneksi. Koneksi melalui Bluetooth ini menyerupai komunikasi serial komunikasi
biasa, yaitu adanya pin komunikasi TXD dan pin komunikasi RXD.
Sistem mikrokontroler dipasangi modul Bluetooth Slave maka sistem dapat
berkomunikasi dengan perangkat lain misal laptop yang dilengkapi adapter
Bluetoot, perangkat ponsel, smartphone, gps dan lain-lain. Jadi syarat utama agar
dapat terkoneksi antara dua perangkat yang memiliki modul Bluetooth adalah

yang satu mode slave dan yang satu mode master. Dan syarat lain yang wajib
adalah password pada waktu pairing yang di minta cocok.
Sistem bluetooth terdiri atas: sebuah radio transceiver, baseband link Management
dan Control, Baseband (processor core, SRAM, UART, PCM USB Interface),
flash dan voice codec.
Baseband link controller menghubungkan hardware atau perangkat keras
radio ke baseband processing dan juga layer protokol fisik.
Link manager melakukan aktivitas protokol tingkat tinggi, yaitu seperti
melakukan link setup, autentikasi dan juga konfigurasi.

Gambar 2. Sistem Bluetooth secara Umum

B. Pemrograman Modul Bluetooth


Berikut adalah contoh pemrograman bluetooth menggunakan WinAVR sebagai
compilernya.
Listing Program
#include <mega162.h>
// Standard Input/Output functions
#include <stdio.h>
#include <delay.h>
#ifndef RXB8
#define RXB8 1
#endif
#ifndef TXB8
#define TXB8 0
#endif
#ifndef UDRE
#define UDRE 5
#endif
#ifndef RXC
#define RXC 7

#endif
#define DATA_REGISTER_EMPTY (1<<UDRE)
void putchar1(char c)
{
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
}
// USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
putchar1(UDR0);
}
interrupt [USART1_RXC] void usart1_rx_isr(void)
{
putchar(UDR1);
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Crystal Oscillator division factor: 1
#pragma optsizeCLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Input/Output Ports initialization
// Port A 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
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x02;
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x98;
UCSR0C=0x86;
UBRR0H=0x00;
UBRR0L=0x19;

// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART1 Receiver: On
// USART1 Transmitter: On
// USART1 Mode: Asynchronous
// USART1 Baud Rate: 9600
UCSR1A=0x00;
UCSR1B=0x98;
UCSR1C=0x86;
UBRR1H=0x00;
UBRR1L=0x19;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
// Global enable interrupts
#asm(sei)
while (1)
{
// do nothing
}
Pada perancangan awal ialah mengatur register-register yang diperlukan untuk
komuniasi serial antara modulEB500 dan mikrokontroler. ATMega8 memiliki fasilitas
komunikasi serial yang terleak pada pin RX danTX . Pin RX \berfungsi untuk menerima
data dari luar, sedangkan pinTX berfungsi untuk mengirimkan data dari mikrokontroler
menuju keluar. Untuk menggunakan fasilitas komunikasi serial ini ada beberapa
pengaturan register-register yang terkait. Pada penelitian ini komunikasi serial yang
digunakan menggunakan baudrate 115200 bps dengan parameter 8 bit data, 1 stop bit,
dan tidak menggunakan bitparity Pemilihan baudrate ini disesuaikan dengan protokol
STK 500 yangmemerlukan komunikasi data denganbaudrate

115200 bps, sehingga

komunikasi serial mikrokontroler menggunakan 115200 bps agar terjadi komunikasi


antara 2 komponen tersebut.
Gambar berikut menunjukkan contoh pengkoneksian bluetooth dengan mikrokontroler.

Gambar 3. Koneksi antara Bluetooth dengan Mikrokontroler

Gambar selanjutnya menunjukkan konfigurasi kaki modul bluetooth.

Gambar 4. Konfigurasi Pin Bluetooth

C. Pengertian RS232
RS232 adalah standard komunikasi serial yang digunakan untuk koneksi periperal
ke periperal. Biasa juga disebut dengan jalur I/O ( input / output ). Contoh yang paling
sering kita temui adalah koneksi antara komputer dengan modem, atau komputer dengan
mouse bahkan bisa juga antara komputer dengan komputer, semua biasanya dihubungkan
lewat jalur port serial RS232. Standar ini menggunakan beberapa piranti dalam
implementasinya. Paling umum yang dipakai adalah plug / konektor DB9 atau DB25.
Untuk RS232 dengan konektor DB9, biasanya dipakai untuk mouse, modem, kasir
register dan lain sebagainya, sedang yang konektor DB25, biasanya dipakai untuk joystik
game.
Standar

RS232

ditetapkan

oleh

Electronic

Industry

Association

and

Telecomunication Industry Association pada tahun 1962. Nama lengkapnya adalah


EIA/TIA-232 Interface Between Data Terminal Equipment and Data Circuit-Terminating
Equipment Employing Serial Binary Data Interchange.

Gambar 5. Modul RS232

Fungsi dari serial port RS232 adalah untuk menghubungkan / koneksi dari
perangkat yang satu dengan perangkat yang lain, atau peralatan standart yang
menyangkut komunikasi data antara komputer dengan alat-alat pelengkap
komputer. Perangkat lainnya itu seperti modem, mouse, cash register dan lain
sebagainya. Serial port RS232 pada konektor DB9 memiliki pin 9 buah dan pada
konektor DB25 memiliki pin 25 buah.
Fungsi dari masing-masing pin ditunjukkan pada tabel di bawah ini :

RS232 dibuat pada tahun 1962, jauh sebelum IC TTL populer, oleh karena itu
level tegangan yang ditentukan untuk RS232 tidak ada hubungannya dengan level
tegangan TTL, bahkan dapat dikatakan jauh berbeda. Berikut perbedaan antara
level tegangan RS232 dan TTL :

Gambar 6. level tegangan RS232 dan TTL

D. Pemrograman Modul RS232


Gambar skematik diagram dari penggunaan modul RS232 pada proteus dengan
ATmega8535.

Gambar 7. Schematic Diagram

Pada program ini menggunakan LM35 sebagai sensornya.

Berikut adalah listing programnya.


#include
#include
#include
#include
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#define ADC_VREF_TYPE 0x40
//-=-=-=-=-=-=----------------------------------- USART FUNCTIONS
---------------------------------=-=-=-=-=-=-==-=-=void USARTInit()
{
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
}
char USARTReadChar()
{
while(!(UCSRA & (1<<RXC)))
{
}
return UDR;
}

void USARTWriteChar(char data)


{
while(!(UCSRA & (1<<UDRE)))
{
}
UDR=data;
}
//-=-=-=-=-=-=----------------------------------- ADC FUNCTIONS
---------------------------------=-=-=-=-=-=-==-=-=void ADC_init(void) // Initialization of ADC
{
ADMUX=(1<<REFS0);
ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
pembagi 128
}

unsigned int ADC_read(unsigned char adc_input)


{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0b01000000;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==1);
ADCSRA|=0b00000;

// faktor

return ADCW;
}

//-=-=-=-=-=-=----------------------------------- MAIN FUNCTION


-----------------------------------=-=-=-=-=-=-==-=-=void main(){
//char data;
unsigned int value;
char str[20];
USARTInit();
lcd_init(16);
ADC_init();
while(1){
value=ADC_read(0x00);
value=value*500/1024;
sprintf(str,"Temp=",value);
lcd_gotoxy(0,0);
lcd_puts(str);
//data=USARTReadChar();

// Read the data from port give the data from

RX
//USARTWriteChar('[');

// write '[' on TX to send to the computer

//USARTWriteChar(value);
//USARTWriteChar(']');
}
}

// write the data on TX to send to the computer

// write ']' on TX to send to the computer

Anda mungkin juga menyukai