Anda di halaman 1dari 38

LAPORAN PROYEK MIKROKONTROLLER

Rancang Bangun Sistem Pengendalian dan Monitoring Lampu Penerangan pada Bangunan berbasis Visual Basic
Oleh : Heru Ramadhan (33111110004) Muhammad Guntoro (3311110032) Kelas : EC 5D

Program Studi Teknik Elektronika Industri Jurusan Teknik Elektro Politeknik Negeri Jakarta Januari, 2014
[Type text] Page i

KATA PENGANTAR
Puji syukur penyusun panjatkan kehadirat Allah SWT, karena atas karunia dan hidayah-Nya kami dapat menyelesaikan makalah ini. Salawat serta salam semoga tercurahkan kepada Nabi Muhammad SAW. beserta keluarga dan para sahabatnya yang telah mengangkat seluruh umat manusia dari kegelapan menuju keselamatan. Penyusunan laporan inidibuat untuk memenuhi tugas mata kuliah Antarmuka Komputerdan dengan adanya laporan mengenai praktek Rancang Bangun Sistem Pengendalian dan Monitoring Lampu Penerangan pada Bangunan berbasis Visual Basic ini diharapkan agar setiap pembaca dapat menambah pengetahuannya.

Pada kesempatan ini penyusun ucapkan terima kasih kepada seluruh pihak yang secara langsung maupun tidak langsung ikut serta dalam proses penyusunan laporan ini sehingga penyusun dapat menyelesaikannya dengan baik. Penyusun menyadari sepenuhnya bahwa proses penyusunan laporan ini sangat jauh dari sempurna, untuk itu penyusun mengharapkan saran dan kritik yang membangun dari semua pihak agar penyusunan makalah selanjutnya dapat lebih baik. Akhirnya, semoga laporan yang sederhana ini dapat diterima dan bermanfaat bagi para pembaca. Amin ya Rabbalalamin.

Januari, 2014

Tim Penyusun Proyek Mikrokontroler 2013

Page ii

DAFTAR ISI

KATA PENGANTAR ............................................................................... DAFTAR ISI .............................................................................................. DAFTAR GAMBAR ................................................................................. BAB I PENDAHULUAN .......................................................................... 1.1 Latar Belakang ............................................................................... 1.2 Tujuan dan Manfaat ........................................................................ BAB II TINJAUAN PUSTAKA............................................................. 2.1 Perangkat Keras Alat ....................................................................... 2.1.1 Mikrokontroller ATMEGA 16................................................ 2.1.2 Arsitektur Atmega16................................................................ 2.1.3 DESKRIPSI MIKROKONTROLER ATMEGA16 ............... 2.1.4 Driver Relay............................................................................. 2.1.5 Photodioda.............................................................................. 2.2 Perangkat Lunak Alat.................................................... .................. 2.2.1 Bahasa C................................................................................. 2.2.2 Bahasa Visual Basic............................................................... BAB III PEMBAHASAN ........................................................................ 3.1 Spesifikasi Alat ............................................................................... 3.2 Cara Kerja Alat ............................................................................... 3.3 Diagram Blok ................................................................................. 3.4 Flow Chart .................................................................................... ... 3.5 Skematik Alat.................................................................................... 3.6 Listing Program................................................................................. BAB IV KESIMPULAN. ........................................................................ DAFTAR PUSTAKA ................................................................................ LAMPIRAN-LAMPIRAN. ......................................................................

ii iii iv 2 2 2 3 3 3 3 4 7 8 8 8 9 11 11 11 14 15 16 18 32 33 34

Proyek Mikrokontroler 2013

Page iii

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram Atmega16 ........................................................ Gambar 2.2 Konfigurasi Pin Atmega16.................................................... .. Gambar 2.3 Photodioda ............................................................................... Gambar 2.4 Tampilan antarmuka visual basic 6.0 ...................................... Gambar 2.5 Komponen toolbox visual basic 6.0......................................... Gambar 3.1 Blog Diagram Sistem ............................................................. Gambar 3.2 Skematik Atmega16 ................................................................ Gambar 3.3 Skematik Photodioda............................................................... Gambar 3.4 Skematik Relay ....................................................................... Gambar Lampiran 1 Tampilan Alat ........................................................... Gambar Lampiran 2 Tampilan Antarmuka pada Visual Basic ...................

5 6 9 11 12 14 15 17 17 34 34

