PERANCANGAN ALAT PENUNJUK ARAH ANGIN BERBASIS MIKROKONTROLER AT89S51 DENGAN TAMPILAN LCD

  

PERANCANGAN ALAT PENUNJUK ARAH ANGIN BERBASIS

MIKROKONTROLER AT89S51 DENGAN TAMPILAN LCD

  Oleh : Utis Sutisna dan Subuh Priyantoro

  

ABSTRACT

Wind directional signal is importan thing and is used in many cases, such as

weather estimate, navigation, flight, etc. This system now is easy to be implemented

since many sophisticated electronic equipments such as microcontrollesrs, softwares,

and their equipments, were discovered. The purpose of this experimental research is

to design a prototype of wind directional signal based on microcontroller AT89S51

using optocoupler sensors and Liquid Crystal Display (LCD). The research result

shows that the system can run with good enaugh performance, stable and reliable,

can be operated automatically. One of optocoupler sensors gives input to

microcontroller if it detects a wind direction change then the microcontroller

processes this signal, and then it is displayed on LCD.

  

Keywords : Microcontrollesrs AT89S51, Liquid Crystal Display (LCD), optocoupler

sensors.

  PENDAHULUAN

  Penunjuk arah angin adalah sebuah tampilan karakter huruf atau angka yang menampilkan arah angin sesuai dengan arah angin yang sedang terjadi dan akan mengubah tampilan secara otomatis jika terjadi perubahan arah angin tersebut. Pemakaian alat ini sangat banyak sekali, misalnya dalam prakiraan cuaca, dunia pelayaran, penerbangan, militer dan sebagainya.

  Mengingat pentingnya peranan alat penunjuk arah tersebut, maka dalam penelitian ini dibuat prototip alat penunjuk arah angin berbasis mikrokontroler AT89S51. Perancangan dan pembuatan alat ini dilakukan dalam rangka berusaha mempraktekan dan mengembangkan teknologi instrumen dan kendali serta memberi kontribusi untuk kemudahan dan kemaslahatan bagi manusia.

  TINJAUAN PUSTAKA Mikrokontroler AT89S51

  Mikrokontroler AT89S51 adalah mikrokontroler yang chipnya merupakan kombinasi antara CPU 8 bit dengan memori flash sehingga AT89S51 menjadi sebuah mikrokomputer yang sangat berdaya guna, memberikan solusi yang sangat efektif, murah dan sangat fleksibel untuk beberapa aplikasi pengendalian. AT89S51 memiliki beberapa kelebihan antara lain: 4 Kbyte Flash PEROM (Programmable

  

anda Eraseable Read Only Memory), pengisian program secara ISP (In Sistem

Programmable), RAM 128 byte, 32 jalur input-output, dua timer 16 byte, lima vector

  interupsi 2 level, port serial dua arah, rangkaian detak ( clock) dan osilator internal.

  AT89S51 mempunyai empat buah port yang dapat digunakan sebagai unit masukkan/keluaran ( I/O), yaitu port 0, port 1, port 2, dan port 3. Namun jika digunakan eksternal memori ataupun fungsi-fungsi spesial, seperti External Interrupt, serial ataupun External Timer, port 0, port 2, dan port 3 tidak dapat digunakan sebagai port dengan fungsi umum. Untuk itu disediakan port 1 yang dikhususkan untuk port dengan fungsi umum.

  Semua port ini dapat diakses dengan pengalamatan secara bit sehingga dapat dilakukan perubahan output pada tiap-tiap pin dari port ini tanpa mempengaruhi pin- pin yang lainnya.

  Gambar 1 memperlihatkan diagram blok piranti mikrokontroler AT89S51. P0.0 – P0.7 P2.0 – P2.7 GND Vcc RAM ADDR PORT0 PORT2 REGISTER LACTH LACTH RAM FLASH PORT 0 DRIVERS PORT 2 DRIVERS

REGISTER POINTER REGISTER

