Docstoc

APLIKASI MIKROKONTROLER PIC16F84 UNTUK PENGERING TANGAN

Document Sample
APLIKASI MIKROKONTROLER PIC16F84 UNTUK PENGERING TANGAN Powered By Docstoc
					2222222
                              http://microrobotics.blogspot.com




                                                Gambar hanya
                                                ilustrasi




            MUDAH KOK
          BELAJAR SENDIRI



                                        Moh.Ibnu Malik,ST

                      Naufal Micro & Robotics
                 Email : mailto:naufalrobotics@gmail.com
             Disclaimer :

Special Report ini memiliki hak cipta.
Dilarang memperbanyak tanpa seijin
penulis.

Customer Name :

      All Right Reserved © 2010
                                       ABSTRAKSI


        Dalam kehidupan yang semakin modern ini, peralatan yang serba otomatis

seakan-akan sudah menjadi kebutuhan. Jika kita pernah pergi ke luar negeri maka kita

akan tahu bahwa pada bandara-bandara yang besar, toilet-toiletnya serba otomatis. Jadi

apabila kita telah selesai buang air kecil misalnya, maka toiletnya kan segera menyiram

dengan air dengan sendirinya.

        Hal ini bukan hanya untuk gaya-gaya-an, namun dengan sistem yang otomatis

tersebut akan berdampak tidak diperlukannya orang sebagai tenaga pembersih pada

bandara yang besar yang tentu saja jumlah toiletnya puluhan.

        Nah salah satu alat perlengkapan adalah alat untuk pengering tangan otomatis (

Hand Dryer ). Hand dryer ini tidak hanya dipasang pada toilet-toilet modern, namun juga

dipasang pada rumah makan seperti Mc Donal, KFC dll. Fungsinya tentu saja untuk

mengeringkan tangan setelah mencuci tangan sehabis makan..

        Pada Special Report ini akan di buat simulasi alat pengering tangan yang tidak

saja otomatis ( menyala sendiri jika tangan kita taruh dibawah alat ). Namun juga dapat

menampilkan tulisan lewat tampilan LCD-nya. Diharapkan dengan adanya tampilan LCD

ini, alat menjadi lebih interactive.




                  ( Kata kunci : mikrokontroller, Liquid Crystal Display )
                                         BAB I

                                   PENDAHULUAN



1.1    Latar Belakang Masalah

       Dewasa ini perkembangan kehidupan sudah sedemikian tinggi. Semua serba

otomatis. Hal ini tentu saja didukung oleh perkembangan dunia elektronika yang semakin

meningkat saja.

       Banyak alat berteknologi tinggi dan serba otomatis ada di sekitar kehidupan kita.

Semuanya sangat memudahkan kita dalam menjalani kehidupan ini. Salah satu alat yang

akan kita bahas adalah alat pengering tangan otomatis yang sering kita temukan pada

rumah makan modern seperti Mc Donald, KFC, AW dll.

       Alat ini digunakan untuk mengeringkan tangan seseorang setelah membasuh

tangannya dengan air. Alat ini berguna agar tangan kita dapat segera kering dan kita lebih

percaya diri meninggalkan rumah makan tersebut.

       Perbedaan antara alat yang dirancang ini dengan alat yang sudah tersedia di

pasaran adalah bahwa pada alat ini dilengkapi dengan LCD. Layar LCD 16 x 2 baris

tersebut dapat digunakan untuk “iklan” atau untuk menunjukkan informasi lainnya.



1.2    Tujuan Penulisan

       Tujuan dari penulisan special report ini adalah untuk merancang alat pengering

tangan ( Hand Dryer ) yang bersifat otomatis dan dilengkapi dengan tampilan LCD 2

baris. Adanya LCD tersebut dapat dimanfaatkan untuk apa saja, misalnya untuk
menampilkan “iklan” seperti “Selamat Datang di Mc Donald”, “ Dapatkan Diskon sampe

10% “ dll atau apa saja tergantung kebutuhan.

       Hal ini tentu bernilai ekonomis. Jadi pada saat orang sedang mengeringkan

tangan, maka orang tersebut dapat melihat teks-teks “iklan” atau informasi apapun yang

ingin disampaikan.



1.3    Pembatasan Masalah

       Karena keterbatasan kemampuan penulis, maka dalam penulisan special report

ini penulis melakukan pembatasan-pembatasan sebagai berikut.

       1. Akan menggunakan teknologi mikrokontroler sebagai kontrol utama pada alat

           Simulasi Pengering Tangan Otomatis.

       2. Jenis mikrokontroler yang akan dipakai adalah mikrokontroler PIC16F84/A

       3. Sistem sensor akan menggunakan sensor Infra Merah dengan komponen

           utama LED Infra Merah dan Photodiode.

       4. LCD akan menggunakan LCD berbasis teks dengan kemampuan 2 baris x 16

           karakter.

       5. Sebagai alat pengering, akan menggunakan “mesin” pada Hair Dryer

           standard.
1.3   Sistematika Pembahasan



             Pembahasan buku special report ini terdiri dari lima bab dan tersusun

      sebagai berikut.




      BAB I :

                Berisi penjelasan yang menerangkan mengenai latar belakang masalah,

                 tujuan special report, pembatasan masalah dan sistematika pembahasan.

      BAB II :

                 Bab ini membahas tentang teori-teori pendukung yang berhubungan

                 dengan komponen yang akan digunakan dalam perancangan.

      BAB III :

                 Bab ini merupakan pembahasan tentang proses perancangan dan

                 realisasi sistim alat pengering tangan otomatis.

      BAB IV :

                 Berisi tentang penjelasan hasil pengujian dari alat yang dibuat.

      BAB V :

                 Bab Penutup yang berisi kesimpulan dari keseluruhan pembahasan dan

                 saran-saran.
                                       BAB II

                                   LANDASAR TEORI



       Pada saat ini telah banyak alat otomatis disekitar kita. Sebagai contoh adalah

toilet otomatis yang dapat menyiram air setelah penguna meninggalkan toilet tersebut.

Apabila dicermati, maka pada toilet tersebut terdapat sensor khusus yang akan

menembakkan sinar infra merah.

       Jika ada orang yang mendekati toilet tersebut dan buang air kecil, maka sensor

akan aktif karena sinar infra merah yang di tembakkan dipantulkan oleh adanya orang

tersebut. Nah setelah orang tersebut selesai buang air kecil, maka tidak ada lagi sinar

yang dipantulkan. Jika hal demikian terjadi, maka air akan segera dikucurkan untuk

membersihkan toilet dalam jangka waktu tertentu..

       Saat ini sensor infra merah juga banyak digunakan pada alat-alat lain misalnya

pada alat di industri untuk mendeteksi keberadaan suatu benda. Sebagai contoh adalah

untuk menghitung jumlah produk pada suatu ban berjalan ( conveyor ) biasanya

menggunakan sensor infra merah tersebut.

       Kemajuan dunia elektronika juga dapat kita rasakan dalam hal urusan tampilan.

Pada jaman dahulu untuk menampilkan angka misalnya, maka kita harus menggunakan

penampil tujuh segmen ( 7 segment display ). Alat lama yang menggunakan ini

diantaranya adalah kalkulator jaman dahulu. Kelemahannya adalah alat menjadi boros

daya dan tampilan terlihat kaku.

       Nah saat-saat sekarang ini untuk urusan menampilkan informasi dapat

menggunakan LCD display. LCD display ini sering kita temui pada penampil di telepon
umum misalnya. Dengan menggunakan penampil LCD ini maka ada beberapa kelebihan.

Diantaranya adalah dapat menampilkan baik angka maupun huruf serta karakter lain.

Selain itu juga lebih hemat daya. Penampil LCD saat ini tersedia dalam beberapa ukuran

diantaranya adalah 16x1 , 16 x2 sampai dengan 16 x 4. Enambelas adalah jumlah

karakter, sementara 1,2,3,4 adalah jumlah baris.

       Pada special report ini selain menggunakan komponen-komponen seperti

diterangkan diatas, juga akan menggunakan teknologi mikrokontroler sebagai pengontrol

utamanya. Pengontrolan menggunakan mikrokontroler memiliki beberapa kelebihan bila

dibandingkan pengontrolan menggunakan gabungan IC-IC digital.

       Jika menggunakan mikrokontroler, maka apabila ada perbaikan alat atau

penambahan fitur, maka tidak perlu merubah hubungan alat secara fisik ( hardware ).