Proyek Mikrokontroler 2013

Page iv

Abstrak
Umumnya lampu pada ruangan masih menggunakan saklar manual, sehingga lampu hanya bisa dioperasikan secara manual. Dengan demikian konsumsi daya listrik tidak bisa terkontrol secara baik, hal ini karena kebiasaan yang kurang disiplin terhadap penggunaan daya listrik. Atas dasar permasaalahan tersebut penulis membuat alat pengontrol lampu ruangan pada bangunan bertingkat yang bisa memonitor lampu pada tiap ruangan dan mengendalikannya melalui PC. Alat ini dirancang dengan memanfaatkan mikrokontroler ATMEGA 16 sebagai pengendali utama, dimana PC/komputer berfungsi untuk menampilkan kondisi lampu dan memberikan perintah pada mikrokontroler untuk mengendalikan lampu. Program Pengendali lampu yang dibuat dangan Visual Basic diinstal pada PC yang telah terpasang antarmuka ATMEGA 16 dan driver yang dihubungkan dengan lampu.

Proyek Mikrokontroler 2013

Page 1

BAB I PENDAHULUAN

1.1 Latar Belakang Perkembangan pembangunan bangunan bertingkat sudah merambah di daerah sekitar perkotaan. Hal ini merupakan imbas dari kemajuan kota-kota besar dan perkembangan penduduk yang sangat pesat. Pada menyalakan/mematikan lampu masih sering dilakukan secara manual. Masalah yang sering terjadi yaitu lampu tetap menyala sementara pengguna lupa untuk mematikannya. Berawal dari masalah tersebut, penulis mencoba merancang sebuah alat yang dapat mengontrol lampu dengan menggunakan Personal Computer (PC). Dengan adanya alat ini daya yang digunakan untuk penerangan akan sedikit lebih hemat dan pengguna atau petugas satpam tidak lagi repot-repot mematikan lampu tersebut, serta satpam gedung akan selalu mengontrol kondisi lampu yang terlihat dari PC. Untuk melakukan percobaan ini menggunakan mikrokontroller ATMEGA 16 sebagai antarmuka personal komputer dengan lampu yang bertegangan AC yang akan dikendalikan. Selain perangkat keras (rangkaian antarmuka ATMEGA 16 da n rangkaian Relay), juga menggunakan perangkat lunak yang dibuat dengan software Visual Basic 6. Diharapkan hasil perancangan ini dapat di aplikasikan terhadap seluruh kompleks perumahan agar memberikan kemudahan dalam pengoperasian lampu jalanan yang dapat dikontrol melalui PC.

1.2 Tujuan Proyek Setelah mengikuti pembelajaran Mikrokontroler, mahasiswa dituntut untuk merealisasikan suatu alat yang dapat berguna dan mengikuti perkembangan. Rancang Bangun Sistem Pengendalian dan Monitoring Lampu Penerangan pada Bangunan berbasis Visual Basic dapat menghemat energi listrik dan mempermudah kegiatan manusia untuk menyalakan/mematikan lampu sehinga dapat menghemat waktu dan tenaga.

Proyek Mikrokontroler 2013

Page 2

BAB 2 TINJAUAN PUSTAKA


2.1 Perangkat Keras 2.1.1 Mikrokontroller ATMEGA 16 Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti mikroprosesor pada umumnya, secara internal mikrokontrolerATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengen prosesornya (in chip).

2.1.2 Arsitektur ATMEGA16 Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent). Secara garis besar mikrokontroler ATMega16 terdiri dari :

Proyek Mikrokontroler 2013

Page 3

1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz. 2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte 3. Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D. 4. CPU yang terdiri dari 32 buah register. 5. User interupsi internal dan eksternal. 6. Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial 7. Fitur Peripheral : Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode Compare. Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode capture. Real time counter dengan osilator tersendiri. Empat kanal PWM dan Antarmuka komparator analog. 8 kanal, 10 bit ADC. Byte-oriented Two-wire Serial Interface. Watchdog timer dengan osilator internal.

Proyek Mikrokontroler 2013

Page 4

Gambar 2.1 Blok diagram ATMega16

Proyek Mikrokontroler 2013

Page 5

Gambar 2.2 Konfigurasi Pin Atmega16