B STACK ADDRESS ACC TMP2 TMP1 PROGRAM BUFFER PSW ALU INTERRUPT SERIAL PORT AND TIMER BLOCKS INCREMENTER PROGRAM COUNTER PC EA/Vpp AND ALEPROG PSEN RST CONTROL TIMING WATCH PORT3 PORT1 INTRUCTION DOG LACTH LACTH REGISTER PORT LOGIC ISP PROGRAM DUALDPTR OSC PORT 3 DRIVERS PORT 1 DRIVERS P3.0 – P3.7 P1.0 - P1.7

  

Gambar 1 Diagram Blok AT89S51

Organisasi Memori

  AT89S51 mempunyai struktur memori yang terdiri atas :

  • RAM Internal, memori sebesar 128 byte yang biasanya digunakan untuk menyimpan variable atau data yang bersifat sementara.
  • Special Function Register (Register Fungsi Khusus), memori yang berisi register- register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut, seperti timer, serial dan lain-l
  • Flash PEROM, memori yang digunakan untuk menyimpan intruksi-intruksi MCS-51.

  REGISTER ADDRESS RAM 7F FF 80 SPECIAL FUNCITON RAM INTERNAL REGISTER REGISTER 7FF PROGRAM ADDRESS

  00 FLASH REROM 000

Gambar 2 Struktur Memori Mikrokontroler AT89S51.

  RAM Internal AT89S51 terdiri dari :

  • Register Banks (00H hingga 1FH),
  • Bit Addressable RAM (20H hingga 2FH), • RAM Keperluan Umum (30 H hingga 7FH).

  Pada AT89S51 terdapat 21 Special Function Registers (Register Fungsi Khusus) yang terletak antara alamat 80H hingga FFH. Beberapa register-register ini juga mampu dialamati dengan pengamatan bit ( bit addressable) sehingga dapat dioperasikan seperti yang ada pada RAM yang lokasinya dapat diamati dengan pengamatan bit ( Bit Addressable RAM).

  AT89S51 mempunyai 4 Kbyte Flash PEROM ( Programmable and Erasable

  

Raed Only Memory), yaitu ROM yang dapat ditulis ulang atau dihapus dengan

  menggunakan perangkat programmer. Flash PEROM dalam AT89S51 menggunakan

  

Atmel’s High-Densty Non Volatile Technology yang mempunyai kemampuan untuk

  ditulis ulang hingga 1000 kali dan berisikan perintah standar MCS-51. Program yang ada pada Flash PEROM akan dijalankan jika pada saat sistem di-reset, pin EA/VP berlogika satu sehingga mikrokontroler aktif berdasarkan program yang ada pada Flash PEROM-nya. Namun jika EA/VP berlogika nol, mikrokontroler aktif berdasarkan program yang ada pada memori eksternal.

  PERANCANGAN SISTEM Perancangan Perangkat Keras (Hardware) Blok diagram sistem pada perancangan alat ini dapat dilihat pada Gambar 3.

  Sensor

  Mikrokontroler LCD

  Optocoupler

Gambar 3 Blok diagram perencanaan sistem.

  Alat penunjuk arah angin dilengkapi dengan sebuah penangkap angin yang terhubung pada sebuah poros batang aluminium, dan pada batang aluminium tersebut terdapat cakram sensor. Di cakram sensor terdapat 8 sensor dengan menggunakan optocoupler sebagai sensor, yang tiap sensornya merupakan arah dari kedelapan arah angin yang nantinya akan mendeteksi kemana arah angin berhembus dengan mendeteksi sebuah lubang yang terdapat pada cakram oleh sensor.

  Penangkap Angin Poros Led Inframerah Cakram

  Lubang Sensor LCD Phototransistor

  