Perubahan hanya dilakukan dengan jalan merubah program ( firmware ). Jadi

penggunaan mikrokontroler dewasa ini sangat membantu dalam hal perancangan alat.

       Jenis mikrokontroler sendiri saat ini ada beberapa jenis, namun penulis akan

menggunakan salah satu jenis mikrokontroler yaitu PIC16F84/A.                Pemilihan ini

didasarkan pada bentuk fisik yang cukup kecil ( berukuran total 18 pena ).



2.1    Mengenal Mikrokontroler PIC16F84/A

       Mikrokontroler PIC16F84/A merupakan mikrokontroler buatan Microchip Inc

yang berbasis di Amerika Serikat. Pabrikan ini telah banyak membuat jenis

mikrokontroler yang keseluruhannya tergabung dalam keluarga PICmicro.

       Mikrokontroler ini walapun dengan ukuran yang cukup kecil, namun dapat

dikatakan cukup lengkap. Beragam alat dapat dikontrol menggunakan mikrokontroler
ini.. Pada mikrokontroler ini didalam chip-nya sudah terkandung unsur-unsur pembentuk

suatu sistem komputer lengkap yaitu CPU, ROM, RAM dan I/O.




                                            CPU

                                         ROM/Flash

                                            RAM

                                             I/O


                    Gambar 1 Komponen penyusun sistem mikrokontroler



       Fungsi dari masing-masing bagian penyusun sebuah mikrokontroler adalah

sebagai berikut.



   a. CPU ( Central Processing Unit )

       CPU merupakan pengontrol utama pada mikrokontroler. CPU ini dapat

       menangani data dengan lebar data 8-bit. CPU ini akan membaca program yang

       tersimpan dalam ROM/Flash memori dan akan melaksanakannya.



   b. ROM/Flash Memory

       ROM merupakan singkatan dari Read Only Memory yaitu berarti bahwa memori

       tersebut hanya dibaca isinya. ROM/Flash dipergunakan untuk menyimpan

       program/instruksi untuk mikrokontroler. Setelah diisikan ke dalam ROM/Flash,

       maka isinya tidak akan terhapus walaupun satu daya dihilangkan.
      c. RAM

          RAM merupakan Random Access Memory yaitu suatu memori yang dapat dibaca

          secara acak. Selain itu sifat RAM adalah bahwa isinya akan terhapus bila catu

          daya kepadanya dihilangkan. RAM dipakai untuk menyimpan data yang sifatnya

          sementara selama pelaksanaan program.



      d. I/O / PORT

          I/O merupakan singkatan dari Input/Ouput. I/O juga disebut port mikrokontoler.

          Dengan adanya I/O tersebut, maka mikrokontroler dapat berhubungan dengan alat

          luar. Port I/O tersebut dapat dihubungkan dengan LED, Saklar, LCD dll. Pada

          mikrokontroler PIC16F84/A terdapat 13 line Port I/O.



2.2       Kelengkapan Mikrokontroler PIC16F84/A

          Mikrokontroler PIC16F84/A ini memang tidaklah yang paling lengkap dari

jajaran produk Microchip Inc, namun produk ini adalah produk yang paling digemari

untuk mempelajari mikrokontroler PIC tersebut. Kebanyakan orang akan menggunakan

jenis ini untuk berkenalan dengan keluarga mikrokontroler PICmicro.

          Sebenarnya produk Mikrokontroler dari keluarga PICmicro ini sangatlah banyak,

sehingga malah menjadikan bingung untuk memilihnya. Namun demikian kita dapat

mencoba salah satu dari keluarga mikrokontroler PIC tersebut.

          Pada mikrokontroler PIC16F84/A ini terdapat beragam kelengkapan sebagai

berikut
   a. Hanya memerlukan 35 instruksi

   b. Semua instruksi berukuran 14-bit

   c. Data berukuran 8-bit

   d. Memori program berukuran 1024 x 14 pada Flash memori

   e. 68 x 8 Register kegunaan umum ( SRAM= Statik RAM )

   f. 15 Register Kegunaan khusus

   g. Data memori berukutan 64 x 8 pada EEPROM

   h. Delapan tingkat stack perangkat keras

   i.   Empat sumber sela ( interupsi ).

   j.   Memiliki 13 buah I/O yang terbagi menjadi Port A dan Port B

   k. Dapat langsung men-drive LED

   l.   Terdapat timer 8-bit dengan pembagi 8-bit

   m. Dapat memakai beberapa jenis osilator

   n. Berukuran fisik hanya 18 pena



   2.3 Susunan kaki Mikrokontroler PIC16F84/A
        Dimensi fisik mikrokontroler PIC16F84/A adalah cukup kecil. Ia hanya

menggunakan total 18 pin ( pena ) sehingga mirip dengan IC Digital pada umumnya.

Orang awam mungkin tidak menyangka bahwa ia merupakan sebuah komputer didalam

chip.

        Dengan ukuran fisik yang kecil tersebut, menjadikan mikrokontroler ini dapat

ditanamkan sebagai kontroler untuk peralatan apa saja walaupun peralatan tersebut

menggunakan sumber daya dari baterai.
Adapun pin-pin mikrokontroler ini yang total berjumlah 18 buah susunannya dapat

dilihat pada gambar berikut ini.




                     Gambar 2 Susunan pena mikrokontroler PIC16F84



   Tabel 1 Berikut ini adalah penjelasan dari pena-pena pada mikrokontroler PIC16F84.


           Nama Pena               No Pena             Keterangan
     Vdd                       14            Sumber daya Positif (+2~+6Volt)
     Vss                       5             Ground
     OSC1/CLKIN                16            Masukan untuk detak
     OSC2/CLKOUT               15            Output detak
     MCLR                      4             Master clear ( aktif rendah )
     RA4/TOCKI                 3             Port A bit 4 / Masukan untuk Timer
     RA0                       17            Port A bit 0
     RA1                       18            Port A bit 1
     RA2                       1             Port A bit 2
     RA3                       2             Port A bit 3
     RB0/INT                   6             Port B bit 0 / Masukan sela
     RB1                       7             Port B bit 1
     RB2                       8             Port B bit 2
    RB3                        9                Port B bit 3
    RB4                        10               Port B bit 4
    RB5                        11               Port B bit 5
    RB6                        12               Port B bit 6
    RB7                        13               Port B bit 7




2.4 Fitur Mikrokontroler PIC16F84/A

       Mikrokontroler PIC16F84/A ini dapat bekerja dengan beragam jenis osilator.

Secara umum sebuah        mikrokontroler “kuno” selalu menggunakan osilator yang

dibangkitkan oleh sebuah kristal. Namun pada PIC16F84/A ini kita dapat menggunakan

beragam jenis osilator seperti kristal, resonator sampai ke R-C osilator. Keragaman

penggunaan jenis osilator ini akan membantu pembuatan rangkaian berbasis

mikrokontroler ini.


   2.4.1 Jenis – Jenis Osilator yang dapat dipakai
       Osilator merupakan komponen yang sangat penting bagi sebuah mikrokontroler.

Jika suatu mikrokontroler tidak diberikan osilator ( detak / clock ) maka dapat dipastikan

bahwa mikrokontroler tersebut tidak akan bekerja. Kegunaan osilator adalah untuk

menyerempakkan kerja pada bagian-bagian mikrokontroler. Hal ini dikarenakan osilator

memberikan detak untuk proses internal pada mikrokontroler itu sendiri.

       Secara umum agar rangkaian osilator dapat bekerja dengan baik, maka kita harus

memberikan tambahan komponen yang berupa kristal ( XTAL ) dan 2 buah kapasitor.

Nah untungnya pada mikrokontroler ini dapat dipakai 4 jenis osilator. Hal ini akan

memudahkan dalam pemberian osilator tersebut.
       Adapun jenis Osilator yang dapat dipakai pada mikrokontroler PIC16F84/A dan