2.1.3. DESKRIPSI MIKROKONTROLER ATMEGA16 VCC (Power Supply) dan GND(Ground) Port A (PA0-PA7) Port A berfungsi sebagai input analog pada konverter A/D. Bandar A juga sebagai suatu port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pena pena port dapat menyediakan resistor internal pull-up (yang dipilih untuk masingmasing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, penapena akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pena Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Port B (PB0-PB7) Port B adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pullup (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena Port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Proyek Mikrokontroler 2013 Page 6

Port C (PC0-PC7) Port C adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Port D (PD0-PD7) Port D adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. RESET (Reset input). XTAL1(Input Oscillator). XTAL2 (Output Oscillator). AVCC adalah pena penyedia tegangan untuk bandar A dan Konverter A/D. AREF adalah pena referensi analog untuk konverter A/D.

2.1.4 Relay Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relay merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka.Relay biasanya digunakan untuk menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus/tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik. Proyek Mikrokontroler 2013

Page 7

Konfigurasi dari kontak-kontak relay ada tiga jenis, yaitu: Normally Open (NO), apabila kontak-kontak tertutup saat relay dicatu Normally Closed (NC), apabila kontak-kontak terbuka saat relay dicatu Change Over (CO), relay mempunyai kontak tengah yang normal tertutup, tetapi ketika relay dicatu kontak tengah tersebut akan membuat hubungan dengan kontak-kontak yang lain. Penggunaan relay perlu memperhatikan tegangan pengontrolnya serta kekuatan relay men-switch arus/tegangan. Biasanya ukurannya tertera pada body relay. Misalnya relay 12VDC/4 A 220V, artinya tegangan yang diperlukan sebagai pengontrolnya adalah 12Volt DC dan mampu men-switch arus listrik (maksimal) sebesar 4 ampere pada tegangan 220 Volt. Sebaiknya relay difungsikan 80% saja dari kemampuan maksimalnya agar aman, lebih rendah lagi lebih aman. Relay jenis lain ada yang namanya reedswitch atau relay lidi. Relay jenis ini berupa batang kontakterbuat dari besi pada tabung kaca kecil yang dililit kawat. Pada saat lilitan kawat dialiri arus, kontak besi tersebut akan menjadi magnet dan saling menempel sehingga menjadi saklar yang on. Ketika arus pada lilitan dihentikan medan magnet hilang dan kontak kembali terbuka (off). Cara kerja komponen ini dimulai pada saat mengalirnya arus listrik melalui koil,lalu membuat medan magnet sekitarnya sehingga dapat merubah posisi saklar yang ada di dalam relay terserbut, sehingga menghasilkan arus listrik yang lebih besar. Disinilah keutamaan komponen sederhana ini yaitu dengan bentuknya yang minimal bisa menghasilkan arus yang lebih besar.

Pemakaian relay dalam perangkat-perangkat elektronika mempunyai Keuntungan yaitu ;


Dapat mengontrol sendiri arus serta tegangan listrik yang diinginkan Dapat memaksimalkan besarnya tegangan listrik hingga mencapai batas maksimalnya

Dapat menggunakan baik saklar maupun koil lebih dari satu, disesuaikan dengan kebutuhan

Proyek Mikrokontroler 2013

Page 8

2.1.5 Photodioda Photodioda adalah dioda yang bekerja berdasarkan intensitas cahaya, jika photodioda terkena cahaya maka photodioda bekerja seperti dioda pada umumnya, tetapi jika tidak mendapat cahaya maka photodioda akan berperan seperti resistor dengan nilai tahanan yang besar sehingga arus listrik tidak dapat mengalir.

Gambar 2.3 Photodioda Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan sambungan p-n yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh photodioda ini mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X. Prinsip kerja, karena photodioda terbuat dari semikonduktor p-n junction maka cahaya yang diserap oleh photodioda akan mengakibatkan terjadinya pergeseran foton yang akan menghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-elektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh photodioda. Proyek Mikrokontroler 2013

Page 9

Photodioda dibuat dari semikonduktor dengan bahan yang populer adalah silicon ( Si) atau galium arsenida ( GaAs), dan yang lain meliputi InSb, InAs, PbSe. Material ini menyerap cahaya dengan karakteristik panjang gelombang mencakup: 2500 - 11000 untuk silicon, 8000 20,000 untuk GaAs. Ketika sebuah photon (satu satuan energi dalam cahaya) dari sumber cahaya diserap, hal tersebut membangkitkan suatu elektron dan menghasilkan sepasang pembawa muatan tunggal, sebuah elektron dan sebuah hole, di mana suatu hole adalah bagian dari kisi-kisi semikonduktor yang kehilangan elektron. Arah Arus yang melalui sebuah semikonduktor adalah kebalikan dengan gerak muatan pembawa. cara tersebut didalam sebuah photodiode digunakan untuk

mengumpulkan photon - menyebabkan pembawa muatan (seperti arus atau tegangan) mengalir/terbentuk di bagian-bagian elektroda.

Photodioda digunakan sebagai penangkap gelombang cahaya yang dipancarkan oleh Infrared. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodioda tergantung besar kecilnya radiasi yang dipancarkan oleh infrared. Photo dioda digunakan sebagai komponen pendeteksi ada tidaknya cahaya maupun dapat digunakan untuk membentuk sebuah alat ukur akurat yang dapat mendeteksi intensitas cahaya dibawah 1pW/cm2 sampai intensitas diatas 10mW/cm2. Photo dioda mempunyai resistansi yang rendah pada kondisi forward bias, kita dapat memanfaatkan photo dioda ini pada kondisi reverse bias dimana resistansi dari photo dioda akan turun seiring dengan intensitas cahaya yang masuk.

2.2 Perangkat Lunak 2.2.1 Bahasa C Bahasa C merupakan bahasa tingkat menengah yang memiliki kemampuan diatas bahasa assembly, serta memiliki kemudahan seperti bahasa tingkat tinggi lainnya.Bahasa ini digunakan untuk mengatur kerja dari mikrokontroller ATMEGA 16. Program compiler C yang digunakan pada tugas ini adalah Code Vision AVR.

Proyek Mikrokontroler 2013

Page 10

2.2.2 Bahasa Visual Basic 6.0 Pada dasarnya bahasa basic adalah bahasa yang mudah dimengerti sehingga pemograman didalam bahasa basic dapat dilakukan dengan mudah. Hal ini lebih mudah lagi setelah hadirnya Microsoft Visual Basic, yang dibangun dari ide untuk membuat bahasa yang sederhana dan mudah dalam pembuatan scriptnya (simple scripting language) untuk graphic user interface yang dikembangkan dalam sistem operasi Microsoft Windows. Interface antarmuka 6.0,berisi menu, toolbar, toolbox, form, project explorer dan property seperti terlihat pada gambar berikut.

Gambar 2.5 Tampilan antarmuka visual basic 6.0 Pembuatan program aplikasi menggunakan visual basic dilakukan dengan membuat tampilan aplikasi padaform, kemudian diberi script program didalam komponen-komponen yang diperlukan. Form disusun oleh komponen-komponen yang berada di toolbox dan setiap komponen yang dipakai harus diatur property melalui jendela (property). Toolbox berisi komponen-komponen yang bisa digunakan oleh suatu project aktif, artinya isi komponen dalam toolbox sangat bergantung pada jenis project yang dibangun. Komponen standar dalam toolbox dapat dilihat pada gambar dibawah ini : Proyek Mikrokontroler 2013

Page 11

Gambar 2.6 Komponen toolbox visual basic 6.0

Proyek Mikrokontroler 2013

Page 12

BAB III PEMBAHASAN


3.1 Spesifikasi Alat Spesifikasi dari perancangan dan implementasi interface komputer sebagai pengendalian dan monitoring lampu ruangan adalah sebagai berikut : Sistem ini terdiri atas dua bagian utama, dimana masing-masing bagian tersusun atas komponen 1 buah 2 buah 1 buah 3 buah 3 buah perangkat keras (hardware) :

1. ATMEGA16 2. Driver Relay 5V 3. IC ULN 2003 4. Photodioda 5. Lampu 5W

Pada alat menggunakan computer desktop yang dapat menjalankan program Visual Basic 6 beserta Port serial yang digunakan. Alat ini bekerja dengan sistem dua arah yaitu PC dapat menampilkan kondisi dari lampu (telesignalling) dan dapat menampilkan tombol untuk mengontrol lampu tersebut (telecontroll).

Pengiriman dan penerimaan data dilakukan secara serial menggunakan Rs232 yang terhubung dengan mikrokontroller ATMEGA16. Alat ini dapat mengendalikan lampu sebanyak 3 lampu dengan tegangan 220 VAC dan daya 5 Watt.

Proyek Mikrokontroler 2013

Page 13

3.2 Cara kerja Alat Pengguna menggunakan komputer yang sudah menggunakan program Visual Basic yang akan mengaktifkan port dengan memberikan logic 1 pada port tersebut, apabila computer rmemberikan logic 1 kepada mikrokontroler maka mikrokontroler yang telah di program akan memberikan dan meneruskan tegangan menuju relay, setelah tegangan sampai di relay, maka relay akan tersambung dan tegangan dari relay akan diteruskan menuju lampu. Untuk mendeteksi kondisi lampu (nyala/mati) digunakan sensor photodioda yang mengirimkan data ke Mikrokontroler yang akan ditampilakan ke PC. Alat pengendali lampu menggunakan PC dapat mengatur ON dan OFF pada lampu serta dapat memonitoring kondisi lampu (nyala/mati).

3.3 Diagram Blok

Gambar 3.1 Blog Diagram Sistem

Proyek Mikrokontroler 2013

Page 14

3.4 Flow Chart

Proyek Mikrokontroler 2013

Page 15

3.4 Skematik Alat

Gambar 3.2 Skematik Atmega16

Proyek Mikrokontroler 2013

Page 16

Gambar 3.2 Skematk Photodioda

Gambar 3.3 Skematik Relay

Proyek Mikrokontroler 2013

Page 17

3.5 Listing Program Program Visual Basic Private Sub cmdConnect_Click() Dim port As Integer On Error GoTo errcode Select Case Combo1.ListIndex Case -1 port = 1 Case 0 port = 1 Case 1 port = 2 Case 2 port = 3 Case 3 port = 4 Case 4 port = 5 Case 5 port = 6 Case 6 port = 7 Case 7 port = 8 Case 8 port = 9 End Select If MSComm1.PortOpen = False Then MSComm1.CommPort = port MSComm1.RThreshold = 1 MSComm1.InputLen = 40 MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1" Proyek Mikrokontroler 2013

Page 18

MSComm1.PortOpen = True cmdConnect.Enabled = False cmdDisconnect.Enabled = True End If

Exit Sub errcode: MsgBox "Port Salah !", vbOKOnly, "Peringatan" Combo1.SetFocus End Sub

Private Sub cmdDisconnect_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If cmdConnect.Enabled = True cmdDisconnect.Enabled = False End Sub Private Sub MSComm1_OnComm() Dim buffer As String Dim temp As String

buffer = MSComm1.Input If buffer <> "" Then If buffer = "A" Then Shape1.FillColor = vbWhite End If If buffer = "B" Then Shape1.FillColor = vbYellow End If If buffer = "E" Then Shape2.FillColor = vbWhite Proyek Mikrokontroler 2013

Page 19

End If If buffer = "F" Then Shape2.FillColor = vbYellow End If If buffer = "I" Then Shape3.FillColor = vbWhite End If If buffer = "J" Then Shape3.FillColor = vbYellow End If

End If End Sub

Private Sub Command1_Click() 'Shape1.FillColor = vbYellow MSComm1.Output = "C" & Chr$(13) End Sub

Private Sub Command2_Click() 'Shape1.FillColor = vbWhite MSComm1.Output = "D" & Chr$(13) End Sub

Private Sub Command3_Click() 'Shape2.FillColor = vbYellow MSComm1.Output = "G" & Chr$(13) End Sub

Private Sub Command4_Click() 'Shape2.FillColor = vbWhite MSComm1.Output = "H" & Chr$(13) Proyek Mikrokontroler 2013

Page 20

End Sub

Private Sub Command5_Click() 'Shape3.FillColor = vbYellow MSComm1.Output = "K" & Chr$(13) End Sub

Private Sub Command6_Click() 'Shape3.FillColor = vbWhite MSComm1.Output = "L" & Chr$(13) End Sub

Private Sub Form_Load() With Combo1 .AddItem "COM1" .AddItem "COM2" .AddItem "COM3" .AddItem "COM4" .AddItem "COM5" .AddItem "COM6" .AddItem "COM7" .AddItem "COM8" .AddItem "COM9" End With

With Combo2 .AddItem "2400" .AddItem "4800" .AddItem "9600" .AddItem "19200" .AddItem "38400" .AddItem "56600" Proyek Mikrokontroler 2013

Page 21

End With

cmdConnect.Enabled = True cmdDisconnect.Enabled = False

End Sub

Program Pada Mikrokontroler /***************************************************** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version : Date : 1/4/2014

Author : Company : Comments:

Chip type Program type Clock frequency Memory model

: ATmega16 : Application : 11.059200 MHz : Small

External RAM size : 0 Data Stack size : 256

*****************************************************/

#include <mega16.h> Proyek Mikrokontroler 2013

Page 22

#define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7

#define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)

// USART Receiver buffer #define RX_BUFFER_SIZE 8 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; char data; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status; Proyek Mikrokontroler 2013

Page 23

status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; };

if(data=='C') { PORTB.0=1; } if(data=='D') { PORTB.0=0; } if(data=='G') { PORTB.1=1; } if(data=='H') { PORTB.1=0; } if(data=='K') { PORTB.2=1; Proyek Mikrokontroler 2013

Page 24

} if(data=='L') { PORTB.2=0; } }; }

#ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index]; if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used#endif

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

#include <delay.h>

#define ADC_VREF_TYPE 0x60 Proyek Mikrokontroler 2013

Page 25

// Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(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|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; }

// Declare your global variables here //unsigned char photo0[8],photo1[8],photo2[8]; unsigned int photo0,photo1,photo2;

void main(void) { // Declare your local variables here

// 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;

Proyek Mikrokontroler 2013

Page 26

// 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=0xFF;

// Port C 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 PORTC=0x00; DDRC=0x00;

// 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;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock Proyek Mikrokontroler 2013

Page 27

// Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; 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: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization Proyek Mikrokontroler 2013

Page 28

// INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47; //int 11.98

//int 8mhz //UCSRA=0x00; //UCSRB=0x98; //UCSRC=0x86; //UBRRH=0x00; //UBRRL=0x33;

// Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; Proyek Mikrokontroler 2013

Page 29

SFIOR=0x00;

// ADC initialization // ADC Clock frequency: 691.200 kHz // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: None // Only the 8 most significant bits of // the AD conversion result are used ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84;

// Global enable interrupts #asm("sei")

while (1) {//printf("A"); photo0=read_adc(0); photo1=read_adc(1); photo2=read_adc(2);

if(photo0<=100) { printf("A"); printf("\r"); } else if(photo0>=200) { printf("B"); printf("\r"); };

Proyek Mikrokontroler 2013

Page 30

delay_us(20);

if(photo1<=100) { printf("E"); printf("\r"); } else if(photo1>=200) { printf("F"); printf("\r"); };

delay_us(20);

if(photo2<=100) { printf("I"); printf("\r"); } else if(photo2>=200) { printf("J"); printf("\r"); };

delay_ms(300); }; }