Gambar 4 Alat Penunjuk Arah Angin dengan Tampilan LCD

  Cara kerja secara lengkap adalah sebagai berikut :

  • Angin berhembus dan menggerakan penangkap angin sehingga menunjuk pada suatu arah.
  • Penangkap angin kemudian menggerakan poros batang aluminium dan menggerakan pula cakram sensor.
  • Pada cakram sensor terdapat lubang pendeteksi, dan sensor arah akan mendeteksi lubang tersebut. Cahaya dari led inframerah yang tadinya terpotong oleh cakram akan terdeteksi oleh phototransistor apabila sensor tepat mengenai lubang pada cakram.
  • Sensor yang mendeteksi arah angin diperkuat sinyalnya oleh penguat Op-Amp

  LM 324 dengan menguatkan tegangan input sensor sehingga sensor akan berlogika 0 apabila mendeteksi suatu arah angin dan berlogika 1 apabila tidak mendeteksi arah angin.

  • Sinyal dari sensor yang diperkuat oleh LM 324 dikirim ke Mikrokontroler AT89S51 yang kemudian diproses oleh program.
  • Kedelapan input dari sensor dihubungkan ke port 1 dan output LCD pada port 0 dan port 2 pada mikrokontroler AT89S51.

  Setiap sensor arah angin terdeteksi maka akan diproses oleh mikrokontroler

  satu arah manakah angin tersebut berhembus dan ditampilkan ke LCD.

  Rangkaian Sensor Optocoupler

  Pada rangkaian sensor digunakan optocoupler sebagai sensor yang terdiri dari Led inframerah dan phototransistor. Led inframerah akan memancarkan inframerah dan akan diterima oleh phototransistor. Pada Alat penunjuk arah angin cakram akan memotong dan menghalangi inframerah, sensor akan bekerja bila tepat berada pada lubang pendeteksi karena inframerah tidak terhalang ke phototransistor.

  VCC VCC R3 1K R1 180 2 - +

  3 1 4 U1 LM324 1 P1. X

Gambar 5 Rangkaian Sensor Optocoupler

  Led inframerah bekerja pada tegangan 5 Vdc dan Arus 27 mA. Untuk membatasi arus yang masuk ke led di pasang resistor 180 ohm pada katoda. Pada rangkaian sensor digunakan IC Op-Amp LM 324 sebagai detector taraf positif pembalik. Resistor 1K bekerja pull-up untuk kaki 3 Op-Amp sebagai non inverting, menjaga agar kaki 3 selalu dalam keadaan positif bila phototransistor tidak bekerja atau pancaran inframerah terhalang maka output Op-Amp negatif. Bila led inframerah memancar diterima oleh phototransistor maka akan meng groundkan kaki 3 non inverting sehingga Op-Amp akan bekerja sebagai detector taraf positif pembalik dan output akan positif 5 Vdc.

  VR 10K digunakan sebagai pengatur tegangan referensi untuk kaki inverting Op-

Amp. VR 10K diatur agar tegangan yang masuk ke kaki inverting tidak terlalu besar

melebihi tegangan saturasi atau terlalukecil. ehingga bila sensor bekerja atau tidak ada

penghalang maka output positif dan akan negatif bila sensor terhalang.

  Rangkaian Mikrokontroler AT89S51 dan LCD P1.0 – P1.7 SENSOR P1.2 P1.1 P0.0 P1.0 P0.1 40 VCC VCC P1.6 10 M P1.5 P1.4 P1.3

P1.7 P0.6 D0 D1 D2 D3 D4 D5 D6 D7 RW RS

P0.5 P0.4 P0.2 LCD P0.7 P0.3 E VCC LCD VCC GND 10 K 19 18

  9 P2.4 P2.6 P2.7 5 V 30 pf

  20 30 pf 12 Mhz AT89S51

Gambar 6 Rangkaian Mikrokontroler AT89S51 dan LCD

  

Dalam rangkaian Mikrokontroler Resistor 10K dan Elco 10 microfarad yang

dihubungkan ke kaki 9 mikrokontroler digunakan sebagai rangkaian reset. Kristal 12 MHz dan kapasitor 30 Pf digunakan sebagai rangkaian Clock yang menghasilkan pulsa dengan frekuensi 12 MHz untuk Mikrokontroler dan dihubungkan ke kaki 18 dan 19.

  Port 1 digunakan sebagai masukan dari sensor pendeteksi arah angin.

  • P1.0 untuk sensor arah utara
  • P1.1 untuk sensor arah timur laut
  • P1.2 untuk sensor arah timur
  • P1.3 untuk sensor arah tenggara
  • P1.4 untuk sensor arah selatan
  • P1.5 untuk sensor arah barat daya
  • P1.6 untuk sensor arah barat
  • P1.7 untuk sensor arah barat laut

  Setiap sensor yang terdeteksi maka akan di terima oleh port 1 dan di proses oleh