mikrokontroler pada keluarga PICmicro adalah :



   a. Osilator Jenis RC

       Osilator ini dibuat dengan menggunakan gabungan suatu gabunagan Resistor-

       Capasitor. Osilator ini merupakan osilator paling murah yang dapat dipakai. Jika

       rangkaian mikrokontroler tidak memerlukan pewaktuan yang presisi, maka dapat

       menggunakan jenis osilator ini.




                                 Gambar 3 Osilator jenis RC



   b. Osilator Jenis Kristal

       Apabila mikrokontroler dipakai dengan asumsi ada perhitungan waktu yang

       presisi, misalnya ada penggunaan fungsi timer sehingga diharapkan dapat

       menghasilkan perhitungan waktu yang presisi, maka untuk itu dapat dipergunakan

       jenis osilator yang menggunakan kristal / resonator. Pada resonator sudah terdapat
   kapasitor didalamnya sehingga tidak diperlukan kapasitor lagi. Resonator adalah

   komponen penghasil detak dengan jumlah kaki 3 buah.




                         Gambar 4 Osilator Kristal ( XTAL )


c. Osilator dari Detak Luar

   Selain menggunakan kedua jenis osilator diatas ( RC maupun Kristal/Resonator ),

   maka masih ada lagi cara untuk memberikan detak ( clock ) kepada

   mikrokontroler PIC16F84, yaitu dengan memberikan detak luar melalui pena

   OSC1.




                     Gambar 5 Cara Pemberian Detak dari Luar
   2.4.2 Arithmetic and Logic Unit ( ALU )
       Pada CPU mikrokontroler PIC16F84/A terkandung suatu ALU ( Arithmetic and

Logic Unit ) yang mampu menangani data dengan lebar 8-bit.             ALU ini mampu

melaksanakan operasi penjumlahan, pengurangan, pergeseran dan operasi logika. Kecuali

disebutkan lain, semua operasi memakai sistem komplemen dua.

       Pada pelaksanaan kerja suatu instruksi yang menggunakan 2 operand, maka

biasanya salah satu operand adalah Register W ( Working Register ). Sedangkan operand

yang lain adalah register File atau suatu konstanta.


   2.4.3 Sistem Reset

       Reset adalah suatu kondisi dimana mikrokontroler berada pada kondisi awal kerja

( default ). Pada kondisi ini, semua register akan berisi dengan nilai defaultnya. Sebagai

contoh Pencacah Program ( PC =            Program Counter ) akan berisi 000H yang

menunjukkan lokasi awal program yang harus dijalankan. Yang perlu diketahui adalah

bahwa pada mikrokontroler PIC16F84/A dikenal beberapa jenis reset yaitu


       a. Power On Reset ( POR )

           Adalah merupakan reset yang terjadi jika mikrokontroler pertama kali kita

           hidupkan ( Power On ). Pada saat ini maka PC = 000H. Untuk melakukannya

           cukup dengan menghubungkan pena MCLR ( Master Clear ) ke Vdd melalui

           resistor 10K.




   b. MCLR Reset selama operasi normal
            Yaitu suatu kejadian reset dimana CPU sedang bekerja secara normal, tiba-

            tiba pena MCLR dibuat rendah, maka akan terjadi reset ini.

       c.   MCLR Reset selama sleep
            Pada saat masuk kedalam mode sleep, maka daya yang digunakan akan

            berkurang, hal ini sangat berarti pada alat yang didayai baterai. Pada saat sleep

            ini, ia dapat diaktifkan lagi dengan memberikan sinyal rendah pada pena

            MCLR.

       d. Reset Time Out
            Adalah perhitungan yang telah selesai dari watchdog timer selama operasi

            normal.

      e.    Reset Time Out dari Watchdog Timer selama prosesor dalam mode sleep




   2.4.4       Memori Pada Mikrokontroler PIC16F84/A
       Program untuk mikrokontroler ini disimpan dalam suatu Flash memory yang

berukuran 1024 x 14. Flash memori ini dapat dihapus tulis beberapa ribu kali tanpa

mengalami kerusakan, sehingga cocok untuk dipakai dalam proses pengembangan alat.

       Pencacah program ( PC = Program Counter ) pada mikrokontroler ini memiliki

lebar 13-bit dan mampu mengalamati hingga 8K x 14 ruang program memori. Namun

hanya permulaan 1K ( 1024 ) x 14 saya yang diwujudkan yaitu dari alamat 0000H sampai

03FFH.

       Vektor reset memiliki alamat 0000H yang berarti bahwa pada saat terjadi reset,

maka PC tersebut akan berisi alamat 0000H. Sementara vektor sela adalah 0004H yang

berarti bahwa bila terjadi sela ( sela diaktifkan ), maka PC akan menuju alamat 0004H.
   Peta program memori dapat dilihat pada gambar berikut.




                        Gambar 6 Peta program memori dan stack




   2.4.5 Organisasi Register File
       Register adalah suatu lokasi memori yang bertanggung-jawab terhadap suatu alat

dalam mikrokontroler. Untuk mengatur alat pada mikrokontroler tersebut dilakukan

dengan mengatur register yang berpadanan dengan alat tersebut.

       Sebagai contoh untuk mengatur bit-bit mana yang sebagai masukan atau keluaran

pada Port A dilakukan dnegan mengatur register TRISA. Untuk mengatur bit-bit mana
segabagi masukan atau keluaran pada port B dilakukan dengan mengatur isi register

TRISB.

       Register file diorganisasikan sebagai 128 x 8. Register ini dapat diakses baik

secara langsung maupun tidak langsung melalui register SFR ( File Select Register ).

Pada mikrokontroler ini register dimuatkan pada 2 halaman ( 2 bank ) yaitu bank 0 dan

bank 1. Pemilihan bank tersebut dilakukan dengan mengatur bit RP0 ( bit ke-5 pada

register STATUS ). Bila RP0 = 0 maka terpilih bank 0, bila RP0 = 1 maka terpilih bank

1. Berikut adalah gambar Peta register file.




                                 Gambar 7 Peta register File


   Dua belas lokasi pertama adalah digunakan untuk memetakan register fungsi khusus.

Sedangkan lokasi selanjutnya ( 0CH sampai 4FH ) merupakan register kegunaan umum

yang diwujudkan sebagai statik RAM.
   2.4.6 Port Mikrokontroler ( I/O )

       Mikrokontroler PIC16F84/A memiliki 2 buah port yang diberi nama Port A dan

Port B. Port A berukuran 5 bit ( RA0 ~ RA4 ) sementara Port B berukuran 8 bit ( RB0 ~

RB7 ). Ada beberapa port yang memiliki fungsi khusus yang dimultiplek dengan fungsi

umumnya. Yaitu RA4 juga merupakan masukan detak luar untuk menuju ke

Timer/Counter. Kemudian RB0 juga memiliki fungsi khusus sebagai masukan Interupt (

sela ). Selain itu pena RB6 dan RB7 juga merupakan masukan untuk proses download

program pada saat mikrokontroler diprogram.




2.5 LED Infra Merah

    LED infra merah secara fisik sama dengan LED pada umumnya. Salah satu ciri yang

membedakan adalah bahwa sinarnya tidak dapat terlihat oleh mata kita. Hal ini adalah

karena sinarnya infra merah bukan pada range sinar tampak. Untuk mengetahui apakah

LED tersebut dalam keadaan baik atau rusak, maka salah satu caranya adalah dengan

menggunakan kamera pada handphone.

       Pada saat LED infra merah menyala, maka sinarnya dapat tertangkap oleh

kamera pada handphone, dan kita dapat melihat bahwa LED tersebut menyala pada layar

di handphone kita.
                         Gambar 8 Pasangan LED IR dan Photodiode




              Untuk dapat mengindera adanya pancaran sinar infra merah, kita dapat

menggunakan beberpa komponen. Diantaranya adalah photodioda atau phototransistor.

Pasangan LED infra merah dan photodioda sering dipasang secara bersamaan dalam satu

wadah dan digunakan untuk memdeteksi adanya suatu benda.




       Gambar 9. Gambar asli Lampu LED IR (kiri ) dan Photodiode (kanan)




       Saat ini dalam telah tersedia sensor benda yang dapat mendeteksi keberadaan

suatu benda dari jarak tertentu yang dapat diatur. Didalamnya terdapat LED infra merah,

detector phototransistor, Rangkaian OP-AMP, dan sistem optik sehingga jarak jangkauan
sinar infra merahnya dapat lebih jauh. Untuk mendeteksi jarak benda yang relatif pendek,

dapat denga mudah dilakukan dengan memutar suatu variable resistor yang terdapat pada

modul tersebut.




2.6 Liquid Crystal Display

    Dalam banyak disain alat, digunakan LCD untuk menampilkan kondisi alat. Saat ini

dipasaran tersedia LCD dengan berbagai ukuran. Umumnya jumlah kolom yang tersedia