Proyek Mikrokontroler 2013

Page 31

BAB IV KESIMPULAN
Berdasarkan hasil perancangan dan uji coba dari antarmuka komputer sebagai Sistem Pengendalian dan Monitoring Lampu Penerangan pada Bangunan berbasis Visual Basic dapat ditarik kesimpulan : 1. Pada hasil perancangan alat ini dapat mengendalikan 3 lampu yang terhubung dengan Personal Computer. 2. Alat ini berguna untuk menyalakan dan mematikan lampu (telecontroll) dan melihat kondisi lampu (telesignalling) melalui program Visual Basic yang terhubung dengan Personal Computer. 3. Rangkaian antar muka (ATMEGA16) yang dibuat bekerja sesuai rancangan awal untuk mengendalikan lampu melalui port serial yang terhubung dengan rangkaian driver relay untuk memisahkan level tegangan dc rendah dengan tegangan 220VAC.

DAFTAR PUSTAKA
1. http://repository.usu.ac.id/bitstream/123456789/28677/4/Chapter%20II.pdf diakses tanggal 7 Desember 2013. Pukul 20.00

Proyek Mikrokontroler 2013

Page 32

2. http://www.engineersgarage.com/electronic-components/uln2003-datasheet diakses tanggal 7 Desember 2013, pukul 20.15


3. Eko Putra, Agfianto. (2006), Belajar Mikro Kontroler AT89S51/52/55 Teori dan Aplikasi, Yokyakarta : Gava Media

4. Krisna D. Octovhiana.2013.Cepat Mahir Visual Basic 6.0

Lampiran -Lampiran

Proyek Mikrokontroler 2013

Page 33

Gambar Lampiran.1 Tampilan Alat

Gambar Lampiran.2 Tampilan Antarmuka Visual Basic

Proyek Mikrokontroler 2013

Page 34