mikrokontroler arah manakah dan ditampilkan ke LCD. Port 0 digunakan sebagai output data

karakter ke LCD. Data karakter dikodekan dalam kode ASCII yang tersimpan di dalam memori LCD. Setiap pengiriman data ASCII ke LCD akan di proses oleh LCD dan akan ditampilkan.

  Port 2.7 sebagai kontrol Rite/Write LCD. Port 2.6 sebagai kontrol Enabel LCD dan Port 2.4 sebagai kontrol reset.

  Flow chart Program Struktur diagram flow chart program diperlihatkan pada Gambar 7. CEK SENSOR ARAH MATA ANGIN START

TERDETEKSI

SENSOR TERDETEKSI TIDAK TERDETEKSI ATAU TIDAK

SENSOR BARAT

BARAT

SENSOR

LAUT

LCD => “ BARAT “ LCD => “ BARAT LAUT “ LCD => “ MENCARI ARAH ”

SENSOR TIMUR

SENSOR BARAT

DAYA

LCD => “ BARAT DAYA “ LCD => “ TIMUR “

SENSOR SELATAN

SENSOR TIMUR

LAUT

LCD => “ SELATAN “ LCD => “ TIMUR LAUT “

SENSOR TENGGARA

SENSOR

UTARA

LCD => “ TENGGARA “ LCD => “ UTARA “

END

  

Gambar 7 Flow chart program Penjelasan dari pada diagram flow chart pada program penunjuk arah angin dalam skripsi ini adalah sebagai berikut : a. Setelah alat diberi daya listrik bertegangan 5 volt DC, maka alat segera melakukan power on reset dan mengaktifkan rutin inisialisasi, yakni pengisian register, pemberian status pada bit-bit input dan output pada mikrokontroler AT89S51 dan menentukan kondisi mesin awal.

  b. Setelah inisialisasi, mesin melakukan proses pengujian terhadap status bit yang berasal dari sensor optocoupler, sensor tersebut akan mendeteksi adanya input atau tidak dari sensor optocoupler.

  c. Jika terdapat input dari sensor optocoupler maka mikrokontroler akan memprosesnya dan LCD akan menampilkannya atau menunjuk arah angin yang terdeteksi dengan tampilan huruf atau angka. Misalnya terdeteksi input sensor dengan arah angin barat maka LCD akan menunjukkan atau menampilkan ”Barat”.

  d. Namun jika tidak ada input dari sensor, maka mikrokontroler tidak akan memprosesnya dan LCD tidak akan menampilkan arah angin tetapi tetap menunggu adanya input yang terdeteksi oleh sensor optocoupler.

  e. Demikian proses tersebut kembali berulang-ulang.

  Pembuatan Program Untuk Mikrokontroler AT89S51

  Program ini menggunakan suatu software MS Dos editor untuk menulis program assembly. Downloder yang digunakan oleh software tersebut adalah

  ATMEL 89 Series Flash Programmer Version 3.1 Listing program assembly dengan software MS. Dos Editor untuk pendeteksi arah angin dengan Sensor Optocoupler menggunakan Mikrokontroler AT89S51 adalah sebagai berikut : ;------------------------------------------------------------------- ;------ARAH ANGIN.ASM------------------------------------------ ;------------------------------------------------------------------- ;INISIALISASI RS BIT P2.1 RW BIT P2.6 EBL BIT P2.7 DATA_LCD EQU 80H ORG 00H ;PROGRAM UTAMA START: LCALL DELAY_1S LCALL

  INIT_LCD LCALL CLEAR_LCD LCALL PERKENALAN LCALL DELAY_1S