adalah 16 karakter. Sedangkan jumlah baris dari 1 baris hingga 4 baris. LCD 16 x 2

berarti memiliki 16 karakter dengan 2 baris.

       LCD ini akan dihubungkan dengan sistem mikrokontroler dengan menggunakan

sistem 4 bit agar tidak terlalu banyak port mikrokontroler yang dipakai. Total port

mikrokontroler yang dipakai untuk berhubungan dengan LCD adalah 6 jalur I/O.




                     Gambar 10 Contoh sebuah Liquid Crystal Display


   LCD secara umum memiliki 16 pena masukan yang didefinisikan sebagai berikut.
                           Tabel 2     Pena pada LCD


            No Pena                    Kegunaan
             1              Ground
             2              + 5 Volt
             3              V ref ( untuk mengatur
                            contrast )
             4              RS ( Register Select )
             5              R/W ( Read / Write )
             6              E ( Enable )
             7              D0 ( Data bit 0 )
             8              D1 ( Data bit 1 )
             9              D2 ( Data bit 2 )
             10             D3 ( Data bit 3 )
             11             D4 ( Data bit 4 )
             12             D5 ( Data bit 5 )
             13             D6 ( Data bit 6 )
             14             D7 ( Data bit 7 )
             15             Backlight ( + )
             16             Backlight ( - )



Dengan adanya LCD maka tampilan alat akan lebih komunikatif jika dibandingkan

dengan tampilan yang hanya menggunakan lampu LED.
                                        BAB III

                   PERANCANGAN SISTEM DAN REALISASI

3.1    Pendahuluan
       Bab ini akan membahas tentang cara perancangan alat menggunakan

mikrokontroler PIC16F84/A dan realisasinya sehingga menjadi alat sesuai yang

dikehendaki. Pada perancangan ini diperlukan sebuah sistem minimum mikrokontroler

PIC16F84/A.

       Sistem minimum adalah sebuah sistem dengan kondisi seminim mungkin, namun

sistim tersebut masih dapat bekerja dengan baik. Dahulu kala sebelum adanya

mikrokontroler, sistim minimum dibuat dari chip-chip terpisah yang terdiri dari

       a. Chip mikroprosessor ( CPU )

       b. Chip Memory Program ( EPROM )

       c. Chip Memory data ( RAM )

       d. Chip I/O ( Input – Output )

Namun seiring dengan kemajuan teknologi, maka chip-chip diatas dapat dibuat hanya

dalam sekeping alat sehingga terbentuklah mikrokontroler.

       Sistem    minimum     mikrokontroler    PIC16F84/A     terbangun    menggunakan

komponen-komponen sebagai berikut.

       a. Mikrokontroler PIC16F84/A

       b. Regulator tegangan 7805 ( penghasil tegangan + 5V )

       c. Resonator / Kristal sebagai penghasil detak ( clock )
3.2   Sistem Mikrokontroler PIC16F84/A

       Saat ini telah tersedia papan rangkaian yang     membentuk sistim minimum

mikrokontroler PIC16F84/A yang tersedia secara komersial. Hal ini memudahkan kita

jika hendak membuat alat kontrol berbasis mikrokontroler PIC16F84/A.

       Pada papan rangkaian ini terdiri dari regulator tegangan / penghasil tegangan 5

Volt yaitu IC 7805, Mikrokontroler PIC16F84/A, Resonator 4 MHz dan tombol reset.

Pada papan rangkaian ini juga dilengkapi dengan lubang-lubang yang dapat dipakai

untuk membentuk sistim yang lebih kompleks.

       Berikut adalah gambar papan rankaian untuk sistim minimum mikrokontroler

PIC16F84/A tersebut.




                Gambar 11 Sistim minimum mikrokontroler PIC16F84/A
       Dengan menggunakan papan rangkaian diatas, maka kita dapat membuat sistim

yang lebih besar lagi dalam hal ini adalah untuk membuat alat pengering tangan otomatis

yang memakai tampilan LCD ( Liquid Crystal Display ).




3.3   Liquid Crystal Display ( LCD )

         Untuk menampilkan status alat, maka kita akan menggunakan LCD ( Liquid

Crystal Display ). Hal ini agar alat terlihat lebih professional disamping dapat menuliskan

lebih banyak karakter bila dibandingkan dengan penampil lain.

         LCD yang akan digunakan adalah standard LCD. Pada umumnya walaupun

LCD dibuat oleh banyak manufaktur, namun menggunakan chip set yang sama yaitu :

HD 44780 buatan Hitachi. Hal ini menyebebkan LCD tersebut saling kompatibel.




                                    Gambar 12 Standard LCD.


         Saat ini banyak sekali LCD yang dibuat dengan beragam warna backlight.

Backlight adalah sumber sinar dibelakang LCD sehingga LCD dapat terlihat pada malam

hari. Jika tidak ada backlight, maka LCD tidak akan terlihat pada malam hari. Hal ini
karena sifat LCD yang tidak bersinar. Adanya backlight akan memberikan sifat warna

sesuai dengan warna LED yang dipergunakan sebagai backlightnya.

           Untuk antarmuka LCD tersebut diperlukan kira-kira 6 line mikrokontroler. 4

line diperlukan untuk data sedangkan 2 line lagi diperlukan untuk kontrol. Adapun

contoh hubungan antara mikrokontroler PIC16F84/A dengan LCD adalah sebagai

berikut.




                        Gambar 13 Hubungan LCD dengan mikrokontroler


              Adapun pin-pin pada LCD diperlihatkan pada gambar berikut. Disini

terdapat total 16 pin hubungan ke LCD. Masing-masing pin tersebut memiliki fungsi

tersendiri.
                        Gambar 14 Letak Pin-pin pada LCD



                    Tabel 3 Fungsi- Fungsi Pin Pada LCD


POSISI PIN   FUNGSI
 1           Ground

 2           + 5 Volt

 3           V ref ( Contrast Adjust )

 4           RS ( Register Select )

 5           R/W    ( Read / Write )

 6           E ( Enable Control line )

 7           D0 ( Data 0 )

 8           D1 ( Data 1 )

 9           D2 ( Data 2 )

 10          D3    ( Data 3 )

 11          D4    ( Data 4 )

 12          D5    ( Data 5 )

 13          D6    ( Data 6 )

 14          D7    ( Data 7 )
      15               Backlight +

      16               Backlight –


           Pin untuk data lebarnya 8 bit ( D0..D7 ) namun kita dapat menggunakan hanya

4 line saja, dengan demikian data ( 8 bit ) akan dikirimkan 2 kali.




3.4   Perancangan Sensor IR ( Infra Red )

      Sensor infra merah digunakan untuk mendeteksi apakah ada tangan yang diletakkan

dibawah alat. Jika ada tangan diletakkan dibawah alat, maka sensor infra merah akan

aktif dan memberitahukan alat sehingga alat akan mengaktifkan pengering ( dryer ).

       Sebuah LED Infra Merah akan memancarkan sinar infra merah. Sinar ini tidak

dapat kita lihat karena tidak termasuk spectrum sinar tampak. Oleh karena itu untuk

mengecek apakah LED infra merah memancarkan cahaya, dapat dilihat menggunakan

kamera pada handphone. Caranya arahkan kamera handphone pada LED tersebut yang

telah diberi catu daya. Apabila LED infra merah tersebut menyala, maka akan tampak

pada kamera handphone.

       Pada sisi LED infra merah akan dipasang sebuah photodioda. Photodioda adalah

sebuah dioda yang peka terhadap sinar infra merah. Photodioda ini bentuknya mirip

dengan LED infra merah. Apabila photodioda tersebut terpapar sinar infra merah, maka

dia akan menghantarkan arus dari anoda ke katoda.
      Adapun rangkaian sensor infra merah untuk sebuah LED infra merah adalah sebagai

      berikut.




                           Gambar 15 Rangkaian sensor Infra Merah



         Adapun cara kerja rangkaian diatas adalah sebagai berikut. Setelah catu daya

diberikan, maka LED Infra merah akan menyala dan mengeluarkan sinar infra merah.

Apabila saat itu tidak ada benda yang dekat dengan LED maka output komparator adalah

nol ( logika rendah ).

         Namun jika ada benda yang dekat dengan LED ( misalnya tangan kita ), maka

sinar infra merah akan memantul dan akan diterima oleh photodioda. Sebagai akibat

