Monitoring Dan Pengendalian Lampu Penerangan Berbasis Visual Basic

51
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 [Type text] Page i

description

Mikrokontroler

Transcript of Monitoring Dan Pengendalian Lampu Penerangan Berbasis Visual Basic

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

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 Rabbal’alamin.

Januari, 2014

Tim Penyusun

Proyek Mikrokontroler 2013Page ii

DAFTAR ISI

KATA PENGANTAR................................................................................ ii

......................................................................................................................

DAFTAR ISI............................................................................................... iii

DAFTAR GAMBAR.................................................................................. iv

BAB I PENDAHULUAN........................................................................... 2

1.1 Latar Belakang ................................................................................ 2

1.2 Tujuan dan Manfaat......................................................................... 2

BAB II TINJAUAN PUSTAKA............................................................. 3

2.1 Perangkat Keras Alat....................................................................... 3

2.1.1 Mikrokontroller ATMEGA 16................................................ 3

2.1.2 Arsitektur Atmega16................................................................ 3

2.1.3 DESKRIPSI MIKROKONTROLER ATMEGA16 ............... 4

2.1.4 Driver Relay............................................................................. 7

2.1.5 Photodioda.............................................................................. 8

2.2 Perangkat Lunak Alat....................................................................... 8

2.2.1 Bahasa C................................................................................. 8

2.2.2 Bahasa Visual Basic............................................................... 9

BAB III PEMBAHASAN......................................................................... 11

3.1 Spesifikasi Alat................................................................................ 11

3.2 Cara Kerja Alat ............................................................................... 11

3.3 Diagram Blok .................................................................................. 14

3.4 Flow Chart........................................................................................ 15

3.5 Skematik Alat.................................................................................... 16

3.6 Listing Program................................................................................. 18

BAB IV KESIMPULAN.......................................................................... 32

DAFTAR PUSTAKA................................................................................. 33

LAMPIRAN-LAMPIRAN........................................................................ 34

Proyek Mikrokontroler 2013Page iii

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram Atmega16......................................................... 5

Gambar 2.2 Konfigurasi Pin Atmega16....................................................... 6

Gambar 2.3 Photodioda............................................................................... 9

Gambar 2.4 Tampilan antarmuka visual basic 6.0....................................... 11

Gambar 2.5 Komponen toolbox visual basic 6.0......................................... 12

Gambar 3.1 Blog Diagram Sistem .............................................................. 14

Gambar 3.2 Skematik Atmega16................................................................. 15

Gambar 3.3 Skematik Photodioda............................................................... 17

Gambar 3.4 Skematik Relay........................................................................ 17

Gambar Lampiran 1 Tampilan Alat ............................................................ 34

Gambar Lampiran 2 Tampilan Antarmuka pada Visual Basic.................... 34

Proyek Mikrokontroler 2013Page 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 2013Page 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 2013Page 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 2013Page 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 2013Page 4

Gambar 2.1 Blok diagram ATMega16

Proyek Mikrokontroler 2013Page 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 masing-

masing 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, pena–pena 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 pull-

up (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 2013Page 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 2013Page 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 2013Page 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 2013Page 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 2013Page 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 2013Page 11

Gambar 2.6 Komponen toolbox visual basic 6.0

Proyek Mikrokontroler 2013Page 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 perangkat keras (hardware) :

1. ATMEGA16 1 buah

2. Driver Relay 5V 2 buah

3. IC ULN 2003 1 buah

4. Photodioda 3 buah

5. Lampu 5W 3 buah

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 Rs-

232 yang terhubung dengan mikrokontroller ATMEGA16.

Alat ini dapat mengendalikan lampu sebanyak 3 lampu dengan tegangan

220 VAC dan daya 5 Watt.

Proyek Mikrokontroler 2013Page 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 2013Page 14

3.4 Flow Chart

Proyek Mikrokontroler 2013Page 15

3.4 Skematik Alat

Gambar 3.2 Skematik Atmega16

Proyek Mikrokontroler 2013Page 16

Gambar 3.2 Skematk Photodioda

Gambar 3.3 Skematik Relay

3.5 Listing Program

Proyek Mikrokontroler 2013Page 17

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"

MSComm1.PortOpen = True

Proyek Mikrokontroler 2013Page 18

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

End If

Proyek Mikrokontroler 2013Page 19

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)

End Sub

Proyek Mikrokontroler 2013Page 20

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"

End With

Proyek Mikrokontroler 2013Page 21

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 : ATmega16

Program type : Application

Clock frequency : 11.059200 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

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

#include <mega16.h>

Proyek Mikrokontroler 2013Page 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;

status=UCSRA;

Proyek Mikrokontroler 2013Page 23

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 2013Page 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 2013Page 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;

// Port B initialization

Proyek Mikrokontroler 2013Page 26

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

// Clock value: Timer 1 Stopped

Proyek Mikrokontroler 2013Page 27

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

// INT0: Off

Proyek Mikrokontroler 2013Page 28

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

UCSRB=0x98;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x47;

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

SFIOR=0x00;

Proyek Mikrokontroler 2013Page 29

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

};

delay_us(20);

Proyek Mikrokontroler 2013Page 30

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

};

}

BAB IV

Proyek Mikrokontroler 2013Page 31

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 2013Page 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 2013Page 33

Gambar Lampiran.1 Tampilan Alat

Gambar Lampiran.2 Tampilan Antarmuka Visual Basic

Proyek Mikrokontroler 2013Page 34