LCALL DELAY_1S

  Program diatas digunakan untuk mengeset LCD dan digunakan untuk intruksi dibawah ini : a. Display clear (layar bersih)

  b. Kursor berada pada digit pertama

  c. Set fungsi 8 bit transfer data ASCII d. Set DDRAM Adress.

  Untuk program pendeteksi sensor digunakan seperti pada program dibawah ini.

  a. Sensor terhubung Port P3.0 - P3.7

  b. Jika sensor tidak mendeteksi arah angin maka tidak ada tegangan, tetapi jika terdeteksi adanya arah angin maka akan mengirim tegangan. c. Mikrontroler dengan instruksi JNB (Jump if not bit) mendeteksi adanya tegangan atau tidak dari sensor, jika mikrokontroler mendeteksi ada sensor maka akan mengirimkan pesan ke LCD. Jika mikrokontroler tidak mendeteksi adanya sensor maka akan melompat ke program pendeteksi sensor berikutnya.

  Listing programnya adalah sebagai berikut: BARAT: JNB P3.0,BARAT_LAUT LCALL CLEAR_LCD MOV DPTR,#PESAN1A LCALL KIRIMPESAN_LCD LCALL DELAY_1S LCALL CLEAR_LCD MOV DPTR,#PESAN1B LCALL KIRIMPESAN_LCD LCALL TULIS_DIBARIS_BAWAH MOV DPTR,#PESAN2 LCALL KIRIMPESAN_LCD LCALL DELAY_1S LCALL DELAY_1S LOOP: LJMP BARAT PESAN:

  PESAN1A: DB 'ARAH ANGIN>->->*',0FH PESAN1B: DB 'ARAH ANGIN > > ',0FH PESAN2: DB 'BARAT ',0FH

  Program pesan LCD, digunakan untuk mengubah karakter menjadi kode ASCII 16 bit dengan instruksi DB ( Define Byte). Kemudian program selanjutnya adalah Program hapus LCD digunakan untuk menghapus program jika selesai penulisan dan akan berganti ke penulisan berikutnya:

  CLEAR_LCD: SETB EBL CLR RS MOV DATA_LCD,#01H CLR EBL LCALL WAIT_LCD RET

  Program hapus LCD digunakan untuk menghapus program jika selesai penulisan dan akan berganti ke penulisan berikutnya. Setelah program tersebut dilanjutkan dengan program Register Akumulator, dan Program tulis LCD yaitu program berupa pesan yang sudah berbentuk kode data ASCII dikirim ke LCD.

  WAIT_LCD: CLR RS SETB RW SETB EBL MOV DATA_LCD,#0FFH MOV A,DATA_LCD JB ACC.7,WAIT_LCD CLR EBL CLR RW RET WRITE_TEXT: CLR RW SETB RS SETB EBL MOV DATA_LCD,A CLR EBL LCALL WAIT_LCD RET

HASIL DAN PEMBAHASAN

  

Pengujian pada rangkaian mikrokontroler AT89S51 bertujuan untuk mengetahui