akhirnya maka output dari komparator menjadi tinggi ( logika tinggi ). Output sensor ini

nantinya akan diproses oleh sistem mikrokontroler untuk menentukan on-off nya relay.

Relay tersebut yang akan menentukan apakah alat hair dryer yang terpasang aktif atau

tidak. Untuk mengatur ke sensitifan alat ini dilakukan dengan mengatur trimmer 10K

yang ada pada rangkaian.



3.5    Pemrograman Mikrokonroler PIC16F84/A


         Sebelum alat jadi, ada tahapan yang harus dilakukan terlebih dahulu terhadap

mikrokontrolernya,       yaitu   memprogram    mikrokontroler.   Untuk    memprogram
mikrokontroler diperlukan suatu alat tambahan yang dinamakan programmer /

downloader.

       Namun sebelum proses pemrograman dilakukan, maka harus dipersiapkan

terlebih dahulu file hexa yang akan didownload ( di programkan ) ke mikrokontroler.

Adapun file hexa tersebut didapat dengan melakukan beberapa tahapan proses. Tahapan-

tahapan proses untuk mendapatkan file hexa adalah sebagai berikut.




                                     Membuat file
                                   sumber ( *.asm )



                                 Mengkompilasi file
                                  sumber ( *.asm )



                                   Menjadi file hexa
                                      ( *.hex )



                         Gambar 16. Urutan proses pembuatan file hexa


              File sumber dibuat dengan menggunakan editor teks ascii standard seperti

   Notepad. File yang dihasilkan dapat diberi ektensi ( *.asm ) yang berarti bahwa file

   tersebut adalah file assembly. Hal ini karena menggunakan kaidah bahasa assembly.




                         Gambar 17. Menulis file sumber pada Notepad
        Setelah didapat file sumber yang berupa file assembler, maka proses selanjutnya

   adalah mengkompilasi file tersebut menggunakan software yang sesuai. Hasil proses

   kompilasi akan berupa file hexa.




                        Gambar 18 . Proses kompilasi dengan MPASM


        Setelah selesai di kompilasi, maka akan dihasilkan file baru yang berektensi

   *.hex. File ini kemudian akan dimasukkan ke mikrokontroler dengan menggunakan

   software khusus untuk memasukkan ke dalam mikrokontroler.




                 Gambar 19. Alat downloader ke mikrokontroler PIC16F84/A


        Cara menggunakan alat ini adalah sebagai berikut . Alat diatas dihubungkan

dengan komputer pada parallel port. Kemudian bagian konektor ICSP dihubungkan
dengan terminal ICSP pada papan rangkaian. Software untuk download dibuka dan

proses download akan segera berjalan.




           Untuk melakukan pengisian program kepada mikrokontroler “kosong” dapat

dilakukan dengan rangkaian downloader diatas ditambah dengan software yang sesuai

seperti software ICProg bawaan dari alat tersebut.




                  Gambar 20 Software Pengisi mikrokontroler PIC16F84




   Adapun urutan kerja untuk mengisi mikrokontroler PIC16F84 adalah sebagai berikut.
1. Pertama adalah kita menuliskan kode program menggunakan pengolah kata (

    notepad ) maupun program editor teks yang lain. File yang dituliskan

    kemudian disimpan dan diberi ektensi *.asm.

2. File tersebut kemudian dikompilasi menggunakan MPASMwin sehingga

    dihasilkan file baru dengan ektensi *.hex.

3. File *.hex tersebut baru kemudian dimasukkan ke dalam mikrokontroler

    dengan program ICprog diatas.




Adapun cara setting sebelum menggunakan software ICprog adalah sebagi berikut

ini :

a. Pilihlah menu “Settinga” kemudian pilih “Hardware” pilih jenis programmer

    sebagai “AN589Programmer”

b. Pilih Port sebagai “Port1” ( default ) atau disesuaikan dengan kondisi

    komputer anda.

c. Atur I/O Delay sesuai dengan kecepatan komputer anda. Sebagai contoh

    untuk komputer Pentium III 700 MHz delay diatur ke 10. Anda dapat

    berekperimen jika kecepatan komputer anda beda. Semakin cepat komputer

    anda, semakin besar nilai delay yang harus diberikan.
            Gambar 21 Setting software ICprog sebelum digunakan




d. Pilih menu “Setting” kemudian pilih “Option” pilih “Misc” dan pilih ( centang

   ) “Enable NT/2000/XP Driver” jika anda menggunakan Windows XP.




                Gambar 22 Setting Driver untuk Windows XP




e. Pilih jenis mikrokontroler yang akan dipakai yaitu PIC16F84/A.
Adapun cara memprogram mikrokontroler dengan menggunakan software ICprog

adalah sebagai berikut.

a. Pastikan setting diatas sudah dikerjakan

b. Klik “open file” dan ambilan file yang akan didownload ke mikrokontroler (

   *.hex )

c. Pilh jenis osilator. Jika anda menggunakan kristal maka pilih : ”HS”

d. Selanjutnya pilih ( centang ) : PWRT ( Power On Timer ).




                 Gambar 23 Cara memprogram Mikrokontroler
       e. Terakhir tekan tombol “Program All”. Nah proses pemrograman akan segera

         dimulai. Pastikan hardware DT-HiQ ICSP Programmer sudah dipasang pada

         parallel port komputer anda dan terminal ICSP telah dipasang pada terminal

         ICSP pada Board Mikrokontroler.




3.6   Perancangan Alat Secara Keseluruhan

         Pada tugas akhir ini akan dibuat alat yang dapat menyerupai hand dryer yang

biasa terdapat di rumah makan. Hand dryer ini digunakan untuk mengeringkan tangan

setelah kita makan. Alat ini biasanya berukuran besar dan tidak ada tampilan sama sekali.

         Disini akan dibuat alat menyerupai hand dryer tetapi dengan tambahan tampilan

mengunakan LCD ( Liquid Crystal Display ). Adanya LCD ini dapat digunakan untuk

menampilkan tulisan apa saja. Misalnya tulisan “Selamat Datang di RM. Bla..bla..bla”

dll. Secara umum adanya tampilan LCD akan memberikan komunikasi yang lebih baik

antara alat dengan penggunanya.




         Berikut akan diberikan diagram rancangan alat. Secara umum bagian-bagaian

komponen yang dibutuhkan adalah :

             a. Sistim minimm mikrokontroler PIC16F84/A

             b. Sistim sensor Infra Merah

             c. Sistem tampilan LCD

             d. Sistem relay
            Sensor                 Sistim Minimum                     Sistim
              IR                    Mikrokontroler                    Relay
                                     PIC16F84/A




                                     Sistim LCD



                         Gambar 24. Rancangan alat secara keseluruhan



         Adapun cara kerja alat secara keseluruhan adalah sebagai berikut. Pada saat alat

dinyalakan, alat akan menampilkan tulisan pada LCD. Sensor IR akan segera aktif untuk

mendeteksi adanya benda ( tangan ). Jika tangan kita ditaruh dibawah alat, maka sensor

IR akan segera mendeteksinya. Kemusian informasi ini akan dikirimkan ke sistim

mikrokontroler yang akan segera mengaktifkan relay.

     Aktifnya relay akan menyebabkan alat hair dryer yang tertanam pada alat akan aktif

sehingga menyebabkan adanya aliran udara panas menyembur dari alat. Setelah dirasa

cukup   kering, maka kita akan segera menarik tangan kita. Sensor IR akan segera

mendeteksi dan akan mengirimkan informasi ini ke mikrokontroler. Sebagai akibatnya,

maka relay akan mati dan hair dryer juga akan berhenti bekerja.
                                       BAB IV

                     PENGUJIAN ALAT DAN PENGAMATAN



        Pada bab ini akan dibahas tentang pengujian dan pengamatan alat tugas akhir

yang berupa pembuatan hand dryer yang bertampilan LCD.



4.1    Pengujian Sistim Sensor

       Sistim sensor digunakan untuk mendeteksi apakah tangan kita sedang ditaruh

dibawah alat atau tidak. Jika tangan sedang ditaruh dibawah alat, maka sinar Infra merah

pada rangkaian sensor yang dipancarakan akan dipantulkan oleh tangan kita sehingga

menyebkan photodioda menjadi aktif.

       Hal ini kemudian akan menyebabkan mikrokontroler mengaktifkan relay agar

mesin hair dryer didalam alat menjadi aktif dan sekaligus mengatur LCD untuk

