Perancangan Sistem Kontrol Lampu Dengan Memanfaatkan Modem Wavecome Sebagai Sms Gateway
(2)
DAFTAR PUSTAKA
http://nurjannah240792.blogspot.co.id/2013/03/avr-atmega32.html
Di akses Pada tnggal 01April2016.Pukul : 19.00 WIB
http://ilmulistrik.com/ldr-light-dependent-resistor.html
Di akses Pada tnggal 2 April 2016.Pukul : 19.30 WIB
http://buletin.melsa.net.id/okt/1020/bahasa-c.htm
Di akses Pada tnggal 01April2016.Pukul : 20.00 WIB
http://kanggurucreator.blogspot.co.id/2014/12/dasar-teori-mikrokontroller-atmega-32.html
(3)
BAB III
PERANCANGAN DAN PEMBUATAN 3.1. Diagram Blok Rangkaian
atmega32 Supply
Modem wavecome
Driver relay
Driver relay
Driver relay
Driver relay
Driver relay Mobile Phone
Lampu 1
Lampu 2
Lampu 3
Lampu 4
Lampu 5
Gambar 3.1. Diagram Blok Rangkaian
3.1.1 Fungsi Tiap Blok
1. Blok supply : sebagai suplly tegangan mikrokontroler dan sensor
2. Blok mikrokontroller: Mengkonversi data dari sensor dan modul GSMWavecom
3. Blok Mobile Phone : Sebagai pengirim instruksi 4. Blok Driver relay : Sebagai rangkaian kndali lampu
(4)
5. Blok Modem wavecome:Sebagai pengirim informasi dan penerima Feedback
6.Blok lampu:sebagai actuator yang di kontrol
3.2. Rangkaian Mikrokontroller ATmega32
Rangkaian sistem minimum mikrokontroler ATMEGA32 dapat dilihat pada gambar 3.2 di bawah ini :
Gambar 3.2 Rangkaian sistem minimum mikrokontroler ATMEGA32 Dari gambar 3.3, Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada.Komponen utama dari rangkaian ini adalah ICMikrokontroler ATmega32.Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.
(5)
Pin 12 dan 13 dihubungkan ke XTAL 11.0592 MHz dan dua buah kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler ATmega32 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.
Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke komputer melalui port paralel.
Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.
3.3. Rangkaian Power Supply
Gambar 3.3 rangkaian regulator 7805
Mikrokontroler, sensor dan komponen komponen elektonika, kebanyakan menggunakan tegangan 5v untuk menstabilkan tegangan dapat menggunakan
(6)
ICLM7805, yang berfungsi sebagai penstabil tegangan, dan mempertahankan output tetap 5 volt.
3.4.Rangkaian Driver relay dan lampu
Gambar 3.4 Rangkaian driver relay dan lampu
3.5. Rangkaian Wavecom fastrack
Rangkaian antar muka ini bertujuan agar mikrokontroler dapat berkomunikasi dengan modem GSM.
(7)
3.6 FLOWCHART SYSTEM
TIDAK
TIDAK YA
TIDAK STAR INISIALISASI DATA=GETCHAR DATA= A DATA= B DATA= 2 DATA = D
DATA = E
DATA = 1 DATA = C
DATA= 3
DATA= 4
DATA= 5
DATA = Z
LAMPU A =1 LAMPU B,C,D,E = 0
LAMPU A,B = 1 LAMPU C,D,E = 0 LAMPU A,B,C = 1 LAMPU D,E = 0 LAMPU A,B,C,D = 1
LAMPU E = 0 LAMPU A.B,C,D,E = 1
LAMPU A = 0 LAMPU B,C,D,E = 1
LAMPU A,B = 0 LAMPU C,D,E = 1 LAMPU A,B,C = 0
LAMPU D,E = 1
LAMPU A,B,C,D,E = 0 LAMPU A,B,C,D = 0
LAMPU E = 1
LAMPU A,B,C,D,E =1
(8)
BAB 4
HASIL DAN PEMBAHASAN
4.1. Pengujian Rangkaian Mikrokontroler ATmega32
Karena pemrograman menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader yaitu ATmega32.
Gambar 4.1. Informasi Signature Mikrokontroler
ATMega32 menggunakan kristal dengan frekuensi 11.0592 MHz, apabila Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan rangkaian mikrokontroler bekerja dengan baik dengan mode ISP-nya.
(9)
4.2. Pengujian Rangkaian Power Supply
Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt.Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari keluaran tegangan tidak murni sebesar +9 Volt dan +12 Volt, tetapi +8.97Volt dan +12.03 Volt. Hasil tersebut dikarenakan beberapa faktor, diantaranya kualitas dari tiap-tiap komponen yang digunakan nilainya tidak murni.Selain itu, tegangan jala-jala listrik yang digunakan tidak stabil.
4.3 Pengujian Driver relay dan lampu
Untuk pengujian relay yaitu diberikan tegangan pada kaki basis di transistor, maka transistor BC547 akan aktif (satu rasi) . Hal ini menyebabkan kumparan pada relay dialiri arus listrik. Dengan demikian, kontak relay akan terhubung. Dioda berfungsi sebagai komponen pengaman transistor arus balik yang mungkin timbul akibat dari aktifnya kumparan relay. maka transistor dalam keadaan tidak aktif, untuk pengujian relay dengan program di bwah ini.
#include <mega8> #include <delay.h> void main(void) {
(10)
PORTB=0x00; DDRC=0xff; PORTC=0x00; DDRD=0x00; PORTD=0x00; while (1) {
PORTC=0xff; delay_ms(1000); PORTC=0x00; delay_ms(1000); }
}
Setelah program di download ke mikrokontroler, Relay Akan Mengalami Kondisi Terbuka Dan Tertutu Selama 1 Detik, begitu juga dengan lampu.
4.4. Pengujian koneksi modul GSM Wavecom dengan Mikrokontroller ATMEGA32 via serial max232
Pada pengujian komunikasi serial ini, kita lakukan dengan cara mengkomunikasikan mikrokontroller dengan komputer menggunakan kabel serial yang terhubung ke mikro melewati IC MAX232. pengujian dapat dilakukan dan dapat dilihat pada hyper Terminal yang sudah ada pada Windows. Pengujian pada hyper terminal ini akan muncul beberapa pilihan yaitu pilih
(11)
Com1 dan pada bit per second (baud) pilih 9600. Dalam pengujian komunikasi serial ini kita harus memperhatikan perhitungan clock generator pada mikro, karena cristal yang harus dipergunakan harus menggunakan perhitungan. Hal ini diperlukan agar data yang masuk bener-bener bisa dibaca oleh komputer. Dalam pengujian ini menggunakan crystal 11.059200 MHz.
Mikrokontroller dikomunikasikan secara serial dengan wavecom fastrack 1306 b selanjutnya akan mengirimkan SMS di HP user pemilik rumah, untuk mengetahui kondisi pintu atau jendela.dalam Pengkabelanya kondisi RX wavecom dihubungkan dengan TX mikrokontroller begitu pula sebaliknya. Berikut adalah program untuk mengirimkan sms ke no hp tujuan
#include <mega8535.h> #include <delay.h> #include <stdio.h> void main(void) {
PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; void sms_init()
{
printf("ATE0");
putchar(0x0D);//ENTER while(getchar()!='K'){};
(12)
while(getchar()!=0x0A){}; delay_ms(500);
}
sms_init(); while (1)
{
printf("AT+CMGF=1 putchar(13);
printf("AT+CMGS="); putchar('"');
printf("+6285261065610"); putchar('"');
putchar(13
printf("tes modul wavecom"); putchar(26);
} }
Jika program dijalankan, maka mikro akan memerintahkan modul gsm untuk mengirim pesan yang berisi karakter “tes modul wavecom”.
(13)
4.5 Program Lengkap Pengujian Keseluruhan
/******************************************************* This program was created by the
CodeWizardAVR V3.12 Advanced Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version :
Date : 3/31/2016 Author :
Company : Comments:
Chip type : ATmega32A Program type : Application
AVR Core Clock frequency: 8.000000 MHz Memory model : Small
External RAM size : 0 Data Stack size : 512
*******************************************************/ #include <mega32a.h>
#include <delay.h> #define lampu1 PORTC.0 #define lampu2 PORTC.1 #define lampu3 PORTC.2 #define lampu4 PORTC.3 #define lampu5 PORTC.4 #define hidup 1
#define mati 0 char kata;
// Declare your global variables here
#define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)
(14)
#define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR) // USART Receiver buffer
#define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE <= 256
unsigned char rx_wr_index=0,rx_rd_index=0; #else
unsigned int rx_wr_index=0,rx_rd_index=0; #endif
#if RX_BUFFER_SIZE < 256 unsigned char rx_counter=0; #else
unsigned int rx_counter=0; #endif
// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;
// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) {
char status,data; status=UCSRA; data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256
// special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else
if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1; }
(15)
#endif } }
#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_BUFFER_SIZE != 256
if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used- #endif
// USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE <= 256
unsigned char tx_wr_index=0,tx_rd_index=0; #else
unsigned int tx_wr_index=0,tx_rd_index=0; #endif
#if TX_BUFFER_SIZE < 256 unsigned char tx_counter=0; #else
unsigned int tx_counter=0; #endif
// USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void)
(16)
{
if (tx_counter) {
--tx_counter;
UDR=tx_buffer[tx_rd_index++]; #if TX_BUFFER_SIZE != 256
if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif
} }
#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_
#pragma used+ void putchar(char c) {
while (tx_counter == TX_BUFFER_SIZE); #asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) {
tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE != 256
if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif ++tx_counter; } else UDR=c; #asm("sei") } #pragma used- #endif
// Standard Input/Output functions #include <stdio.h> char receive_sms() { char data; printf("AT+CMGR=1"); putchar(0x0D);
(17)
while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; data=getchar(); while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=1"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=2"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=3"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500); return(data); } void cek_sms() { while(getchar()!=','){}; while(getchar()!=0x0A){}; } void sms_init() { printf("ATE1"); putchar(0x0D);//ENTER while(getchar()!='K'){};
(18)
while(getchar()!=0x0A){}; delay_ms(500); }
void send_sms_txt(char flash *fmtstr1, char flash *fmtstr2) { printf("AT+CMGF=1"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGS=\""); printf(fmtstr1); printf("\""); putchar(0x0D);//ENTER while(getchar()!=0x20){}; delay_ms(500); printf(fmtstr2); putchar(0x1A); while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=1"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=2"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500); printf("AT+CMGD=3"); putchar(0x0D);//ENTER while(getchar()!=0x0A){};
(19)
while(getchar()!=0x0A){}; delay_ms(500); }
void main(void) {
// Declare your local variables here // Input/Output Ports initialization // Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0 PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
(20)
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off
// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2;
(21)
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00; OCR2=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off
MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); MCUCSR=(0<<ISC2);
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(1<<RXCIE) | (1<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00; UBRRL=0x33;
// Analog Comparator initialization // Analog Comparator: Off
// The Analog Comparator's positive input is // connected to the AIN0 pin
// The Analog Comparator's negative input is // connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME); // ADC initialization
(22)
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
// SPI initialization // SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
// TWI initialization // TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
// Global enable interrupts #asm("sei")
sms_init();
send_sms_txt( "085261065610" ,"Modem Wavecome OK"); while (1)
{
// Place your code here cek_sms(); kata=receive_sms(); if (kata=='A'){lampu1=hidup;} if (kata=='B'){lampu2=hidup;} if (kata=='C'){lampu3=hidup;} if (kata=='D'){lampu4=hidup;} if (kata=='E'){lampu5=hidup;} if (kata=='1'){lampu1=mati;} if (kata=='2'){lampu2=mati;} if (kata=='3'){lampu3=mati;} if (kata=='4'){lampu4=mati;} if (kata=='5'){lampu5=mati;} if (kata=='Z'){PORTC=0xff;} if (kata=='0'){PORTC=0x00;} } }
(23)
BAB 5 PENUTUP
5.1 KESIMPULAN
Setelah melakukan tahap perancangan dan pembuatan sistem yang kemudian dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan sebagai berikut :
1.Bahwa MODEM GSM WAVECOME dapat mengirirnkan dan menerima SMS dengan baik dan alat dapat berjalan dengan baik.
2.Dapat mengontrol peralatan elektronik dari jarak maksimal 5 meter secara Otomatis.
3.Hemat energi listrik.
5.2 SARAN
Dari hasil Proyek Akhir ini masih terdapat beberapa kekurangan dan dimungkinkan untuk pengembangan lebih lanjut.Oleh karenanya penulis merasa perlu untuk memberi saran-saran sebagai berikut:
Pada proyek akhir ini masih menggunakan system otomasi sederhana sehingga aktuatornya masih memanfaatkan sinyal digital. Agar lebih menariklagi, perlu digunakan logika yang lain seperti Fuzzy\ agar aktuatornya bisa terkontrol dengan baik.
(24)
19
BAB II
LANDASAN TEORI
Dalam Bab ini penulis akan membahas tentang komponen- komponen yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang dari topic utama laporan ini, maka setiap komponen hanya di bahas sesuai fungsi nya pada masing- masing unit nya.
2.1 Mikrokontroler ATMega32
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Didalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung, mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yangseringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedarmenambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain,mikrokontroler adalah versi mini atau mikro dari sebuah komputer karenamikrokontroler sudah mengandung beberapa periferal yang langsung bisadimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital keanalog (DAC), konversi analog ke digital dan sebagainya hanya menggunakansistem minimum yang tidak rumit atau kompleks.
(25)
2.1.1 Arsitektur Mikrokontroler AVR ATmega32
Mikrokontroler AVR ATMega32 merupakan sebuah mikrokontroler low power CMOS 8 bit berdasarkan arsitektur AVR RISC. Mikrokontroler ini memiliki karakteristik sebagai berikut.
1. Menggunakan arsitektur AVR RISC *131 perintah dengan satu clock cycle *32 x 8 register umum
2. Data dan program memori
*32 Kb In-System Programmable Flash *2 Kb SRAM
*1 Kb In- System EEPROM 3. 8 Channel 10-bit ADC 4. Two Wire Interface
5. USART Serial Communication 6. Master/Slave SPI Serial Interface 7. On-Chip Oscillator
8. Watch-dog Timer 9. 32 Bi-directional I/O
10. Tegangan operasi 2,7 – 5,5 V
Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32 register umum. Semua register tersebut langsung terhubung dengan Arithmetic Logic Unit (ALU) yang memungkinkan 2 register terpisah diproses dengan satu perintah tunggal dalam satu clock cycle. Hal ini menghasilkan kode yang efektif
(26)
dan kecepatan prosesnya 10 kali lebih cepat dari pada mikrokontroler CISC biasa..arsitektur mikrokontroler AVR atmega32 yaitu seperti berikut :
Gambar 2.1 Arsitektur AVR ATMega32
2.1.2 Fitur ATMega32
Berikut ini adalah fitur-fitur yang dimiliki oleh ATMega32: 1. Frekuensi clock maksimum 16 MHz
2. Jalur I/O 32 buah yang terbagi dalam Port A,Port B,Port C,Port D. 3. Analog to Digital Converter 10 bit sebanyak 8 input,4 chanel PWM 4. Timer/Counter sebanyak 3 buah
(27)
5. CPU 8 bit yang terdiri dari 32 register 6. SRAM sebesar 2K Byte
7. Memori flash sebesar 32K Byte dengan kemampuan read while write 8. Port komunikasi SPI
9. EEPROM sebesar 512 byte yang dapat diprogram saat operasi 10. Analog Comparator
11. Komunikasi serial standar USART dengan kecepatan maksimal 2,5 Mbps.
2.1.3 Konfigurasi Pin ATMega32
Konfigurasi pin ATMega32 dengan kemasan 40 pin DIP (Dual In-line Package) dapat dilihat pada Gambar 2.1. Dari gambar tersebut dapatdijelaskan fungsi darimasing – masing pin ATMega32 sebagai berikut :
1.VCC merupakan pin yang berfungsi sebagai masukan catu daya 2.GND merupakan pin Ground
3.Port A (PA0…PA7) merupakan pin input/output dua arah danpin masukan ADC
4.Port B (PB0…PB7) merupakan pin input/output dua arah danpin fungsi khusus yang akan dibahas selanjutnya
5.Port C (PC0…PC7) merupakan pin input/output dua arah danpin fungsi khusus yang akan dibahas selanjutnya
6.Port D (PD0…PD7) merupakan pin input/output dua arah danpin fungsi khusus yang akan dibahas selanjutnya
7.RESET merupakan pin yang digunakan untuk me-reset mikrokontroler 8.XTAL1 dan XTAL2 merupakan pin masukan clock eksternal
(28)
9.AVCC merupakan pin masukan tegangan untuk ADC 10.AREF merupakan pin masukan tegangan untuk ADC
Selain fitur tersebut diatas, masing – masing pin pada mikrokontroler memiliki fungsi khusus diantaranya :
Tabel 2.1 : Fungsi Khusus Port B
Pin Fungsi Khusus
PD7 SCK (SPI Bus Serial Clock)
PD6 MISO (SPI Bus Master Input/Slave Output) PD5 MOSI (SPI Bus Master Output/Slave Input) PD4 SS (SPI Slave Select Input )
PD3
AIN1 (Analog Comparator Negative Input ) OC0 (Timer/Counter0 Output Compare Match Output )
PD2
AIN0 (Analog Comparator Positive Input ) INT2 (External Interrupt 2 Input) PD1 T1 (Timer/Counter1 External Counter Input )
PD0
T0 T1 (Timer/Counter0 External Counter Input ) XCK (USART External Clock Input/Output)
Tabel 2.2 : Fungsi Khusus Port C
Pin Fungsi Khusus
PD7 TOSC2 (Timer Oscillator Pin2) PD6 TOSC1 (Timer Oscillator Pin1)
(29)
PD4 TDO (JTAG Test Data out ) PD3 TMS (JTAG Test Mode Select )
PD2 TCK (JTAG Test Clock)
PD1 SDA (Two-wire Serial Bus Data Input/Output Line) PD0 SCL (Two-wire Serial Bus Cock Line)
Tabel 2.3 : Fungsi Khusus Port D
Pin Fungsi Khusus
PD7 OC2 (Timer/Counter2 Output Compare Match Output ) PD6 ICP (Timer/Counter1 Input Capture Pin)
PD5 OC1A (Timer/Counter1 Output Compare A Match Output ) PD4 OC1B (Timer/Counter1 Output Compare B Match Output) PD3 INT1 (External Interrupt 1 Input)
PD2 INT0 (External Interrupt 0 Input )
PD1 TXD (USART Output Pin)
(30)
Gambar 2.2 Konfigurasi Pin ATMega32 2.1.4 Deskripsi pin-pin pada mikrokontroler ATMega32: 1. Port A
Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin memilki internal pull-up resistor. Output buffer port A dapat mengalirkan arus sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Pin-pin dari port A memiliki fungsi khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10 bit. Fungsi-fungsi khusus pin-pin port A dapat ditabelkan seperti yang tertera pada table.
Tabel 2.4 Fungsi khusus port A Port Alternate Function
PA7 ADC7 (ADC input channel 7) PA6 ADC6 (ADC input channel 6) PA5 ADC5 (ADC input channel 5)
(31)
PA4 ADC4 (ADC input channel 4) PA3 ADC3 (ADC input channel 3) PA2 ADC2 (ADC input channel 2) PA1 ADC1 (ADC input channel 1) PA0 ADC0 (ADC input channel 0)
2. Port B
Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor.Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan. Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya :
SCK port B, bit 7
Input pin clock untuk up/downloading memory. MISO port B, bit 6
Pin output data untuk uploading memory. MOSI port B, bit 5
Pin input data untuk downloading memory.
Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti pada table Tabel 2.5 Fungsi khusus port B
Port Alternate Function
PB7 SCK (SPI Bus Serial Clock)
(32)
PB6 MOSI (SPI Bus Master Output/Slave Input) PB5 SS (SPI Slave Select Input)
PB3
AIN1 (Analog Comparator Negative Input)
OCO (Timer/Counter0 Output Compare Match Output)
PB2
AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input)
PB1 T1 (Timer/Counter1 External Counter Input)
PB0
T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)
3. Port C
Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor.Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel dibawah ini.
Tabel 2.6 Fungsi khusus port C Port Alternate Function
PC7 TOSC2 (Timer Oscillator Pin 2) PC6 TOSC1 (Timer Oscillator Pin 1) PC6 TD1 (JTAG Test Data In) PC5 TD0 (JTAG Test Data Out)
(33)
PC3 TMS (JTAG Test Mode Select) PC2 TCK (JTAG Test Clock)
PC1 SDA (Two-wire Serial Bus Data Input/Output Line) PC0 SCL (Two-wire Serial Bus Clock Line)
4. Port D
Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor.Output buffer port D dapat mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang tertera pada tabel dibawah ini.
Tabel 2.7 Fungsi khusus port D Port Alternate Function
PD7 OC2 (Timer / Counter2 Output Compare Match Output) PD6 ICP1 (Timer/Counter1 Input Capture Pin)
PD6 OCIB (Timer/Counter1 Output Compare B Match Output) PD5 TD0 (JTAG Test Data Out)
PD3 INT1 (External Interrupt 1 Input) PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin) PD0 RXD (USART Input Pin)
(34)
5. RESET
RST pada pin 9 merupakan pin reset yang akan bekerja bira diberi pulsa rendah (aktif Low) selama minimal 1,5us.
6. XTAL2
Merupakan out put dari penguat dari osilator pembalik 7. XTAL1
Merupakan input ke penguat osilator pembalik dan input ke internal clock. 8. AVcc
Avcc adalah pin masukan catu daya yang digunakan untuk masukan analog ADC yang terhubung ke Port A. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.
9. AREF
AREF adalah pin masukan referensi analog untuk ADC. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. 10. AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.
2.1.5 Peta Memory ATMega32
Mikrokontroller ATMega32 memiliki 3 jenis memori yaitu memori
program, memori data dan memori EEPROM. Ketigannya memiliki ruang-ruang tersendiri dan terpisah seperti terlihat pada gambar 2.3
(35)
Gambar 2.3 Organisasi memori ATMega32
1. Memori Program
ATMega32 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data sebesar 16 bit.Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit.Memori program ini juga terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi.
2. Memori Data
ATMega32 memiliki kapasitas memori data sebesar 608 byte yang
terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan SRAM.32 byte alamat terendah digunakan untuk register serbaguna yaitu R0 –14 R31. 64 byte berikut nya digunakan untuk register I/O yang digunakan untuk mengatur fasilitas
(36)
timer /counter, interrupsi, ADC, USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C, dan Port D.Selanjutnya 512 byte diatasnya digunakan untuk memory data SRAM .
Jika register-register I/O diatas diakses seperti mengakses data pada memori ( Jika kita menggunakan instruksi LD atau ST ) maka register I/O diatas menempati alamat 0020-005F. Tetapi jika registerregister I/O diakses seperti mengakses I/O pada umumnya (menggunakan instruksi IN/IOUT) maka register I/O diatas menempati alamat memori0000h – 003Fh.
32 Register 64 I/O Register
Internal SRAM (512 x 8)
$0000 - $001F $0020 - $005F
$0060
$025F 64 I/O Register
$0000 $003F
(a)
(b)
Gambar 2.4 (a) Register I/O Sebagai Memori Data, (b) Register I/O sebagai I/O
3.Memori EEPROM
ATMega32 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun dari memori data.Memori EEPROM ini hanaya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Addres ( EEARH-EEARL),register EEPROM Data (EEDR) dan register
(37)
EEPROM control ( EECR). Untuk megakses memory EEPROM ini diperlakukan sperti mengakses data eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika kita mengakses data dari SRAM.
2.1.6 Status Register ( SREG)
Register SREG digunakan untuk menyimpan informasi dari hasil operasi aritmatika yang terakhir .Informasi-informasi dari register SREG dapat digunakan untuk mengubah alur program, yang sedang dijalankan dengan mengunakan instruksi percabangan . Data SREG akan selalu berubah jika setiap instruksi atau operasi pada ALU dan datanya tidak otomatis tersimpan apabila terjadi instruksi percabangan baik karena instruksi maupun lompatan.
Gambar 2.5 Status Register
Status Register ATMega32 :
Bit 7 – I : Global Interrupt Enable
Bit I digunakan untuk mengaktifkan interrupsi secara umum ( interrupsi global) .Jika bit I benilai „1‟ maka interrupsi secara umum akan aktif , tetapi jika bernilai „0‟ maka tidak ada satupun interrupsi yang aktif.Pengaturan jenis-jenis interrupsi apa sja yang akan aktif dilakukan dengan mengatur register kontrol yang sesuai dengan jenis interrupsi tersebut, dengan terlebih dahulu mengaktifkan interupsi global ,yaitu bit I diset‟1‟.
(38)
Bit 6 – T : Bit Copy Storage
Bit T digunakan untuk mementukan bit sumber atau bit tujuan pada instruksi bit copy.Pada instruksi BST ,data akan dicopy dari register ke bit T( Bit T sebagai tujuan) sedangkan pada instruksi BLD, bit T akan di copy ke register ( Bit T Sebagai Sumber).
Bit 5 – H : Half carry Flag
Bit H digunakan untuk menunjukkan ada tidaknya setengah carry pada operasi aritmatika BCD ,yaitu membagi satu byte data menjadi dua bagian ( masing-masing 4 bit) dan masing-masing-masing-masing bagian dianggap sebagai 1 digit desimal. 4.Bit 4 – S: Sign bit
Bit S merupakan kombinasi antara bit V dan bit N, yaitu dengan meng-XOR-kan bit V dan bit N.
Bit 3 –V : Two‟s Complement over flow flag
Bit V digunakan untuk mendukun operasi aritmatika komplemen 2.Jika terjadi luapan pada operasi aritmatika bilangan komplemen 2 maka akan menyebabkan bit V bernilai „1‟.
Bit 2 - N : Negative Flag
Bit N digunakan untuk menunjukkan apakah hasil sebuah operasi aritmatika ataupun operasi logika bernilai negatif atau tidak.Jika hasilnya negatif maka bit N bernilai „1‟ dan jika hasilnya bernilai positif maka bit N bernila‟0‟.
Bit 1 - Z : Zero Flag
Bit Z digunakan untuk menunjukkan hasil operasi aritmatika ataupun operasi logika apakah bernilai nol atau tidak.Jika hasilnya nol maka bit Z bernilai „1‟ dan jika hasilnya tidak nol maka bit Z bernilai‟0‟.
(39)
Bit 0 – C : Carry flag
Bit C digunakan untuk menunjukkan hasil operasi aritmatika ataupun logika apakah ada carry atau tidak.Jika ada carry maka bit C bernilai‟1‟ dan jikatidak ada carry maka bit C akan bernilai „0‟.
2.1.7 Register Serba guna ( General Purpose Register)
ATMega32 memiliki 32 byte register serbaguna yang terletak pada awal alamat RAM. Dari 32 byte register serba guna 6 byte terakhir juga digunakan sebagai register pointer yaitu register pointer X,register pointer Y dan Register pointer Z.
Gambar 2.6 Register Serba guna
2.1.8USART ( Universal Synchronous and Asynchoronous Serial Receiver And Transmitter)
Universal Synchronous Serial Receiver and Transmitter (USART) juga merupakan salah satu metode komunikasi serial yang dimiliki oleh
(40)
ATMega32.USART merupakan komunikasi yang memiliki fleksibilitas yang tinggi, yang dapat kita gunakan untuk melakukan transfer data baik antara mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara synchronous maupun asynchronous sehingga dengan demikian USART pasti kompatibel dengan UART. Pada ATMega32,pengaturan secara umum pengaturan mode komunikasi baik Synchronous maupun Asynchronous adalah sama , perbedaannya hanya terletak pada sumber clocknya saja. Pada mode Asynchronous masing – masing Peripheral memiliki sumber clock sendiri sedang kan pada mode Synchronous hanya ada satu sumber clock yang digunakan secra bersama- sama. Dengan demikian secara hardware untuk mode Asynchronous hanya membutuhkan 2 pin yaitu TXD dan RXD sedangkan untuk mode Synchronous harus 3 pin yaitu TXD,RXD dan XCK
2.2 Modem GSM
Modem adalah sebuah alat yang dapat membuat komputer terkoneksidengan internet melalui line telepon standar. Modem banyak digunakankomputer rumah dan jaringan sederhana untuk dapat berkomunikasi denganjutaan komputer lain dalam lalu lintas internet. Kata Modem itu sendirimerupakan kependekan dariModulator Demodulator. Ini berarti Modembekerja dengan cara mengubah informasi digital dari komputer pengirim kedalam bentuk sinyal analog yang ditransmisikan melaluli line telepon.
Selanjutnya Modem pada komputer penerima akan mengubah ulang sinyal analog ke sinyal digital.Modem GSM adalah sebuah perangkat Modem Wireless
(41)
Plug andPlay dengan konektivitas GSM/GPRS untuk aplikasi-aplikasi machine tomachine. GSM Modul atau Modem GSM adalah jenis khusus dari modemyang menerima kartu SIM, dan mengoperasikan selama berlangganan keoperator mobile, seperti ponsel. Modem GSM dihubungkan dengan suatuinterface yang memungkinkan aplikasi seperti SMS untuk mengirim danmenerima pesan melalui Modem. Beberapa fungsi kegunaan modem ini dimasyarakat adalah antara lain: · SMS Broadcast application
· SMS Quiz application · SMS Polling
· SMS auto-reply · M2M integration · Aplikasi Server Pulsa · Telemetri
· Payment Point Data
Pada pembuatan proyek ini, digunakan Modem GSM Serial WavecomFastrack M1306B.Untuk Modem seri ini memiliki dua type konektor yaitu
serial dan USB[12].
(42)
Spesifikasi modem WAVECOM FASTRACK M1306B: · Dual-band GSM 900/1800MHZ & GPRS Class 10 · GSM Dual Band antenna
· Power Supply with 4 pin connector (untuk serial) · Standard USB 2.0 interface (untuk USB)
· Input Voltage : 5V-32V
· Maximum transmitting speed 253KBps · Support AT-Command
· Dimensi : 74×54×25mm
2.2.1 AT-Command
AT-Command adalah singkatan dari Attention Command.ATCommand adalah perintah yang digunakan dalam komunikasi dengan serialport. Pada awalnya standar perintah ini untuk modem-modem telepon PSTN,akan tetapi perintah ini sekarang dikembangkan juga untuk modem-modemGSM. Perintah AT-Command dapat diberikan kepada handphone atauGSM/CDMA modem untuk melakukan sesuatu hal, termasuk untukmengirim dan menerima SMS.Dengan memberikan perintah ini di dalamkomputer/mikrokontroller maka perangkat kita dapat melakukan pengirimanatau penerimaan SMS secara otomatis untuk mencapai tujuan tertentu.Untuk memulai suatu perintah AT-Command, diperlukan prefiks “AT” atau “at” dalam setiap perintah AT-Command.[6]
(43)
Tabel 2.8 Tabel Set AT-Command
2.2.2Short Message Service (SMS)
Short Message Service (SMS) merupakan salah satu tipe InstantMessaging (IM) yang memungkinkan user untuk bertukar pesan singkat. SMSdihantarkan pada channel signal Global System for Mobile Communication(GSM). Dewasa ini perkembangan teknologi yang sangat pesat membuatteknologi SMS ini banyak digemari masyarakat karena teknologi ini bersifatpraktis, murah dan mudah untuk digunakan.Sebuah pesan SMS maksimal terdiri dari 140 bytes, yang berarti dapatmemuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untukbahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi(Aksara Kanji/Hanja). User pun dapat mengirim pesan SMS yang lebih dari140 bytes dengan catatan membayar lebih dari sekali biaya kirim SMS.[5]21SMS menjamin pengiriman pesan oleh jaringan, jika terjadi kegagalanmaka disimpan di jaringan atau yang disebut SMS Center (SMSC). Di SMSCpesan disimpan dan dicoba untuk mengirimkannya selama beberapa
(44)
kali.Batas waktu yang telah ditentukan untuk menyimpannya biasanya sekitar 1hari atau 2 hari, lalu pesan dihapus.
2.2.3 Database
Database merupakan sekumpulan data yang terintegrasi yang diorganisasi untuk memenuhi kebutuhan pemakai untuk keperluan organisasiyang dimana dapat dipakai hanya sekali atau berulang yang dimana dalambentuk digital.Salah satu komponen penting dalam penggunaan databaseadalah DataBase Management System (DBMS).DBMS ini bertugas untukmenangani semua akses ke database dan bertanggug jawab untuk menerapkanpemeriksaan otorisasi dan prosedur validasi.
2.2.4 Microsoft Office Access
Salah satu software atau aplikasi yang banyak digunakan untukmembuat suatu database sederhana adalah Microsoft Access. Micosoft Access merupakan software yang dikeluarkan oleh microsoft untuk membuat aplikasidatabase. Sofware ini cocok untuk kalangan industri kecil atau rumah tangga,
karena kapasitas datanya yang mencapai 4 GB. Program ini banyak dipakaikarena kemudahannya dalam mengolah database.
2.3ICMAX232
MAX232 merupakan salah satu jenis IC rangkaian antar muka dual RS-232 transmitter / receiver yang memenuhi semua spesifikasi standar EIA-RS-232-E. IC MAX232 hanya membutuhkan power supply 5V ( single power supply ) sebagai catu. IC MAX232 di sini berfungsi untuk merubah level tegangan pada COM1 menjadi level tegangan TTL / CMOS. IC MAX232 terdiri atas tiga bagian yaitu dual charge-pump voltage converter, driver RS232, dan receiver
(45)
Pengubahan tingkat tegangan listrik dari tingkat serial CMOS/TTL ke tingkat teganganRS-232 seringkali gampang-gampang susah untuk dilakukan. Gampang karena sekarang sudah banyak tersedia IC yang sudah siap pakai tetapi susah karena kadang orang lupa dan salah melakukan konfigurasi jalur komunikasi.
Gambar 2.8 fisik IC MAX232
2.4 Komunikasi Serial
Pada PC / laptop standar, biasanya terdapat sebuah port untuk komunikasi serial.Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh penerapan komunikasi serial ialah mouse, scanner dan sistem akuisisi data yang terhubung ke port serial COM1/COM2. Sistem antar muka komunikasi serial RS232 sering digunakan sebagai antar muka antara komputer dengan mikrokontroler. Agar level tegangan data serial dari mikrokontroler setara dengan level tegangan komunikasi port serial PC, diperlukan MAX232 untuk mengubah ke tegangan TTL/CMOS logic level
(46)
RS232. MAX232 menggunakan sistim komunikasi simplex sehingga difungsikan untuk mengubah dari arus dan tegangan logika TTL menjadi arus tegangan logika komputer (RS232).
2.4.1 Karakteristik Sinyal Port Serial
Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232 yang dikembangkan oleh Electronic Industri Association (EIA/TIA) yang pertama kali dipublikasikan pada tahun 1962.Ini terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut komunikasi antara (Data Terminal Equipment – DTE) dengan alat – alat pelengkap komputer (Data Circuit Terminating Equipment – DCE). Standar sinyal RS232 memiliki ketentuan level tegangan sebagai berikut :
• Logika 1 disebut „Mark‟ terletak antara -3 Volt sampai -25 Volt • Logika „0‟ disebut „space‟ terletak antara +3 Volt samapai +25 Volt.
• Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga level tegangan dibawah -25 Volt dan diatas +25 Volt juga harus dihindari karena bisa merusak line driver pada saluran RS232
Gambar dibawah adalah contoh level tegangan RS232 pada pengiriman huruf “A” dalam format ASCII tanpa bit paritas.
(47)
Gambar 2.9 Level Tegangan RS232 pada Pengiriman Huruf “A” Tanpa Bit Paritas
2.4.2 Port Komunikasi Serial
Komunikasi serial membutuhkan port sebagai saluran data. Berikut tampil port serial DB9 yang umum digunakan sebagai port serial
Gambar 2.10Port DB9 Jantan
(48)
Untuk menghubungkan antara 2 buah PC, biasanya digunakan format null mode, dimana pin TxD dihubungkan dengan RxD pasangan, pin Sinyal ground (5) dihubungkan dengan SG di pasangan, dan masing masing pin DTR, DSR dan CD dihubung singkat, dan pin RTS dan CTS dihubung singkat di setiap devais.
Gambar.2.12 Susunan Pin Konektor DB9
(49)
Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari port serial tersebut.Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2.Base Address COM1 biasanya 1016 (3F8h) dan COM2 biasanya 760 (2F8h).Alamat tersebut adalah alamat yang biasa digunakan, tergantung komputer yang digunakan.Tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk COM1 dan 0000.0402h untuk COM2. Berikut adalah nama – nama register yang digunakan beserta alamatnya
Tabel 2.10 Nama – Nama Register.
Keterangan Register
• RX Buffer , digunakan untuk menampung dan menyimpan data dari DCE. • TX Buffer , digunakan untuk menampung dan menyimpan data yang akan dikirim ke port serial.
• Baud Rate Divisor Latch LSB , digunakan untuk menampung byte bobot rendah untuk pembagi clock pada IC UART agar didapat baud rate yang tepat.
• Baud Rate Divisor Latch MSB , digunakan untuk menampung byte bobot tinggi untuk pembagi clock pada IC UART sehingga total angka pembagi adalah 4 byte yang dapat dipilih dari 0001h sampai FFFFh.
(50)
Tabel 2.11Angka Pembagi
2.4.3Koneksi Ke RS232 Port
Koneksi TXD dan RXD MCU MCS-51 dengan port serial komputer selain level tegangannya harus disesuaikan, cara koneksikan juga perlu diperhatikan. Ada semacam protokol komunikasi, bila DTE hendak menghubungi DCE atau sebaliknya, untuk ‟DCE‟ yang berupa MCU MCS-51 ini, protokol perlu diakali, lebih sederhana prosesnya, sehingga tidak memrlukan software yang rumit, tetapi masih tetap handal. Selain sinyal data, terdapat sinyal – sinyal protokol komunikasi serial pada komputer dan dihubungkan keluar melalui konektor male DB9 (komputer baru) dan DB25 (Komputer lama), nama sinyal – sinyal tersebut adalah:
• RD, Receive Data (RXD). • TD, Transmit Data
• SG, Signal Ground
• DTR, Data Terminal Ready • DSR, Data Set Ready • CD, Carrier Detect • RTS, Request To Send
(51)
• CTS, Clear To Send.
Tabel 2.12 Koneksi Null Mode
Komunikasi asinkron yang sederhana yang disebut sebagai null modem, adalah dengan menghubungkan pin- pin DTR, DSR dan CD serta RTS dengan CTS. Sedangkan sinyal data input masuk RD dan sinyal transmit output adalah TD. Konvertor level untuk saat ini tersedia dalam bentuk ic, contoh adalah ICL232 dari Harris semikonduktor, MAX232 dari Maxim.
Gambar 2.13IC MAX232
Protokol standar yang mengatur komunikasi melalui serial port disebut RS-232 (Recommended Standard-232) yang dikembangkan oleh EIA (Electronic
(52)
Industries Association).Interfacing RS-232 menggunakan komunikasi asyncronous di mana sinyal clock tidak dikirimkan bersamaan dengan data. Setiap word data disingkronisasikan menggunakan sebuah start bit dan sebuah stop bit. Jadi, sebuah frame data terdiri dari sebuah start bit, diikuti bit-bit data dan diakhiri dengan stop bit. Jumlah bit data yang digunakan dalam komunikasi serial adalah 8 bit. Encoding yang digunakan dalam komunikasi serial adalah NRZ (Non-Return-to-Zero), di mana bit 1 dikirimkan sebagai high value dan bit 0 sebagai low value. Komunikasi serial merupakan hal yang penting dalam system embedded, karena dengan komunikasi serial kita dapat dengan mudah menghubungkan mikrokontroler dengan devais lainnya. Port serial pada mikrokontroler terdiri atas dua pin yaitu RXD dan TXD. RXD berfungsi untuk mengirim data dari komputer atau perangkat lainnya, standard komunikasi serial untuk computer adalah RS-232, RS-232 mempunyai standard tegangan yang berbeda dengan serial port mikrokontroler, sehingga agar sesuai dengan RS-232 maka dibutuhkan suatu rangkaian level converter, IC yang digunakan bermacam-macam, tapi yang paling mudah dan sering digunakan ialah IC MAX232/HIN232. Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh komunikasi serial ialah mouse, scanner, dan system akuisisi data yang terhubung ke port COM1/COM2.
Jika ingin menggunakan mikrokontroler untuk berkomunikasi dengan komputer atau device lainnya maka Rx dan Tx tidak bisa langsung dihubungkan begitu saja dengan device tersebut karena level sinyal yang digunakan berbeda-beda.
(53)
Contohnya komunikasi serial untuk komputer menggunakan sinyal RS232 yaitu sinyal yang gelombang level sinyalnya antara +25V sampai -25V. Oleh karena itu, jika ingin diharapkan terjadi komunikasi antara mikrokontroler dengan komputer dibutuhkan sebuah buffer yang dapat mengubah sinyal level TTL dari mikrokontroler menjadi sinyal level RS232. Salah satu Buffer yang sering digunakan adalah IC MAX232CPE dan menggunakan transistor NPN maupun PNP.
Gambar 2.14merupakan penggunaan ic max 232 dalam rangkaian sebagai komunikasi serial.
2.5 Bahasa Pemograman C
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.
Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa
(54)
rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++ (diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows.
Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame.
Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :\ Kelebihan Bahasa C:
· Bahasa C tersedia hampir di semua jenis computer.
· Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.
· Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.
· Proses executable program bahasa C lebih cepat · Dukungan pustaka yang banyak.
· C adalah bahasa yang terstruktur
(55)
penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yangberorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan
berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat.secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalammenyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusiprogram secepat bahasa tingkat rendah.
Kekurangan Bahasa C:
· Banyaknya operator serta fleksibilitas penulisan program kadang-kadangmembingungkan pemakai.
· Bagi pemula pada umumnya akan kesulitan menggunakan pointer. ·
2.5.1 Struktur Bahasa C
a. Program bahasa C tersusun atas sejumlah blok fungsi.
b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.
c. Tidak ada perbedaan antara prosedur dan fungsi.
d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).
e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”. f. Setiap statemen diakhiri dengan semicolon (titik koma).
(56)
2.5.2 Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut :
Karakter pertama tidak boleh menggunakan angka
Karakter kedua dapat berupa huruf, angka, atau garis bawah. Tidak boleh menggunakan spasi.
Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda.
Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.
2.5.3 Tipe Data
Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman.Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter.Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai Berikut
(57)
Macam-Macam Tipe Data Pada Bahasa C : 1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan pada variabel c.
Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int.
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung data yang berkoma. Tipe data tersebut adalah float dan double.
(58)
Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar.
Tabel 2.13Tipe Data
Tipe Data Ukuran Jangkauan Nilai
Bit 1 byte 0 atau 1
Char 1 byte -128 s/d 127
Unsigned Char 1 byte 0 s/d 255
Signed Char 1 byte -128 s/d 127
Int 2 byte -32.768 s/d 32.767
Short Int 2 byte -32.768 s/d 32.767
Unsigned Int 2 byte 0 s/d 65.535
Signed Int 2 byte -32.768 s/d 32.767
Long Int 4 byte -2.147.483.648 s/d 2.147.483.647 Unsigned Long Int 4 byte 0 s/d 4.294.967.295
Signed Long Int 4 byte -2.147.483.648 s/d 2.147.483.647
Float 4 byte 1.2*10-38 s/d 3.4*10+38
Double 4 byte 1.2*10-38 s/d 3.4*10+38
2.5.4 Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori.Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.
(59)
2.5.5IDENTIFIER
Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut :
1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja).
2. Case sensitive: membedakan huruf besar dan huruf kecilnya.
3. Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh angka.
4. Tidak boleh mengandung spasi atau blank.
(60)
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
Pada saat ini pemakaian energi listrik sering terjadi pemborosan karena waktu pemakaiannya yang sering kali tidak tepat atau tidak sesuai dengan kebutuhan, untuk itu penghematan dan pengefektifan pemakaian energi listrik dewasa ini gencar dilakukan, mulai dari pemakaian energi listrik di perumahan, industri, perkantoran dan lain sebagainya. Terkadang pemakaian beban listrik sering tidak optimal, contohnya pada beban penerangan perumahan yaitu lampu yang masih menyala padahal saat kondisi ruangan yang sedang tidak memerlukan penerangan.Untuk itu perlu saklar beban yang mampu ON/OFF secara otomatis yang bisa memanajemen waktu pemakaian beban listrik.Pengaturan penyalaan beban dapat diatur berdasarkan waktu yaitu salah satunya dengan menggunakan fasilitas pensaklaran dengan timer yang dikendalikan atau dikontrol oleh mikrokontroler.Waktu penyalaan dapat di setting sesuai dengan yang diiginkan melalui fasilitas yang ada pada alat.Dengan memanajemen waktu penyalaan beban maka pemakaian energi listrik bisa lebih optimal.Mikrokontroler adalah sistem komputer yang ringkas, dapat menggantikan fungsi komputer dalam pengendalian kerja dan disain yang jauh lebih ringkas dari pada komputer. Dengan ukurannya sangat kecil, mikrokontroler dapat digunakan pada peralatanyang bersifat bergerak (mobile), seperti pada kendaraan, peralatan genggam dan instrumentasi cerdas, mikrokontroler digunakan sebagai otak dari suatu embeddedsystem, sebuah sistem komputer terpadu. Mikrokontroler memiliki
(61)
perbandingan ROM dan RAM yang penting artinya. Program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash EPROM) yang ukurannya relatif besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, hal ini merupakan kelebihan mikrokontroler. Dalam kesempatan ini penulis mencoba membuat suatu alat menggunakan mikrokontroler ATMega32 untuk tugas akhir dengan beberapa aplikasi diantaranya menghidupkan dan mematikan lampu dari jarak jauh dengan memanfaatkan modem wavecome sebagai sms secara otomatis. Alasan utama pemilihan mikrokontroler AVR sendiri karena merupakan generasi terbaru dari produk sebelumnya, yang mengalami penyempurnaan untuk mempermudah pengisian program.
Dengan menggunakan sistem ISP (In – system Programming).Selain itu jumlah port paralel yang digunakan sebagai jalur masukan dan keluaran menjadi lebih banyak.Para desainer sistem elektronika telah diberi suatu teknologi yang memiliki kapabilitas yang sangat maju, tetapi dengan biaya ekonomis yang cukup minimal.Selain itu teknologi saat ini juga merambah ke realitas kehidupan manusia, salah satunya adalah pengembangan suatu sistem otomasi pada rumah.sistem otomasi rumah sudah bukan hal umum ada di kalangan elite. Dengan berbagai fasilitas yang ada, sistem otomasi rumah nantinya bisa memudahkan pemiliknya untuk menjaga dan memberikan kenyamanan bagi setiap orang yang tinggal didalamnya. Untuk itulah penulis mencoba untuk membuat suatualat dan Penulisan TugasAkhir dengan judul“PERANCANGAN SISTEM KONTROL LAMPU DENGAN MEMANFAATKAN MODEM WAVECOME SEBAGAI SMS GATEWAY’’.
(62)
1.2.RumusanMasalah
Dalam merancang dan membuat PERANCANGAN SISTEM KONTROL
LAMPU DENGAN MEMANFAATKAN MODEM WAVECOME
SEBAGAI SMS GATEWAY. penulis akan membahas dan menganalisa rangkaian tersebut secara blok per blok. Komponen yang di gunakan dalam perancangan akan di bahas fungsinya secara umum dan karak teristik tidak di bahas. Perencanaan dan analisa rangkaian, di jelaskan secara blok perblok. Membahas perhitungan besar arus dan tegangan pada rangkaian sirkuit elektronik nya.Tidak di bahas bagaimana cara pembuatan program dan hasil nya hanya sekilas tentang bagaimana program tersebut berkerja.
1.3.Tujuan Penulisan
Adapun Tujuan dari penulisan tugas akhir ini sebagai berikut :
1. Memanfaatkan Teknologi SMS Untuk Mengendalikan Lampu Jarak Maksimal 5 Meter
2. Agar Lebih Mengerti Tentang Pengaplikasian Mikrokontroler
3. Mengetahui Pengaplikasian Sensor-sensor Dalam Kehidupan Sehari-hari 4. Dapat menghemat energi listrik
1.4.Batasan Masalah
Dalamperencanaan penulisaniniterdapat beberapa batasanmasalah sebagai berikut: 1. Rangakaian Mikrokontroller yang di gunakan adalah mikrokontroller
ATMega32.
(63)
yangberguna sebagai SMS gateway (Media Pengirim dan penerima SMS) 3. Sim Card yang di gunakan di dalam Modem Wavecome adalah kartu AS
Telkomsel
4. Modem Wavecome tidak dapat melihat pulsa secara otomatis (tidak dapat melakukan Dial ke nomor tertentu)
5. Tidak membahas mengenai komunikasi Mobile Phone
1.5.SistematikaPenulisan
Untukmempermudahpembahasandanpenulisan laporan ini, penulis membuat susunan bab – bab yang membentuk laporan ini dalam sistematika penulisan laporan dengan urutan sebagai berikut :
BAB 1 PENDAHULUAN
Dalambabini berisikanmengenailatarbelakang,rumusanmasalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan
untukpembahasandancarakerjadarirangkaian Dan
bahasaprogramyangdigunakan,sertakarakteristikdari komponen-komponen pendukung.
BAB 3 PERANCANGAN DANPEMBUATAN
Bab ini berisikan tentang proses perancangan dan pembuatan alat. Mulai dari peancangan dan pembuatan system secara hardware atau software
(64)
BAB 4HASIL DAN PEMBAHASAN
Dalambabiniakandibahashasilanalisadarirangkaiandansistem kerjaalat,penjelasan mengena irangkaian-rangkaianyang digunakan, penjelasa nmengenai program yang diisikan ke mikrokontroller ATMega32
BAB 5 PENUTUP
Dalam bab inimenjelaskankesimpulandansaran darialatataupun data yangdihasilkandari alat.Babinijugamerupakanakhirdaripenulisan laporan proyek ini.
(65)
PERANCANGAN SISTEM KONTROL LAMPU DENGAN
MEMANFAATKAN MODEM WAVECOME SEBGAI SMS
GATEWAY
ABSTRAK
Hemat energi pada rumah saat ini sangat dibutuhkan bagi setiap pemilik rumah.Hal ini dikarenakan tingkat keamanan ,kenyamanan dan sumber energi listrik semakin berkurang. Sekarang ini banyak sekali kalangan elite yang memodifikasi rumahnya menjadi rumah yang berdayaguna tinggi (Smart Home) yang tentunya mengeluarkan uang yang sangat banyak. Sedangkan pada proyek akhir ini dibuat suatu sistem otomasi pada rumah yang nantinya bisa memenuhi tiga kriteria diatas yaitu nyaman, aman dan efesien dengan biaya yang terjangkau.Sistem ini terdiri dari dua buah.Untuk pemilik rumah dapat memonitor keadaan semua yang sedang berjalan dengan fasililtas SMS Gateway.Setelah diujikan alat ini dapat bekerja dengan baik dengan alat ini pemilik rumah dapat mengontrol peralatan elektronik dari jarak maksimal 5 meter secara otomatis.
(66)
1
PERANCANGAN SISTEM KONTROL LAMPU DENGAN
MEMANFAATKAN MODEM WAVECOME SEBAGAI SMS
GATEWAY
TUGAS AKHIR
AGUSTINA PRATIWI
132408032
PROGRAM STUDI D-3 FISIKA DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
(67)
PERANCANGAN SISTEM KONTROL LAMPU DENGAN
MEMANFAATKAN MODEM WAVECOME SEBAGAI SMS
GATEWAY
TUGAS AKHIR
Diajukan Untuk Melengkapi Tugas Dan Memenuhi Syarat Memperoleh Gelar Ahli Madya
AGUSTINA PRATIWI 132408032
PROGRAM STUDI D-3 FISIKA DEPATERMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2016
(68)
LEMBAR PERSETUJUAN
Judul : Perancangan Sistem Kontrol Lampu
Dengan Memanfaatkan Modem Wavecome Sebagai Sms Gateway
Kategori : Tugas Akhir
Nama : AGUSTINA PRATIWI
NIM : 132408032
Program Studi : D-3 Fiska
Departemen : Fisika
Fakultas : Matematika Dan Ilmu Pengetahuam Alam Universitas Sumatra Utara Medan
Diluluskan Medan, 25 Juli 2016
Disetujui Oleh
Ketua Program Studi D-3 Fisika Pembimbing,
Dr. Susilawati, M.Si Dr. Marhaposan Situmorang
(69)
LEMBAR PERNYATAAN
PERANCANGAN SISTEM KONTROL LAMPU DENGAN MEMANFAATKAN MODEM WAVECOME SEBAGAI SMS GATEWAY
TUGAS AKHIR
Saya mengakui bahwa Tugas Akhir ini adalah hasil karya sendiri.Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,03 Juni 2016
AGUSTINA PRATIWI NIM. 132408032
(70)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa, dengan limpahan berkat-Nya penyusunan tugas akhir ini dapat diselesaikan dalam waktu yang ditetapkan.
Atas bantuan dan motivasi yang diberikan, penulis ingin menyampaikan rasa terimakasih yang sebesar-besarnya atas segala bantuan, dukungan secara saran yang telah diberikan. Oleh karena itu dalam kesempatan ini penulis menyampaikan terimakasih kepada:
1. Bapak Dr. Kerista Sebayang, MS, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. Ibu Dr. Susilawati, M.Si selaku ketua Program Studi D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam universitas Sumatera Utara.
3. Bapak Dr. Marhaposan Situmorang selaku pembimbing yang telah membimbing dan mengarahkan kepada penulis dalam menyelesaikan
Laporan Tugas Akhir ini.
4. Seluruh Staf pengajar / pegawai program studi fakultas MIPA Universitas Sumatera Utara
5. Teristimewa kepada orangtua penulis tercinta dan paling disayangi yang selalu mendoakan, membantu dan memberikan dukungan yang penuh baik secara materil maupun moril kepada penulis sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini.
(71)
6. Buat senior kami bang Faturahman yang telah memberikan bantuan berupa ilmu dan motivasi serta membimbing, dalam mengerjakan Laporan Tugas Akhir ini.
7. Teman-teman mahasiswa/i Fisika FMIPA USU angkatan 2013.
8. Semua pihak yang tidak dapat disebutkan satu per satu yang telah membantu dalam penyelesaian laporan Tugas Akhir ini.
Akhirnya sebagai bagian dari sebuah perjalanan panjang, penulis menyadari keterbatasan ilmu pengetahuan dan pengalaman untuk menyelesaikan Laporan Tugas Akhir ini secara sempurna. Oleh karena itu, dengan tangan dan hati terbuka penulis menerima kritikan dan saran yang positif untuk kesempurnaan laporan Tugas Akhir ini. Akhir kata penulis berharap semoga Laporan Tugas Akhir ini dapat memberikan manfaat bagi penulis maupun khalayak ramai yang membacanya. Amin
(72)
PERANCANGAN SISTEM KONTROL LAMPU DENGAN
MEMANFAATKAN MODEM WAVECOME SEBGAI SMS
GATEWAY
ABSTRAK
Hemat energi pada rumah saat ini sangat dibutuhkan bagi setiap pemilik rumah.Hal ini dikarenakan tingkat keamanan ,kenyamanan dan sumber energi listrik semakin berkurang. Sekarang ini banyak sekali kalangan elite yang memodifikasi rumahnya menjadi rumah yang berdayaguna tinggi (Smart Home) yang tentunya mengeluarkan uang yang sangat banyak. Sedangkan pada proyek akhir ini dibuat suatu sistem otomasi pada rumah yang nantinya bisa memenuhi tiga kriteria diatas yaitu nyaman, aman dan efesien dengan biaya yang terjangkau.Sistem ini terdiri dari dua buah.Untuk pemilik rumah dapat memonitor keadaan semua yang sedang berjalan dengan fasililtas SMS Gateway.Setelah diujikan alat ini dapat bekerja dengan baik dengan alat ini pemilik rumah dapat mengontrol peralatan elektronik dari jarak maksimal 5 meter secara otomatis.
(73)
DAFTAR ISI
Halaman
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iii
DAFTAR GAMBAR ... v
DAFTAR TABEL ... vii
BAB 1. PENDAHULUAN ... 1
1.1. Latar Belakang masalah ... 1
1.2. Rumusan Masalah ... 3
1.3. Tujuan Penulisan ... 3
1.4. Batasan Masalah ... 3
1.5. Sistematika Penulisan ... 4
BAB II. LANDASAN TEORI ... 6
2.1. Mikrokontroler ATmega32 ... 6
2.1.1. Arsitektur Mkrokontroler AVR Atmega32 ... 7
2.1.2. Fitur ATmega 32 ... 8
2.1.3. Konfigurasi Pin ATmega 32 ... 9
2.1.4. Deskripsi pin-pin pada Mikrokontroler ATmega32 ... 12
2.1.5. Peta Memory ATMega32 ... 16
2.1.6. Status Register ( SREG ) ... 18
2.1.7. Register Serba guna ( General Purpose Register) ... 21
2.1.8. USART ... 21
(74)
2.2.1. AT-Command) ... 24
2.2.2. Short Message Service (SMS) ... 25
2.2.3. Database ... 26
2.2.4. Microsoft Office Access ... 26
2.3. IC comparator (LM324)……….26
2.4. Komunikasi Serial ... 27
2.4.1. Karakteristik Sinyal Port Serial ... 28
2.4.2. Port Komunikasi Serial ... 29
2.4.3. Koneksi Ke RS232 Port…….….………...32
2.5. Bahasa Pemrograman C ... 35
2.5.1. Struktur Bahasa C ... 37
2.5.2. Pengenal ... 38
2.5.3. Tipe Data ... 38
2.5.4. Konstanta Dan Variabel ... 40
2.5.5. IDENTIFIER ... 41
BAB III. PERANCANGAN DAN PEMBUATAN ... 42
3.1. Diagram Blok Rangkaian ... 42
3.1.1. Fungsi Tiap Blok ... 42
3.2 Rangkaian Mikrokontroler ATmega32 ... 43
3.3. Rangkaian Power Supply ... 44
3.4. Perancangan Driver relay dan lampu...45
3.5. Rangkaian Wavecom fastrack... 45
(75)
BAB IV. HASIL DAN PEMBAHASAN... 48
4.1. Pengujian Rangkaian Mikrokontroller ATmega 32 ... 48
4.2 Pengukuran Rangkaian Power Supply ... 49
4.3. Pengujian Driver relay dan lampu...49
4.4. Pengujian koneksi modul GSM Wavecom dengan Mikrokontroller Atmega32 via serial max 232…………..………...50
4.5 Program Lengkap Pengujian Keseluruhan...53
BAB V. PENUTUP 63 5.1. Kesimpulan ... 63
5.2. Saran ... . 63
DAFTAR PUSTAKA ... .64 LAMPIRAN
(76)
DAFTAR GAMBAR
Gambar 2.1 Arsitektur ATMega32...8
Gambar 2.2 Konfigurasi Pin ATMega32 11
Gambar 2.3 Organisasi memori ATMega32 16 Gambar 2.4 (a) Register I/O Sebagai Memori Data 18 (b) Register I/O sebagai I/O 18 Gambar 2.5 Status Register 19 Gambar 2.6 Register Serba guna 21
Gambar 2.7 Modem GSM Fastrack M1306B 23 Gambar 2.8 Fisik ICMax232...27
Gambar 2.9 Level Tegangan RS232 pada Pengiriman Huruf “A” Tanpa Bit Paritas...29
Gambar 2.10 Port DB9 Jantan 29
Gambar 2.11 Port DB9 Betina 29
Gambar 2.12 Susunan Pin Konektor DB9 30
Gambar 2.13 IC MAX232 33
Gambar 2.14 IC MAX232 Sebagai komunikasi serial 35
Gambar 3.1. Diagram Blok Rangkaian 44
Gambar 3.2 Rangkaian sistem minimum mikrokontroler ATMEGA 32....………...45
Gambar 3.3 Rangkaian Power Supplay (PSA) 46
Gambar 3.4. Rangkaian Driver relay dan lampu...47
(77)
Gambar 3.6 FLOWCHART SYSTEM 48 Gambar 4.1. Informasi Signature Mikrokontroler 49
(78)
DAFTAR TABEL
Tabel 2.1 Fungsi Khusus Port B 10
Tabel 2.2 Fungsi Khusus Port C 11
Tabel 2.3 Fungsi Khusu Port D 11 Tabel 2.4 Fungsi Khusus Port A 12
Tabel 2.5 Fungsi Khusus Port B 13
Tabel 2.6 Fungsi Khusus Port C 14
Tabel 2.7 Fungsi Khusus Port D 15
Tabel 2.8 Tabel Set AT-Command 25 Tabel 2.9 Fungsi Susunan Konektor DB9 30
Tabel 2.10 Nama – Nama Register ... 31
Tabel 2.11 Angka Pembagi...32
Tabel 2.12 Koneksi Null Mode...33
(1)
DAFTAR ISI
Halaman
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iii
DAFTAR GAMBAR ... v
DAFTAR TABEL ... vii
BAB 1. PENDAHULUAN ... 1
1.1. Latar Belakang masalah ... 1
1.2. Rumusan Masalah ... 3
1.3. Tujuan Penulisan ... 3
1.4. Batasan Masalah ... 3
1.5. Sistematika Penulisan ... 4
BAB II. LANDASAN TEORI ... 6
2.1. Mikrokontroler ATmega32 ... 6
2.1.1. Arsitektur Mkrokontroler AVR Atmega32 ... 7
2.1.2. Fitur ATmega 32 ... 8
2.1.3. Konfigurasi Pin ATmega 32 ... 9
2.1.4. Deskripsi pin-pin pada Mikrokontroler ATmega32 ... 12
2.1.5. Peta Memory ATMega32 ... 16
2.1.6. Status Register ( SREG ) ... 18
2.1.7. Register Serba guna ( General Purpose Register) ... 21
2.1.8. USART ... 21
(2)
2.2.1. AT-Command) ... 24
2.2.2. Short Message Service (SMS) ... 25
2.2.3. Database ... 26
2.2.4. Microsoft Office Access ... 26
2.3. IC comparator (LM324)……….26
2.4. Komunikasi Serial ... 27
2.4.1. Karakteristik Sinyal Port Serial ... 28
2.4.2. Port Komunikasi Serial ... 29
2.4.3. Koneksi Ke RS232 Port…….….………...32
2.5. Bahasa Pemrograman C ... 35
2.5.1. Struktur Bahasa C ... 37
2.5.2. Pengenal ... 38
2.5.3. Tipe Data ... 38
2.5.4. Konstanta Dan Variabel ... 40
2.5.5. IDENTIFIER ... 41
BAB III. PERANCANGAN DAN PEMBUATAN ... 42
3.1. Diagram Blok Rangkaian ... 42
3.1.1. Fungsi Tiap Blok ... 42
3.2 Rangkaian Mikrokontroler ATmega32 ... 43
3.3. Rangkaian Power Supply ... 44
3.4. Perancangan Driver relay dan lampu...45
(3)
BAB IV. HASIL DAN PEMBAHASAN... 48
4.1. Pengujian Rangkaian Mikrokontroller ATmega 32 ... 48
4.2 Pengukuran Rangkaian Power Supply ... 49
4.3. Pengujian Driver relay dan lampu...49
4.4. Pengujian koneksi modul GSM Wavecom dengan Mikrokontroller Atmega32 via serial max 232…………..………...50
4.5 Program Lengkap Pengujian Keseluruhan...53
BAB V. PENUTUP 63 5.1. Kesimpulan ... 63
5.2. Saran ... . 63
DAFTAR PUSTAKA ... .64 LAMPIRAN
(4)
DAFTAR GAMBAR
Gambar 2.1 Arsitektur ATMega32...8
Gambar 2.2 Konfigurasi Pin ATMega32 11
Gambar 2.3 Organisasi memori ATMega32 16 Gambar 2.4 (a) Register I/O Sebagai Memori Data 18 (b) Register I/O sebagai I/O 18 Gambar 2.5 Status Register 19 Gambar 2.6 Register Serba guna 21
Gambar 2.7 Modem GSM Fastrack M1306B 23 Gambar 2.8 Fisik ICMax232...27
Gambar 2.9 Level Tegangan RS232 pada Pengiriman Huruf “A” Tanpa Bit Paritas...29
Gambar 2.10 Port DB9 Jantan 29
Gambar 2.11 Port DB9 Betina 29
Gambar 2.12 Susunan Pin Konektor DB9 30
Gambar 2.13 IC MAX232 33
Gambar 2.14 IC MAX232 Sebagai komunikasi serial 35
Gambar 3.1. Diagram Blok Rangkaian 44
Gambar 3.2 Rangkaian sistem minimum mikrokontroler ATMEGA 32....………...45
(5)
Gambar 3.6 FLOWCHART SYSTEM 48
(6)
DAFTAR TABEL
Tabel 2.1 Fungsi Khusus Port B 10
Tabel 2.2 Fungsi Khusus Port C 11
Tabel 2.3 Fungsi Khusu Port D 11 Tabel 2.4 Fungsi Khusus Port A 12
Tabel 2.5 Fungsi Khusus Port B 13
Tabel 2.6 Fungsi Khusus Port C 14
Tabel 2.7 Fungsi Khusus Port D 15
Tabel 2.8 Tabel Set AT-Command 25 Tabel 2.9 Fungsi Susunan Konektor DB9 30
Tabel 2.10 Nama – Nama Register ... 31
Tabel 2.11 Angka Pembagi...32
Tabel 2.12 Koneksi Null Mode...33