apakah sinyal dari sensor optopcoupler dapat diterima dengan baik atau tidak dan dapat diproses dengan baik oleh mikrokontroler AT89S51 serta menapilkannya dengan LCD.

  Dengan melihat hasil pengujian terhadap rangkaian sensor dapat diketahui cara kerja dari sensor. Jika sensor akan mendeteksi arah angin maka akan berogika 0, tetapi jika tidak mendeteksi arah angin akan berlogika 1. Pada mikrokontroler Port1.0-Port1.7 digunakan untuk menerima input dari sensor. Adapun langkah-langkan pengujian rangkaian mikrokontroler AT89S51 antara lain sebagai berikut : 1. Memberi tegangan ± 5Vdc pada rangkaian mikrokontroler.

  2. Pada keadaan biasa Port1 dalam keadaan logika 1 semua.

  3. Untuk mengujinya salah satu kaki diberi logika 0. Untuk itu salah satu kaki Port1

  Ground kemudian lihat pada LCD, maka LCD akan

  dihubungkan dengan menampilkan arah angin yang terdeteksi.

  4. Melakukan pengujian satu persatu seperti pada pengujian ketiga diatas, dari Port1.0 - Port1.7.

  5. Bila tampilan LCD sudah sesuai dengan arah angin yang terdeteksi maka semua rangkaian dianggap sudah benar.

  Hasil percobaan atau pengujian rangkaian mikrokontroler AT89S51 dan LCD dapat diperlihatkan seperti pada Tabel 1.

  Tabel 1 Pengujian Rangkaian Mikrokontroler AT 89S51 dan LCD Tegangan Sensor Port 1 Percobaan Tampilan LCD masukan

  Arah 1 4,8 Vdc 2 4,9 Vdc

  Arah angin ->> Sensor 1 Utara P1.0 3 4,6 Vdc Utara 4 5 Vdc

  5 4,5 Vdc 1 4,9 Vdc 2 5 Vdc Arah angin ->>

  Sensor 2 Timur laut P1.1 3 4,8 Vdc Timur laut 4 4,5 Vdc 5 4,6 Vdc 1 4,6 Vdc 2 4,5 Vdc

  Arah angin ->> Sensor 3 Timur P1.2 3 4,8 Vdc Timur 4 4,9 Vdc

  5 5 Vdc 1 4,5 Vdc 2 4,9 Vdc Arah angin ->>

  Sensor 4 Tenggara P1.3 3 4,8 Vdc Tenggara 4 5 Vdc 5 4,6 Vdc 1 4,7 Vdc 2 4,5 Vdc

  Arah angin ->> Sensor 5 Selatan P1.4 3 5 Vdc Selatan 4 4,5 Vdc

  5 4,8 Vdc Tabel 1 (Lanjutan) 1 5 Vdc 2 4,9 Vdc

  Arah angin ->> Sensor 6 Barat Daya P1.5 3 4,6 Vdc Barat Daya 4 5 Vdc

  5 4,8 Vdc 1 4,7 Vdc 2 4,8 Vdc Arah angin ->>

  Sensor 7 Barat P1.6 3 4,6 Vdc Barat 4 4,7 Vdc 5 5 Vdc 1 4,8 Vdc 2 4,9 Vdc

  Arah angin ->> Sensor 8 Barat Laut P1.7 3 4,5 Vdc Barat Laut 4 5 Vdc

  5 5 Vdc

  Dari hasil pengujian tersebut, maka perancangan sistem keamanan pada ruangan ini dapat berjalan dengan baik.

  KESIMPULAN

  Setelah dilakukan perancangan, pembuatan, serta pengujian dan analisa, dapat diambil kesimpulan sebagai berikut.

  1. Pada keadaan biasa atau sensor dalam keadaan terhalang maka output Op-Amp selalu dalam keadaan 4,5 Vdc – 5 Vdc atau berlogika 1 ( High).

  2. Pada keadaan sensor mendeteksi arah angin atau tidak terhalang maka output Op- Amp dalam keadaan 0 Vdc – 0,4 Vdc atau berlogika 0 ( low).

  3. Setiap kaki Mikrokontroler AT89S51 pada Port.1.0 - Port.1.7 bertugas untuk mendeteksi sensor arah angin yang bekerja dalam logika 0.

  4. Setiap sensor mendeteksi maka akan ditampilkan ke LCD arah angin manakah yang terdeteksi.

  5. Alat penunjuk arah angin menggunakan aplikasi mikrokontroler AT89S51 dengan tampilan LCD dalam pengujian memberikan performasi yang cukup bagus, stabil dan handal, karena dapat difungsikan secara otomatis.

DAFTAR PUSTAKA

  Budiharto, Widodo, 2005, Perancangan Sistem Aplikasi Mikrokontroler, PT Elek Media Komputindo, Jakarta. Eko Putro, Afgianto, 2003, “Mikrokontroler”, GAVA MEDIA, Yogyakarta. Hartono, 2006., Modul Mata Kuliah Perancangan Rangkaian Analog 3 “Operational Amplifier (Op-Amp)”. Malvino, Barmawi, 1991, ” Prinsip-Prinsip Elektronika”, PT Erlangga, Jakarta. Priyanto, Anton, 2004, Kendali Wireless Berbasis Mikrokontroler AT89C51, laporan Kerja Praktek Nyata II, Institut Sains & Teknologi Akprind Yogyakarta. Wasito S. 1985, Data Sheet Book 1, Data IC Linier, TTL, dan CMOS, PT Elek Media Komputindo, Jakarta. http://www.atmel.com http://www.delta-electronic.com