menampilkan pesan tertentu.

       Untuk melakukan pengecekan terhadap sistim sensor maka dilakukan hal berikut

ini.
                                                                          +5 V



                                                              8
                                                      2
                                                          -           1
                                                                                 RA0
                                                      3   +
                                                                  4




                                Gambar 25 Rangkaian sensor



       Pasanglah sebuah voltmeter atau multimeter pada posisi GROUND dan output

dari op-amp ( No.1. ). Aktifkan rangkaian ( modul ) sensor tersebut dengan memberikan

catu daya. Catatlah bacaan pada voltmeter tersebut.

       Hasil pembacaan pada modul sensor adalah sebagai berikut :

                                            Tabel 4



                 KONDISI                          LED             BACAAN VOLMETER

       LED IR tidak tertutup tangan               MATI

          LED IR tertutup tangan                NYALA
        Hasil diatas menunjukkan adanya perbedaan logika pada output op-amp sehingga

perbedaan     logika     ini   dapat    diumpankan        kepada      sistim    mikrokontroler   agar

mikrokontroler membuat keputusan tertentu.




4.2   Pengujian Sistim Mikrokontroler PIC16F84/A

      Sistim mikrokontroler PIC16F84/A merupakan jantung dari alat ini. Oleh karena itu

harus dipastikan terlebih dahulu bahwa sistim mikrokontroler ini bekerja dengan baik.

Untuk melakukan ini maka cukup dilakukan dengan memberikan suatu program yang

sederhana saja.

      Program yang akan kita berikan adalah untuk membuat agar keseluruhan port pada

mikrokontroler berlogika rendah ( 0 ). Adapun program yang akan diberikan adalah

sebagai berikut.



      ;program test untuk membuat semua port berlogika rendah ( 0 )
      ;program : test.asm
      ;---------------------------------------------------------------------------
                 processor 16f84

      STATUS equ 0x03
      RP0 equ 5
      PORTA equ 0x05
      TRISA equ 0x85
      PORTB equ 0x06
      TRISB equ 0x86

             org 0x00
      init
             bsf STATUS,RP0                 ; ke halaman (bank) 1
             movlw 0h                       ; isi W reg dengan 0H
             movwf TRISB                    ; copy isi W ke TRISB
                                            ; port b sebagai keluaran(output)
       movlw 0h
       movwf TRISA            ; port a sebagai keluaran
       bcf STATUS,RP0         ; kembali ke halaman (bank)0

main
       movlw 0h
       movwf PORTB            ; semua port b dibuat rendah

       movlw 0h
       movwf PORTA            ; semua port a dibuat rendah

       end


Proses yang harus dilaksanakan adalah menuliskan program diatas pada Notepad.




                  Gambar 26 Penulisan program pada notepad
     Setelah program dituliskan maka proses selanjutnya adalah dilakukan proses

kompilasi menggunakan program MPASM. Proses selanjutnya adalah proses download

ke mikrokontroler.




                       Gambar 27 Proses Kompilasi program untuk test.



     Setelah melakukan proses downloading program test.asm maka selanjutnya hanya

perlu melakukan checking logika pada semua port mikrokontroler. Untuk melakukan ini

cukup dilakukan pengecekan dengan menggunakan multimeter saja dan menuliskan

hasilnya pada tabel berikut ini.
                        Tabel 5 Pengecekan Logika dengan Test.asm



             NAMA PENA                           LOGIKA YANG DIHASIKAN

                  RA0                                       RENDAH

                  RA1                                       RENDAH

                  RA2                                       RENDAH

                  RA3                                       RENDAH

                  RA4                                       RENDAH

                  RB0                                       RENDAH

                  RB1                                       RENDAH

                  RB2                                       RENDAH

                  RB3                                       RENDAH

                  RB4                                       RENDAH

                  RB5                                       RENDAH

                  RB6                                       RENDAH

                  RB7                                       RENDAH



     Setelah didapat bahwa seluruh kondisi port mikrokontroler semua berlogika rendah,

maka dapat dipastikan bahwa sistim mikrokontroler bekerja dengan baik.
4.3   Pengujian Sistim Tampilan LCD

      Untuk melakukan pengecekan LCD tidak ada cara lain selain dengan memberi

program pada mikrokontroler untuk menampilkan tulisan pada LCD. Untuk melakukan

hal ini maka kita memberikan program sebagai berikut.

      ;-----------------------------------------------------------------------------------------------
      ; testlcd.asm
      ; Pin-pin lcd
      ; 1= GND 2=+5V 3=Vref 4=RS 5=R/W 6=E
      ; 7= D0 8=D1 9=D2 10=D3 11=D4 12=D5
      ; 13=D6 14=D7 15=Backlight(+) 16=Backlight(-)
      ;------------------------------------------------------------
      ; Hubungan dengan Mikro
      ; RS dgn RB2 R/W dgn ground                     E dgn RB3
      ; D4 dgn RB4 D5 dgn RB5                    D6 dgn RB6         D7 dgn RB7
      ;
      ;---------------------------------------------------------------------------------------------------
      ;     cpu equates (memory map)
            processor 16f84
      status equ          0x03
      porta      equ      0x05
      portb      equ 0x06
      count1 equ          0x0c
      count2 equ          0x0d
      bits       equ      0x0e
      trisa      equ      0x85
      trisb      equ      0x86
      PDel0 equ 0x0c
      PDel1 equ 0x0d
      PDel2 equ 0x0e
      rcvreg equ          0x0f
      count      equ      0x10
      temp       equ      0x11
      ;------------------------------------------------------------
      ; bit equates
rp0        equ      5
;------------------------------------------------------------
           org 0x000
;
start
      bsf status,rp0                  ; menuju bank 1
      movlw b'00001'                  ; konfigurasi porta
      movwf trisa
      movlw         b'00000001' ; RB0 input lainnya output
      movwf         trisb
      bcf           status,rp0                 ; kembali ke bank 0

      movlw         b'11100'          ; status awal porta
      movwf         porta
      movlw         b'00000001'       ; status awal portb
      movwf         portb

      call          del_5          ;allow lcd time to initialize itself

      call          initlcd     ;initialize display
      call          display_line1

waste
    goto waste

;------------------------------------------------------------
display_line1
      bcf portb,3 ;E line low
      bcf portb,2 ;RS line low, set up for control
      call del_125           ;delay 125 microseconds

      movlw        0x80 ;control word = address first half
      call send
      bsf portb,2 ;RS=1, set up for data
      call del_125       ;delay 125 microseconds

      movlw 'T'              ;menuliskan tulisan TEST
      call send
      movlw 'E'
      call send
      movlw 'S'
      call send
      movlw 'T'
      call send
      movlw ' '
      call send
     movlw 'T'
     call send
     movlw 'E’
     call send
     movlw 'S’
     call send
     movlw 'T'
     call send
     movlw ' '
     call send
     movlw 'T'
     call send
     movlw 'E'
     call send
     movlw 'S'
     call send
     movlw 'T'
     call send
     movlw ' '
     call send
     movlw ' '
     call send
     return



;------------------------------------------------------------
initlcd bcf portb,3 ;E line low
        bcf portb,2 ;RS line low, set up for control
        call        del_125           ;delay 125 microseconds
        movlw 0x38 ;8-bit, 5X7 mode
  movwf bits        ;0011 1000
  call     flipbit ;output 4 MS bits (LS not used)
  call     pulse ;send bits
  call     del_125           ;delay
  movlw 0x28 ;4-bit, 5x7 mode
  movwf bits        ;0010 1000
  call     flipbit ;output 4 MS bits (LS not used)
  call     pulse ;get into 4-bit mode
  call     del_125
  movlw 0x28 ;4-bit, 5x7 mode
  call     send ;send both nybbles
  movlw 0x0c ;display on, no cursor
  call     send
  movlw 0x01 ;clear display
  call     send
  call     del_5 ;delay 5 milliseconds
  return
;------------------------------------------------------------
send       movwf bits
  call     flipbit
  call     pulse
  swapf bits,f ;swap MS and LS nybbles
  call     flipbit ;output what was LS nybble
  call     pulse
  call     del_125
  return
;------------------------------------------------------------

flipbit bcf         portb,4 ;default
   btfsc bits,4 ;test bit in "bits"
   bsf     portb,4 ;bit in "bits" set
   bcf     portb,5
   btfsc bits,5
   bsf     portb,5
   bcf     portb,6
   btfsc bits,6
   bsf     portb,6
   bcf     portb,7
   btfsc bits,7
   bsf     portb,7
   return
;------------------------------------------------------------
del_125 movlw 0x2a ;approx 42x3 cycles (decimal)
   movwf count1 ;load counter
repeat decfsz count1,f ;decrement counter
   goto repeat ;not 0
   return           ;counter 0, ends delay
;------------------------------------------------------------
del_5      movlw 0x29 ;decimal 40
   movwf count2 ;to counter
delay      call     del_125           ;delay 125 microseconds
   decfsz count2,f ;do it 40 times = 5 milliseconds
   goto delay
   return           ;counter 0, ends delay
;------------------------------------------------------------
pulse bsf portb,3 ;pulse E line
        nop                  ;delay
        bcf portb,3
        return

;----------------------------------------------------
            end
      ;------------------------------------------------------------


      Setelah    program       diatas    dikompilasi      dan     dimasukkan   ke   dalam   sistim

mikrokontroler, maka selanjutnya dapat dicek hasil yang tertera pada LCD. Apabila

tertulis tulisan TEST beberapa kali berarti sistim LCD telah bekerja dengan baik. Jika

LCD tidak menampilkan tulisan cobalah terlebih dahulu untuk mengatur VR ( variable

resistor ) untuk mengatur “Contrast” atau “Brightness” dari LCD. Apabila tidak tampil

satupun huruf pada LCD, maka cek terlebih dahulu semua hubungan kabel dari sistim

mikrokontroler ke sistim LCD.




                           Gambar 28 Hasil Tampilan program testlcd.asm



4.4   Pengecekan Sistem Keseluruhan

        Setelah melakukan pengecekan secara bagian demi bagian, maka kini akan

dilakukan pengecekan secara keseluruhan. Hubungkan bagian sensor dengan sistim

mikrokontroler dan LCD. Setelah mendownload program dyer.asm ke dalam sistim

mikrokontroler, maka akan dapat segera dilakukan pengecekan secara keseluruhan. Hasil

pengecekan secara keseluruhan akan dituliskan pada tabel berikut ini.
                       Tabel 6 Pengamatan alat secara keseluruhan

           KONDISI LED IR                           KONDISI RELAY

       LED DITUTUPI TANGAN                                NYALA

   LED TIDAK DITUTUPI TANGAN                               MATI




       Berdasar hasil pengamatan diatas, maka dapat disimpulkan bahwa alat telah

bekerja dengan baik.
                                      BAB V

                           KESIMPULAN DAN SARAN



5.1   Kesimpulan

      Dari hasil perancangan dan realisasi perangkat keras dan perangkat lunak serta

pengujian secara keseluruhan terhadap special report yakni Simulasi Alat Pengering

Tangan Otomatis dapat diambil beberapa kesimpulan sebagai berikut.



      a. Penggunaan sensor menggunakan LED Infra Merah dan Photodiode dan

         sebuah IC OP-AMP hal ini agar lebih menjelaskan lagi cara kerja sensor,

         daripada menggunakan sensor jadi.

      b. Adanya tampilan LCD akan lebih menambah professionalisme alat. Selain itu

         LCD juga dapat menampilkan “pesan-pesan khusus” yang tidak dapat

         dilakukan oleh Alat Pengering Tangan sesungguhnya.

      c. Untuk pengembangan, dapat ditambahi program di mikrokontroler yang dapat

         menurunkan daya dengan cara mematikan back light pada layar LCD.
  1.2 Saran

        Berdasarkan pengamatan terhadap hasil pembuatan special report ini, maka

dapat diberikan saran-saran sebagai berikut.



     1. Penggunaan LCD dapat dipilih yang warna latar belakangnya ( back light )

         dapat dipilih sesuai kebutuhan.

     2. Jika ingin jarak jangkau sensor yang lebih jauh, maka dapat menggunakan

         sensor jadi namun harganya relatif mahal.
                              LAMPIRAN 1

         PROGRAM SIMULASI PENGERING TANGAN OTOMATIS



;============================================================
; Program untuk Hand Dryer ( Pengering Tangan - ber LCD )
; by : Naufal Micro & Robotics
;------------------------------------------------------------
; Clock Mode : HS
;------------------------------------------------------------
; Pin-pin lcd
; 1= GND 2=+5V 3=Vref 4=RS 5=R/W 6=E
; 7= D0 8=D1 9=D2 10=D3 11=D4 12=D5
; 13=D6 14=D7 15=Backlight(+) 16=Backlight(-)
;------------------------------------------------------------
; Hubungan dengan Mikro
; RS dgn RB2 R/W dgn ground                     E dgn RB3
; D4 dgn RB4 D5 dgn RB5                    D6 dgn RB6         D7 dgn RB7
;
;==============================================================
;
;
;
; RA0 = input sensor IR ( Infra RED )
; RA1 = output relay
;
;============================================================
;        cpu equates (memory map)
         processor 16f84
status equ        0x03
porta equ         0x05
portb equ 0x06
count1 equ        0x0c
count2 equ        0x0d
bits     equ      0x0e
trisa equ         0x85
trisb equ         0x86
PDel0 equ 0x0c
PDel1 equ 0x0d
PDel2 equ 0x0e
rcvreg equ        0x0f
count equ         0x10
temp equ          0x11
;------------------------------------------------------------
;        bit equates
rp0      equ      5
;------------------------------------------------------------
      org 0x000
;
start
      bsf status,rp0 ; menuju bank 1
      movlw b'00001' ; konfigurasi porta
      movwf trisa
      movlw b'00000001' ; RB0 input lainnya output
      movwf trisb
      bcf         status,rp0 ; kembali ke bank 0

     movlw b'11100' ; status awal porta
     movwf porta
     movlw b'00000001' ; status awal portb
     movwf portb

     call        del_5         ;allow lcd time to initialize itself

      call        initlcd         ;initialize display
      call        display_line1
      call display_line2
;-------------------------------;Tulisan "Pengering Tangan Otomatis ber-LCD"
      call delay1s
      call delay1s
      call delay1s
;--------------------------------
      call display_line2b ; Tulisan "Status WAIT"
      call delay5s

      call display_line2a ; Tulisan "Status AKTIF"
;----------------------------------
      call delay1s
      call display_line3a
      call display_line3b
;------------------------------- ; Tulisan "Selamat datang di KFC xxxxxx"
kondisi_awal

     bcf porta,1        ; matikan relay

cek_sensor_ir
    call display_line3a ; tulisan "Selamat Datang di KFC JAKARTA"
    call display_line3b
    btfsc porta,0
    goto aktifkan_relay
    goto kondisi_awal


aktifkan_relay
     call display_line4a ; Tulisan " Terima kasih Selamat Jalan"
     call display_line4b
     bsf porta,1      ; aktifkan relay
     call delay5s
     goto cek_sensor_ir



delay5s
    call delay1s
    call delay1s
    call delay1s
    call delay1s
    call delay1s
    return




;------------------------------------------------------------
display_line1
      bcf portb,3 ;E line low
      bcf portb,2 ;RS line low, set up for control
         call     del_125           ;delay 125 microseconds

     movlw      0x80     ;control word = address first half
      call      send
    bsf portb,2 ;RS=1, set up for data
      call    del_125        ;delay 125 microseconds

       movlw 'P'    ;define character
       call  send
    movlw 'E'
    call send
    movlw 'N'
    call send
    movlw 'G'
    call send
    movlw 'E'
    call send
    movlw 'R'
    call send
    movlw 'I'
    call send
    movlw 'N'
    call send
    movlw 'G'
    call send
    movlw ' '
    call send
    movlw 'T'
    call send
    movlw 'A'
    call send
    movlw 'N'
    call send
    movlw 'G'
    call send
    movlw 'A'
    call send
    movlw 'N'
    call send
    return

display_line2
     bcf portb,3
     bcf portb,2
     call del_125
     movlw 0xC0
     call send
     bsf portb,2
     call del_125
    movlw 'O'
    call send
    movlw 'T'
    call send
    movlw 'O'
    call send
    movlw 'M'
    call send
    movlw 'A'
    call send
    movlw 'T'
    call send
    movlw 'I'
    call send
    movlw 'S'
    call send


    movlw ' '
    call send
    movlw 'B'
    call send
    movlw 'E'
    call send
    movlw 'R'
    call send
    movlw '-'
    call send
    movlw 'L'
    call send
    movlw 'C'
    call send
    movlw 'D'
    call send

    return

display_line2a      ; TULISAN "AKTIF"
     bcf portb,3
     bcf portb,2
     call del_125
     movlw 0xC0
     call send
     bsf portb,2
     call del_125
    movlw 'S'
    call send
    movlw 'T'
    call send
    movlw 'A'
    call send
    movlw 'T'
    call send
    movlw 'U'
    call send
    movlw 'S'
    call send
    movlw ' '
    call send
    movlw ':'
    call send
    movlw ' '
    call send
    movlw ' '
    call send
    movlw ' '
    call send

    movlw 'A'
    call send
    movlw 'K'
    call send
    movlw 'T'
    call send
    movlw 'I'
    call send
    movlw 'F'
    call send


    return


display_line2b      ; TULISAN "WAIT"
     bcf portb,3
     bcf portb,2
     call del_125
     movlw 0xC0
     call send
    bsf      portb,2
    call     del_125


    movlw 'S'
    call send
    movlw 'T'
    call send
    movlw 'A'
    call send
    movlw 'T'
    call send
    movlw 'U'
    call send
    movlw 'S'
    call send
    movlw ' '
    call send
    movlw ':'
    call send
    movlw ' '
    call send
    movlw ' '
    call send
    movlw ' '
    call send

    movlw 'W'
    call send
    movlw 'A'
    call send
    movlw 'I'
    call send
    movlw 'T'
    call send
    movlw ' '
    call send


    return


display_line3a         ; TULISAN "Selamat Datang
     bcf portb,3
     bcf portb,2
     call del_125
    movlw 0x80
    call send
    bsf portb,2
    call del_125


    movlw 'S'
    call send
    movlw 'E'
    call send
    movlw 'L'
    call send
    movlw 'A'
    call send
    movlw 'M'
    call send
    movlw 'A'
    call send
    movlw 'T'
    call send
    movlw ' '
    call send
    movlw 'D'
    call send
    movlw 'A'
    call send
    movlw 'T'
    call send

    movlw 'A'
    call send
    movlw 'N'
    call send
    movlw 'G'
    call send
    movlw ' '
    call send
    movlw ' '
    call send


    return


display_line3b     ; TULISAN "DI KFC JAKARTA"
     bcf portb,3
bcf portb,2
call del_125
movlw 0xC0
call send
bsf portb,2
call del_125


movlw 'D'
call send
movlw 'I'
call send
movlw ' '
call send
movlw 'K'
call send
movlw 'F'
call send
movlw 'C'
call send
movlw ' '
call send
movlw 'J'
call send
movlw 'A'
call send
movlw 'K'
call send
movlw 'A'
call send

movlw 'R'
call send
movlw 'T'
call send
movlw 'A'
call send
movlw ' '
call send
movlw ' '
call send


return
display_line4a      ; TULISAN "Terima-kasih !"
     bcf portb,3
     bcf portb,2
     call del_125
     movlw 0x80
     call send
     bsf portb,2
     call del_125


    movlw ' '
    call send
    movlw 'T'
    call send
    movlw 'E'
    call send
    movlw 'R'
    call send
    movlw 'I'
    call send
    movlw 'M'
    call send
    movlw 'A'
    call send
    movlw ' '
    call send
    movlw 'K'
    call send
    movlw 'A'
    call send
    movlw 'S'
    call send

    movlw 'I'
    call send
    movlw 'H'
    call send
    movlw ' '
    call send
    movlw '!'
    call send
    movlw ' '
    call send
    return


display_line4b      ; TULISAN "Selamat Jalan"
     bcf portb,3
     bcf portb,2
     call del_125
     movlw 0xC0
     call send
     bsf portb,2
     call del_125


    movlw ' '
    call send
    movlw 'S'
    call send
    movlw 'E'
    call send
    movlw 'L'
    call send
    movlw 'A'
    call send
    movlw 'M'
    call send
    movlw 'A'
    call send
    movlw 'T'
    call send
    movlw ' '
    call send
    movlw 'J'
    call send
    movlw 'A'
    call send

    movlw 'L'
    call send
    movlw 'A'
    call send
    movlw 'N'
    call send
    movlw ' '
    call send
    movlw ' '
    call send
     return


;------------------------------------------------------------
initlcd bcf portb,3 ;E line low
      bcf portb,2 ;RS line low, set up for control
         call     del_125           ;delay 125 microseconds
         movlw 0x38 ;8-bit, 5X7 mode
         movwf bits        ;0011 1000
         call     flipbit ;output 4 MS bits (LS not used)
         call     pulse ;send bits
         call     del_125           ;delay
         movlw 0x28 ;4-bit, 5x7 mode
         movwf bits        ;0010 1000
         call     flipbit ;output 4 MS bits (LS not used)
         call     pulse ;get into 4-bit mode
         call     del_125
         movlw 0x28 ;4-bit, 5x7 mode
         call     send ;send both nybbles
         movlw 0x0c ;display on, no cursor
         call     send
         movlw 0x01 ;clear display
         call     send
         call     del_5 ;delay 5 milliseconds
         return
;------------------------------------------------------------
send movwf bits
         call     flipbit
         call     pulse
         swapf bits,f ;swap MS and LS nybbles
         call     flipbit ;output what was LS nybble
         call     pulse
         call     del_125
         return
;------------------------------------------------------------

flipbit bcf     portb,4 ;default
        btfsc   bits,4 ;test bit in "bits"
        bsf     portb,4 ;bit in "bits" set
        bcf     portb,5
        btfsc   bits,5
        bsf     portb,5
        bcf     portb,6
        btfsc   bits,6
         bsf      portb,6
         bcf      portb,7
         btfsc bits,7
         bsf      portb,7
         return
;------------------------------------------------------------
del_125           movlw 0x2a ;approx 42x3 cycles (decimal)
         movwf count1 ;load counter
repeat decfsz count1,f ;decrement counter
         goto repeat ;not 0
         return            ;counter 0, ends delay
;------------------------------------------------------------
del_5 movlw 0x29 ;decimal 40
         movwf count2 ;to counter
delay call        del_125           ;delay 125 microseconds
         decfsz count2,f ;do it 40 times = 5 milliseconds
         goto delay
         return            ;counter 0, ends delay
;------------------------------------------------------------
pulse bsf portb,3 ;pulse E line
         nop               ;delay
      bcf portb,3
         return

;----------------------------------------------------


delay1s
PDelay movlw .14        ; 1 set number of repetitions (C)
     movwf PDel0 ; 1 |
PLoop0 movlw .72         ; 1 set number of repetitions (B)
     movwf PDel1 ; 1 |
PLoop1 movlw .247         ; 1 set number of repetitions (A)
     movwf PDel2 ; 1 |
PLoop2 clrwdt         ; 1 clear watchdog
     decfsz PDel2, 1 ; 1 + (1) is the time over? (A)
     goto   PLoop2 ; 2 no, loop
     decfsz PDel1, 1 ; 1 + (1) is the time over? (B)
     goto   PLoop1 ; 2 no, loop
     decfsz PDel0, 1 ; 1 + (1) is the time over? (C)
     goto   PLoop0 ; 2 no, loop
PDelL1 goto PDelL2        ; 2 cycles delay
PDelL2 clrwdt        ; 1 cycle delay
     return      ; 2+2 Done
;------------------------------------------------------------
      end
;------------------------------------------------------------




                                            LAMPIRAN 2

                                             FOTO-FOTO




Foto Alat yang dibuat pada Prototype Board.
            LAMPIRAN 3

      RANGKAIAN SISTIM RELAY




                                  +9 V


                          RELAY
       1N4001




RA1                       BC109
      4K7
Keterangan :

File ini adalah file iklan dari Special Report sesungguhnya. Adanya baris yang kosong

memang di sengaja. Jika anda ingin mendapatkan Special Report yang utuh, anda dapat

membelinya melalui :



Naufal Micro & Robotics

Email : naufalrobotics@gmail.com

HP/SMS : 081 293 295 12

Harga Rp. 50.000,-

Transfer melalui :

*Bank Mandiri cabang Cikarang

A.n Moh.Ibnu Malik

No.Rek : 156 – 000 – 01 – 8944 – 1

                          Bank BCA No. Rek. 522-077-3754

                          Paypal ($5) : moh_ibnumalik@yahoo.com

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:2161
posted:12/30/2010
language:Indonesian
pages:69