ALAT UKUR TINGGI BADAN OTOMATIS BERBASIS MIKROKONTROLER AT89C2051
commit to user
i
ALAT UKUR TINGGI BADAN OTOMATIS BERBASIS MIKROKONTROLER AT89C2051
TUGAS AKHIR
Diajukan Untuk Mamenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Ilmu Komputer
Oleh :
Fadil Andang Samsudin M3307042
PROGRAM DIPLOMA III ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET
SURAKARTA 2010
(2)
commit to user
ii
HALAMAN PERSETUJUAN
ALAT UKUR TINGGI BADAN OTOMATIS BERBASIS MIKROKONTROLER AT89C2051
Disusun Oleh
Fadil Andang Samsudin NIM. M3307042
Tugas Akhir ini telah disetujui untuk dipertahankan Di hadapan dewan penguji :
Pada hari jumat tanggal 28 Januari 2011
Pembimbing Utama
Artono Dwijo Sutomo, S.Si, M.Si NIP. 19700128 199903 1 001
(3)
commit to user
iii
HALAMAN PENGESAHAN
ALAT UKUR TINGGI BADAN OTOMATIS BERBASIS MIKROKONTROLER AT89C2051
Fadil Andang Samsudin M3307042 dibimbing oleh :
Artono Dwijo Sutomo, S.Si, M.Si NIP 19700128 199903 1 001
Telah dipertahankan di depan Dewan Penguji Pada hari Jumat tanggal 28 Januari 2011
Dan dinyatakan telah memenuhi syarat
Dewan Penguji Tanda Tangan
1.Artono Dwijo Sutomo, S.Si, M.Si 1. NIP: 19700128 199903 1 001
2. Rudi Hartono, S.Si 2.
NIDN: 0626098402
3.Fendi Aji Purnomo, S.Si 3.
NIDN: 0626128402
Disahkan Oleh
Dekan Ketua Program Studi
Fakultas MIPA UNS DIII Ilmu Komputer UNS
Prof. Drs. Sutarno, M.Sc, Ph.D Drs. YS. Palgunadi, M. Sc
(4)
commit to user
iv ABSTRACT
Fadil Andang Samsudin.2010. Mikrokontroller AT89C2051 Based Height Measuring. Program Diploma III Computer Engineering, Faculty of Mathematich and Natural Sciences, UNS
This final taks has a purpose to produce the instrument to measure the heights which works outomatically it is addressed to the users in order to make the easier usage of this product. Besides that, it will make the faster solving problems in measuring the heights.
From the result above, the system uses mikrokontroller AT89C2051. The writing process of mikrokontroller AT89C2051 program uses assembly language. Also, port-port is connected to the input and output system. The result of connecting all devices, shows that an ultrasonic SRF04 which is connected to mikrokontroller AT89C2051 can do the order or command of mikrokontroller.
Based on the explanation above, the writer concludes that mikrokontroller AT89C2051 can be used as a automatically heights measurer.
(5)
commit to user
v ABSTRAK
Fadil Andang Samsudin.2010. Alat ukur tinggi Badan Otomatis Berbasis Mikrokontroler AT89C2051. Program Diploma III Teknik Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, UNS
Tujuan tugas akhir ini dimaksudkan untuk menghasilkan sebuah alat ukur tinggi badan yang bekerja secara otomatis, agar pemakainya menjadi lebih mudah dan mempercepat pekerjaan manusia dibidang alat ikur tinggi badan.
Dari hasil yang diatas sistem ini menggunakan mikrokontroler AT89C2051.penulisan untuk program mikrokontroler AT89C2051tersebut menggunakan bahasa Asembly, dan port-port terhubung ke inputdan output. Dari hasil perangkaian alat, menunjukan bahwa sensor ultrasonik SRF04 yang terhubung dengan mikrokontroler AT89C2051 dapat melakukan perintah suatu mikrokontroler.
Berdasarkan uraian diatas, penulis menyimpulkan bahwa mikrokontroler AT89C2051 dapat digunakan sebagai alat ukur tinggi badan otomatis.
(6)
commit to user
vi MOTTO
v Sesungguhnya sesudah ada kesulitan itu pasti ada kemudahan, maka apabila kamu telah selesai (dari sesuatu urusan), kerjakanlah dengan sungguh-sungguh (urusan yang lain). Dan hanya kepada Tuhanmulah hendaknya kamu berharap.
(QS. Al Intsirah : 6-8)
v Tuhan ada disini.. di dalam jiwa ini, berusahalah agar dia tersenyum.
(7)
commit to user
vii
PERSEMBAHAN
Belum banyak yang dapat aku berikan..hanyalah sebuah karya kecil ini sebagai cenderamataku dari Solo.
Akan kepersembahkan kepada orang-orang yang sangat berharga dalam hidupku:
v Allah SWT dan Rasulullah Muhammad SAW.
v Bapak dan Ibu yang tercinta yang selalu tulus mengasihiku.
v Saudara-saudaraku.
v Galuh Anindita, SwettApple.
v MB UNS.
(8)
commit to user
viii
KATA PENGANTAR
Puji syukur dan terima kasih penulis panjatkan kehadirat Allah SWT yang selalu melimpahkan rahmat, hidayah serta karunia-Nya kepada penulis sehingga penulis dapat menyelesaikan laporan tugas akhir dengan judul “ALAT UKUR
TINGGI BADAN OTMATIS BERBASIS MIKROKONTROLER
AT89C2051”
Penyusunan laporan tugas akhir ini disusun sebagai salah satu syarat menempuh Program Studi D3 Teknik Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.
Penulis menyadari bahwa dalam penyelesaian penulisan laporan ini, tidak lepas dari bantuan berbagai pihak, maka dalam kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar – besarnya kepada :
1. Bapak Dekan Prof. Drs. Sutarno, M.Sc, Ph.D, Staf dan seluruh Dosen di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta yang selama ini telah banyak membantu pada masa perkuliahan hingga terselesainya tugas akhir ini.
2. Bapak Drs. YS. Palgunadi, M. Sc selaku Ketua Program DIII Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.
3. Bapak Artono Dwijo Sutomo, S.Si, M.Si selaku pembimbing akademik dan dosen pembimbing tugas akhir yang telah banyak memberikan pengarahan, saran serta dukungan.
4. Kepada Bapak, Ibu, Mas Dito, dan saudara kembar penulis Ranggi yang sudah memberikan dorongan kepada penulis. Terima kasih untuk doa, kesabaran, dan pengertiannya. Semoga penulis bisa mewujudkan cita-cita Bapak dan Ibu. Amin
5. Seseorang yang sangat spesial. Galuh Anindita, terima kasih telah menemani hari-hariku yang indah, doa, kasih sayang, dan semangatnya di tiap waktu. 6. Keluarga besar TIM MB UNS khususnya angkatan 22 (dilla, petty, santi,
(9)
commit to user
ix
di MB tercinta. Dan juga semuanya keluarga besar MB UNS. Semoga MB UNS bisa lebih dikenal di dunia Marching Band Indonesia. UNS Jaya!!!! 7. Kos Jeruk beserta penghuninya. Tempat yang nyaman untuk berbagi suka dan
duka maaf kalau sudah sering jahil.
8. Teman – teman Program D III Tehnik Komputer yang telah memberikan saran, kritik dan semangat yang membangun demi kelancaran tugas akhir. 9. Seluruh pihak yang telah membantu kelancaran tugas akhir dan dalam
pembuatan laporan ini yang tidak dapat sisebutkan satu persatu. Terima kasih untuk bantuan yang diberikan
Penulis mengharapkan saran dan kritik dari pembaca untuk kesempurnaan laporan ini sehingga akan lebih baik dimasa yang akan datang. Dalam menyusun tugas akhir ini tidak lepas dari kesalahan maupun kekurangan, mengingat keterbatasan ilmu yang didapat penulis selama menempuh pendidikan, maka dari itu penulis mohon maaf yang sebesar-besarnya.
Surakarta, Agustus 2010
(10)
commit to user
x DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN ... ii
HALAMAN PENGESAHAN ... iii
ABSTRAK ... iv
MOTTO ... v
PERSEMBAHAN ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... viii
BAB I PENDAHULUAN ... 1
A. Latar Belakang ... 1
B. Tujuan ... 2
C. Rumusan Masalah ... 2
D. Batasan Masalah ... 2
BAB II LANDASAN TEORI ... 4
A Deskripsi Mikrokontroler AT89C2051 ... 5
1 Konfigurasi Pin ... 5
2 Deskripsi PIN AT89C2051 ... 5
3 Diagram Blok AT89C2051 ... 8
4 Karakteristik Oscilator ... 8
5 Register Fungsi Khusus/Spesial Function Register (SFR) .. 9
(11)
commit to user
xi
B Sesor ... 14
1 Sensor Ultrasonik ... 14
2 Sensor Jarak Ultrasonik Devantech SRF04 ... 16
3 Komponen – Komponen Yang Digunakan Lainnya ... 19
C Komponen – Komponen Yang Digunakan Lainnya ... 19
1 Resistor ... 19
2 Fixed Resistor ... 20
3 Variable Resistor ... 22
4 Kapasitor ... 23
5 Transistor ... 25
6 Daerah Kerja Transistor ... 27
7 Dioda ... 28
BAB III DESAIN DAN PERANCANGAN ... 32
A. Identifikasi Masalah ... 32
B. Sistem Blok ... 33
C. Analisa Kebutuhan ... 33
1 Hardware ... 33
2 Softwere ... 34
3 Alat Pendukung ... 35
4 Alur Tahapan Pembuatan ... 36
5 Rangkaian Keseluruhan Sistem ... 37
6 Rangkaian Minimum AT89C2051 ... 39
7 Rangkaian Sensor ... 40
8 Perancangan Softwere ... 41
BAB IV IMPLEMENTASI DAN ANALISA ………... 43
A Pengujian Visual Basic ... 43
B Pengujian Sistem AT89C2051 ... 45
(12)
commit to user
xii
D Pengujian Alat secara Keseluruhan ... 51
BAB VI PENUTUP
A Kesimpulan ... 53 B Saran ... 53
DAFTAR PUSTAKA ... 54 LAMPIRAN
(13)
commit to user
xiii
DAFTAR GAMBAR
Gambar 1. Konfigurasi Pin AT89C2051 ... 5
Gambar 2. Blok Diagram AT89C2051 ... 8
Gambar 3. Perakitan Oscilator ... 9
Gambar 4. Konfigurasi Eksternal ... 9
Gambar 5. Modul dan Koneksi sensor ultrasonic ... 16
Gambar 6. Devantech SRF04 Ranger ... 16
Gambar 7. Susunan kaki SRF04 ... 17
Gambar 8. Contoh rangkaian SRF04 ... 18
Gambar 9. Simbol resistor ... 19
Gambar 10. Resistor Single-In-Line ... 21
Gambar 11. Bentuk Fisik Resistor ... 21
Gambar 12. Bentuk Fisik Variable Resistor ... 22
Gambar 13. Simbol Kapasitor ... 23
Gambar 14. bentuk fisik kapasitor ... 25
Gambar 15. Transistor NPN dan PNP ... 25
Gambar 16. Penggunaan Transistor NPN ... 26
Gambar 17. Garis beban DC ... 27
Gambar 18. Simbol dan struktur dioda ... 27
Gambar 19. Dioda dengan bias maju ... 30
Gambar 20. Dioda dengan bias negatif ... 30
Gambar 21. Grafik arus dioda ... 31
Gambar 22. Diagram blok pengukur tinggi badan ... 33
Gambar 23. Tahapan Pembuatan alat ukur tinggi badan otomatis ... 37
Gambar 24. Rangkaian Skematik pengukur tinggi badan otomatis ... 38
Gambar 25. Rangkaian Minimum AT89C2051 ... 39
Gambar 26. Rangkaian Sensor Ultrasonik SRF04 ... 40
Gambar 27. Flowchart pengukur tinggi badan otomatis ... 42
Gambar 28. Rangkaian Pengujian Sensor ... 48
(14)
commit to user
xiv
DAFTAR TABEL
Tabel 1. Fungsi dan fitur spesial Port 3 yang bervariasi ... 7
Tabel 2. Peta Memori SFR dan Reset value ... 10
Tabel 3. Range finder sensor ultrasonic SRF04 ... 15
Tabel 4. Karakteristik SRF04 ... 17
Tabel 5. Hasil Pengukuran Jarak ... 49
Tabel 6. Hasil Pengujian Alat ... 52
(15)
commit to user BAB I
PENDAHULUAN
A. Latar Belakang
Salah satu dampak yang sangat diharapkan dengan adanya kemajuan ilmu pengetahuan dan teknologi adalah dapat membantu, mempermudah, dan mempercepat proses pekerjaan manusia. Dan hal tersebut diharapkan pula dapat menyentuh segala aspek kehidupan tanpa terkecuali.
Hadirnya kendali otomatis terutama yang berbasis elektronika dirasakan sebagai terobosan besar, yang mampu menghasilkan sistem minimal, murah, namun dengan hasil yang berguna dan memuaskan.
Di tengah masyarakat yang semakin modern ini, olahraga dan kesehatan tampaknya mulai menjadi sorotan, bahkan menjadi trend masa kini. Konsekuensinya keseimbangan antara berat dan tinggi badan merupakan patokan awal atas kondisi fisik seseorang, apakah ideal atau tidak.
Akan tetapi jika kita menengok pasar sekarang ini, dari kedua hal tersebut di atas (berat badan dan tinggi badan) akan sangat sulit sekali bagi kita untuk menemukan adanya alat ukur tinggi badan otomatis. Umumnya alat ini masih bersifat manual, di mana pengguna harus menaikkan atau menurunkan sendiri palang atas kepala, kemudian membaca petunjuk skalanya. Sementara itu, bagi anak kecil atau orang yang tubuhnya pendek tentu akan kesulitan atau bahkan tidak dapat melakukannya sendiri.
(16)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Oleh karenanya, perlu dirintis pembuatan alat ukur tinggi badan yang berbasis kendali elektronika, dengan harapan akan mempermudah penggunaannya sebagaimana halnya penggunaan alat ukur berat badan. Orang yang hendak mengetahui tinggi badannya cukup berdiri di depan alat, dan secara otomatis alat tersebut akan mengukur dan menampilkan hasilnya pada display.
B. Tujuan
1. Membangun suatu sistem (perangkat keras dan perangkat lunak) untuk sebuah alat ukur tinggi otomatis berbasis mikrokontroler AT89C2051.
2. Mengetahui unjuk kerja alat ukur tinggi badan berbasis mikrokontroler AT89C2051.
C. RumusanMasalah
1. Bagaimana rancangan perangkat keras dan perangkat lunak untuk aplikasi mikrokontroler AT89C2051 pada sistem alat ukur tinggi badan otomatis? 2. Bagaimana unjuk kerja alat ukur tinggi badan otomatis berbasis mikrokontroler
AT89C2051?
D. Batasan Masalah
1. Alat yang dibuat adalah bukan alat ukur murni, alat ini dilengkapi dengan sarana pencatat data-data pengukuran maupun interface untuk perangkat I/O lainnya misalnya hubungan ke komputer.
(17)
commit to user
3. Menggunakan sensor ultrasonic SRF04 sebagai pendeteksi. 4. Menggunakan komputersebagai hasil pengukuran.
5. Ketelitian pengukuran hingga orde centimeter.
6. Rentang pengukuran alat yang akan dibuat disesuaikan dengan tinggi badan tertinggi rata-rata bagi orang Indonesia. Sehingga diperkirakan minimal alat dapat mengukur hingga maksimal.
(18)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
4
BAB II
LANDASAN TEORI
A. Deskripsi Mikrokontroler AT89C2051
Mikrokontroler jenis AT89C2051 adalah sebuah CMOS mikrokomputer 8-bit bervoltase rendah yang memiliki performa tinggi dengan 2 Kilobyte Flash Programmable Erasable Read Only Memory (PEROM). Perangkat ini dihasilkan oleh teknologi high density nonvolatile memory technology yang terus dikembangkan pabrik ATMEL. Mikrokontroler ini kompatibel dengan standar industri MCS-51TM dari segi instruksi setnya. Dengan mengkombinasi sebuah CPU 8-bit versatile dengan Flash pada sebuah monolithic Chip, ATMEL89C2051 merupakan sebuah mikrokomputer yang sangat kuat dan memiliki fleksibilitas yang tinggi.
Mikrokontroler AT89C2051 menyediakan beberapa fitur standar, antara lain 2 K byte Flash memori, RAM 128 byte, 15 jalur input/output, 2 timer/counter 16-bit, 5 arsitektur interupsi jenis two-level, sebuah serial port yang dapat membaca dan mengirim sinyal dua arah (Full Duplex), sebuah analog komparator yang sangat presisi, oscilator on-chip dan circuit clock. Mikrokontroler AT89C2051 juga didesain dengan logika statis untuk operasi penurunan frekuensi sampai titik nol (frequency down to zero operation) dan mendukung 2 macam power saving software operasional mode. Pertama adalah mode Idle yang melakukan penghentian CPU dengan mengijinkan RAM, timer/counter, serial port, dan sistem interupsi untuk terus melanjutkan operasinya. Kedua adalah mode
(19)
commit to user
Power down yang melakukan penyimpanan isi dari RAM, melakukan pembekuan oscilator serta menghentikan semua proses pada fungsi-fungsi chip yang lain sampai hardware reset berikutnya.
1. Konfigurasi Pin
Gambar 1. Konfigurasi Pin AT89C2051
Mikrokontroler AT89C2051 memiliki beberapa port yang dapat dipakai sebagai port input maupun output, di samping port pendukung lainnya, yaitu port P1.0 sampai P1.7 dan port P3.0 sampai P3.7. Pemakaiannya harus disesuaikan dengan peraturan yang telah ditetapkan oleh produsen mikrokontroler ini.
2. Deskripsi PIN AT89C2051 VCC
Suplai tegangan (+) mikrokontroler GND
(20)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user Port 1
Port 1 adalah sebuah 8-bit input/output port yang 2 arah (bidirectional I/O port). Pin port P1.2 sampai P1.7 menyediakan pull-ups secara internal. P1.0 dan P1.1 juga berfungsi sebagai input positif (AIN0) dan input negatif (AIN1) yang bertanggung jawab pada pembanding sinyal analog yang ada di dalam chip. Keluaran port 1.0 membuat arus sebesar 20 mA dan dapat digunakan untuk menyalakan LED secara langsung. Jika sebuah program mengakses Port pin1, maka port ini digunakan sebagai port input. Ketika port pin 1.2 sampai 1.7 digunakan sebagai port input dan port-port tersebut diset secara pulled-low, maka port-port tersebut dapat menghasilkan arus (IIL) karena adanya interaksi pull-ups tadi. Port 1 juga dapat menerima kode/data saat memori flash dalam kondisi diprogram atau saat proses verifikasi dilakukan.
Port 3
Port 3 pin P3.0 sampai P3.5 adalah 6 input/output pin yang dapat menerima kode/data secara 2 arah (bidirectional I/O port) yang mempunyai fasilitas internal pull-ups. P3.6 adalah sebuah hardware yang digunakan sebagai input dan output dari komparator on chip, tetapi pin tersebut tidak dapat diakses sebagai port input/output standar. Port pin 3 dapat mengeluarkan arus sebesar 20 mA. Port 3 juga menyediakan fungsi dari fitur spesial yang bervariasi dari Mikrokontroler AT89C2051. Fungsi dan fitur spesial dari Mikrokontroler AT89C2051 dapat dilihat pada Tabel 1 di bawah ini :
(21)
commit to user
Tabel 1. Fungsi dan fitur spesial Port 3 yang bervariasi
Port Pin Alternate Functions
P3. 0 P3. 1 P3. 2 P3. 3 P3. 4 P3. 5
RXD (serial input port) TXD (serial output ) INT0 (external interrupt 0) INT1 (external interrupt 1) T0 (timer 0 external input) T1 (timer 1 external input)
Port 3 juga dapat menerima beberapa sinyal kontrol untuk keperluan pemrograman Flash memory dan verifikasi data.
RST
RST berfungsi sebagai kaki untuk input sinyal reset. Semua input/output (I/O) akan kembali pada posisi nol (reset) secepatnya ketika kaki reset (RST) tersebut berlogika tinggi/high condition. Menahan pin RST untuk dua cycle machine ketika suatu oscilator sedang bekerja akan mengakibatkan resetnya semua sistem device yang ada ke dalam zero position.
XTAL1
Sebagai input kepada inverting amplifier oscilator dan memberi input kepada internal clock operating sirkuit.
XTAL 2
(22)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user 3. Diagram Blok AT89C2051
Diagram Blok AT89C2051 dapat dilihat pada Gambar 2 di bawah ini.
Gambar 2. Blok Diagram AT89C2051 4. Karakteristik Oscilator
XTAL 1 dan XTAL 2 adalah suatu input dan output yang bertanggung jawab penuh dari sebuah amplifier inverting di mana XTAL – XTAL tersebut dapat dikonfigurasikan untuk digunakan sebagai on-chip oscilator. Gambar 3 menunjukkan rangkaian oscilator yang terbuat dari sebuah kristal quatrz atau resonator keramik. Dalam rangka pengaktifan perangkat ini dari sebuah external clock source, XTAL 2 harus dikondisikan tidak tersambung
(23)
commit to user
ketika XTAL 1 sedang diberi suatu sinyal/tegangan seperti yang ditunjukkan Gambar 4. Dalam posisi ini rangkaian tidak dibutuhkan lagi untuk mengkondisikan mikrokontroler ‘sedang proses’ atau duty cycle dalam menerima sinyal clock eksternal. Selama input, pada sirkuit clocking internal ada suatu sinyal dari sebuah device yang dibagi menjadi dua flip-flop. Namun tegangan minimum dan maksimum serta time pada posisi rendah (low) maupun tinggi (high) harus dianalisis terlebih dahulu.
Gambar 3. Perangkaian Oscilator Gambar 4. Konfigurasi Eksternal Clock Drive Catatan :
C1, C2 = 30 pF ± 10 pF untuk jenis kondensator kristal = 40 pF ± 10 pF untuk jenis resonator keramik 5. Register Fungsi Khusus/Spesial Function Register (SFR)
Sebuah peta memori yang terdapat pada on-chip memory area dan disebut sebagai Special Function Register (SFR) space memory pada Tabel 3.
Sebagai catatan, tidak semua alamat memori ditunjukkan pada tabel karena terbatasnya media. Alamat memori yang tidak terdapat dalam tabel
(24)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
biasanya sangat jarang digunakan atau diimplementasikan dalam suatu proyek. Akses baca (road access) pada alamat memori ini akan menghasilkan suatu data general yang bernilai acak atau random, sedangkan akses tulis (write access) akan mempunyai efek yang indeterminate.
Program user tidak boleh ditulis pada alamat yang tidak tercantum dalam tabel. Dalam kasus tersebut, memori reset atau nilai inactive dari bit yang baru akan selalu nol (0).
Tabel 2. Peta Memori SFR dan Reset value
(25)
commit to user 6. Batasan-batasan pada Instruksi Tertentu
Mikrokontroler AT89C2051 dan beberapa variannya adalah suatu jenis mikrokontroler yang terkenal cukup murah tetapi handal dari keluarga mikrokontroler ATMEL. Mikrokontroler tersebut memiliki 2 Kbyte Flash memori program. Mikrokontroler.
a. Instruksi-insruksi branching:
LCALL, LJMP, ACALL, AJMP, SJMP, JMP@+DPTR
Beberapa instruksi unconditional branching di atas akan dieksekusi secara benar selama software programmer selalu mengingat bahwa alamat destination branching harus jatuh di dalam batas ukuran memori kontroler (lokasi 00H sampai 7FFH digunakan untuk AT89C2051). Pelanggaran atas aturan pengalamatan memori di atas akan mengakibatkan program menjadi bertingkah laku aneh.
CJNE [...]. DJNZ [...], JB, JNB, JC, JNC, JBC, JZ, JNZ dengan instruksi kondisional branching tersebut di atas juga harus mematuhi aturan-aturan pengalamatan memori yang telah disebutkan. Apabila programmer melanggar aturan di atas, hal itu mungkin akan mengakibatkan hasilnya menjadi tidak menentu.
Beberapa penerapan yang menyertakan interupsi pada lokasi alamat servis rutin pada keluarga mikrokontroler ATMEL 80C51 dapat dipelajari pada manual-manual masing-masing.
(26)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Mikrokontroler AT89C2051 mempunyai 128 byte internal data memori. Dengan kata lain, mikrokontroler AT89C2051 mempunyai batas stack sebesar 128 byte, yaitu sebesar jumlah RAM dari mikrokontroler tersebut. Akses eksternal data memori dan eksekusi eksternal program memori tidak terdapat dalam mikrokontroler jenis ini. Oleh karena itu, instruksi MOVX [...] tidak diperbolehkan dalam memprogram mikrokontroler AT89C2051.
Kode assambler jenis 80C51 akan tetap dieksekusi sebagai instruksi assambler, meskipun instruksi tersebut ditulis dengan kondisi yang melanggar aturan pengalamatan. Tingkah laku device atau alat yang kita buat, bertanggungjawab terhadap kesalahan eksekusi logika program, bukan pada program yang kita tulis.
7. Memprogram Flash Memori
Pada Mikrokontroler AT89C2051 terdapat memori Flash sebesar 2 Kbyte. Memori ini digunakan sebagai memori kode program dan dikondisikan pada keadaan array, yang bisa ditulis dan dibaca (read-write) dan siap untuk diberi program. Memori array tersebut hanya dapat diprogram per byte pada tiap satuan waktu. Sekali memori array tersebut diberi program, maka untuk memprogram ulang harus dilakukan penghapusan data program yang telah ada secara elektrikal. Dengan kata lain, memori array tersebut tidak dapat langsung ditimpa dengan program yang baru, tetapi harus dihapus terlebih dahulu.
(27)
commit to user Urutan Pemrograman Chip:
a. Power-up sequence:
Berikan tegangan antara Vcc dan GND dan SET, XTAL 1, ke posisi GND.
b. Set pin RST dengan nilai logika High, set pin P3.2 juga dengan nilai High.
c. Berikan nilai level logika kombinasi High dan Low pada pin-pin P3.3, P3.4, P3.5, P3.7 sesuai mode operasi yang akan kita lakukan, apakah operasi pembacaan memori atau operasi memasukkan program ke memori. d. Alamatkan data program yang kita buat pada range alamat memori
000H, yaitu pada pin P1.0 sampai P1.7
e. Berikan tegangan Vcc 12 Volt pada pin RST ketika akan melakukan program chip (mode operasi pemrograman).
f. Masukkan pulsa kode program yang akan kita masukkan pada pin 3.2. Waktu penulisan program pada memori array akan memakan waktu sekitar 1,2 ms (millisecond)
g. Untuk verifikasi data program yang kita masukkan, ubah logika pada pin RST dari Vcc 12 Volt menjadi level logika High lalu set pin P3.3 sampai P3.7 menjadi level prioritas. Data output dapat dibaca melalui port pin P1. h. Untuk memasukkan program ke alamat memori berikutnya supaya tidak
tumpang tindih, berikan pulsa positif pada pin XTAL 1. Langkah ini untuk menaikkan address counter dengan increment satu (+1 pada address counter). Masukkan data program yang baru pada port pin P1.
(28)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
i. Ulangi langkah 5 sampai 8, ubah data dan alur range memori mikrokontroler sampai batas 2 Kbyte.
j. Power-off sequence.
Set XTAL1 dengan logika Low dan RST juga dengan logika Low, lalu matikan tegangan pada mikrokontroler AT89C2051.
B. Sensor
Sensor adalah alat yang digunakan untuk mendeteksi suatu benda dan berfungsi untuk mengukur magnitude suatu benda/alat. Sensor adalah jenis tranducer yang digunakan untuk mengubah variasi mekanis, magnetis panas, sinar, dan kimia menjadi tegangan atau arus listrik. Sensor biasanya dikategorikan melalui pengukuran dan memegang peranan penting dalam pengendalian proses pabrikasi modern.
Bentuk dan macam dari sensor sangatlah banyak dan biasanya disesuaikan dengan tujuan dan penggunaannya. Adapun sensor yang digunakan pada modul ini adalah sebagai berikut.
1. Sensor ultrasonik
Sensor ultrasonik, berfungsi sebagai pendeteksi jarak yang pada aplikasinya untuk mendeteksi jarak kendaraan dengan benda di depannya. Sensor ini mampu mendeteksi jarak dengan range 3 cm sampai 3 meter. Prinsip kerjanya yaitu pemancar ultrasonik mengeluarkan frekuensi 40 Khz yang dihasilkan oleh mikrokontroler, kemudian diterima oleh pemancar ultrasonik. Dengan menghitung selang waktu antara pengiriman sinyal sampai dapat diterima oleh penerima, dapat diketahui nilai jarak dari
(29)
commit to user
kendaraan dan kendaraan sekitarnya. Sensor ultrasonik yang digunakan merupakan modul jadi dari PARALLAX dengan tipe SRF04. Spesifikasi Teknis Devantech SRF04 Ultrasonic Range Finder:
Tabel 3. Range finder sensor ultrasonic SRF04
Tegangan Input : 5 VDC
Konsumsi Arus : 30 mA (rata-rata), 50 mA (max) Frekuensi Suara : 40 kHz
Jangkauan : 3 cm - 3 m
Sensitivitas : Mampu mendeteksi gagang sapu berdiameter 3 cm
dalam jarak > 2 m
Input Trigger : 10 mS min. Pulsa Level TTL
Pulsa Echo : Sinyal level TTL Positif, Lebar berbanding proporsional dengan jarak yang dideteksi
Output dari sensor ini berupa data PWM sehingga duty cycle dari sinyal output berbanding lurus dengan data jarak. Semakin jauh objek maka semakin besar duty cycle. Untuk mengaktifkan sensor maka modul diberi triger pulsa maka sensor akan mengeluarkan sinyal pwm dan duty cycle tersebut sebagai jarak objek dengan sensor. Sensor diberi triger, kemudian dihitung lebar duty cyclenya. Jika sensor ultrasonik yang digunakan pada satu sistem lebih dari satu maka data yang dikirim secara bergantian. Data
(30)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
yang dikirim adalah data 8-bit dengan nilai 5-255, di mana nilai 0 digunakan sebagai tanda akhir data.
Gambar 5. Modul dan Koneksi sensor ultrasonic 2. Sensor Jarak Ultrasonik Devantech SRF04
Gambar 6. Devantech SRF04 Ranger
Kit ini sangat mudah untuk dirangkai dan membutuhkan sumber daya yang kecil sekali, yang sangat ideal untuk aplikasi mobile robot. Susunan kakinya sebagai berikut:
(31)
commit to user Gambar 7. Susunan kaki SRF0
Pencari jarak ini bekerja dengan cara memancarkan pulsa suara dengan kecepatan suara (0.9 ft/milidetik).
Tabel 4. Karakteristik SRF04
Tegangan 5v
Arus 30mA Typ. 50mA Max
Frekwensi 40KHz
Maximum Range 3 m
Minimum Range 3 cm
Sensitifitas Mendeteksi jarak 3cm diameter stick at > 2 m
Trigger input 10uS Min. TTL level pulse
Pulsa echo Positive TTL level signal, width proportional to range.
Berikut contoh program menggunakan Basic Stamp 2 di mana menggunakan P0 sebagai input dari SRF04 dan P1 sebagai output echo dari SRF04.
O echo output O pulse trigger input
O not used O ground
(32)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user Gambar 8. Contoh rangkaian SRF04
Berikut tahapan sensor SRF04 dalam mengindikasi jarak: TesSRF04.bs2
‘Lab Robotics e-Technology Center ‘Faktor konversi
‘perintah PULSIN mengembalikan nilai round trip ‘echo time 2 uS dimana sama dengan
‘perjalan 1 arah 1uS
‘jarak=(echo time) /factor konversi
‘gunakan 74 untuk inchi (73.74 us per 1 inchi) ‘gunakan 29 untuk sentimeter ( 29.033 pe 1 cm)
' {$STAMP BS2p} ' {$PBASIC 2.5}
convfac CON 74 ' use inches counter VAR Byte
(33)
commit to user INIT CON 0 ’ hubungan di port p0
ECHO CON 1 main:
GOSUB sr_sonar ' baca jarak depan DEBUG DEC wDist, CR
sr_sonar:
PULSOUT INIT,5 ' 10us init pulse
PULSIN ECHO,1,wDist ' measure echo time wDist=wDist/convfac ' convert to inches RETURN
C. Komponen – Komponen Yang Digunakan Lainnya 1. Resistor
Resistor merupakan komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi dua yaitu Fixed resistor dan Variable Resistor. Resistor pada umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain.
(34)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user 2. Fixed Resistor
Fixed Resistor merupakan resistor yang mempunyai nilai tetap. Ciri fisik dari resistor ini adalah bahan pembuat resistor terdapat di tengah-tengah dan pada pinggirnya terdapat dua conduction metal, biasanya kemasan seperti ini disebut dengan axial. Ukuran fisik Fixed Resistor bermacam-macam, tergantung pada daya resistor yang dimilikinya. Misalnya fixed resistor dengan daya 5 watt pasti mempunyai bentuk fisik yang jauh lebih besar dibandingkan dengan fixed resistor yang mempunyai daya ¼ watt.
Seiring dengan perkembangan teknologi pada saat ini, diciptakanlah sebuah teknologi baru yang disebut dengan SMT (Surface Mount Technology). Dengan menggunakan teknologi ini bentuk dari fixed resistor menjadi lebih kecil lagi, sehingga kita dapat membuat suatu sistem yang mempunyai ukuran sekecil mungkin. Ada beberapa macam kemasan standard yang sudah ditentukan oleh Industri elektronika antara lain:
- 1206 ukuran = 3.0 mm x 1.5 mm, 2 terminal - 0805 ukuran = 2.0 mm x 1.3 mm, 2 terminal - 0603 ukuran = 1.5 mm x 0.8 mm, 2 terminal
Selain kemasan axial terdapat pula kemasan lain yang disebut SIP (Single-In-Line). Di dalam kemasan ini terdapat lebih dari satu resistor yang biasanya disusun paralel dan mempunyai satu pusat yang disebut common.
(35)
commit to user
Gambar 10. Resistor Single-In-Line
Gambar 11. Bentuk Fisik Resistor
Pada gambar 11 ditunjukkan beberapa contoh bentuk fisik dari fixed resistor. Dari yang paling atas dapat dilihat bentuk fisik dari resistor dengan daya 1/8, ¼, 1, 2, dan 5 watt. Pada gambar 11 sebelah kanan ditunjukkan beberapa contoh bentuk fisik dari fixed resistor dengan toknologi SMT (Surface Mount Technology). Sedangkan pada gambar 10 ditunjukkan contoh bentuk fisik dari resistor dengan kemasan yang disebut SIP (Single-In-Line).
(36)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user 3. Variable Resistor
Untuk jenis resistor ini memiliki dua tipe. Untuk tipe pertama dinamakan Variable Resistor dan nilainya dapat diubah sesuai keinginan dengan mudah dan sering digunakan untuk pengaturan volume, bass, balance, dll. Sedangkan yang kedua adalah semi-fixed resistor. Nilai dari resistor ini biasanya hanya diubah pada kondisi tertentu saja. Contoh penggunaan dari semi-fixed resistor adalah tegangan referensi yang digunakan untuk ADC, fine tune circuit, dll. Ada beberapa model pengaturan nilai Variable resistor, yang sering digunakan adalah dengan cara memutar. Pengubahan dengan cara memutar biasanya terbatas sampai 300 derajat putaran. Ada beberapa model variable resistor yang harus diputar berkali - kali untuk mendapatkan semua nilai resistor. Model ini dinamakan “Potentiometers” atau “Trimmer Potentiometers”.
Gambar 12. Bentuk Fisik Variable Resistor
Pada gambar 12 ditunjukkan beberapa contoh bentuk fisik dari variable resistor. Gambar bentuk yang pertama sering disebut dengan
(37)
commit to user
“Trimmer Potentiometers”. Gambar bentuk yang kedua merupakan contoh gambar dari semi-fixed resistor yang biasanya dipasang pada PCB (Printed Circuit Board). Sedang gambar bentuk yang ketiga merupakan contoh dari “Potentiometers” yang biasanya digunakan sebagai volume control.
4. Kapasitor
Kapasitor adalah sebuah piranti elektrik yang dapat menyimpan energi dalam bentuk medan listrik di antara sepasang plat konduktor. Kapasitor terdiri dari dua buah elektrode yang dipisahkan oleh sebuah insulator atau dielectric. Kapasitansi dari sebuah pelat sejajar dinyatakan dengan rumus:
Kapasitansi dari kapasitor (C) menyatakan besarnya muatan (Q) yang disimpan akibat adanya beda potensial (V) yang diberikan di antara kedua pelat, dinyatakan dalam rumus berikut:
(38)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Berikut adalah beberapa contoh bentuk fisik dari kapasitor: a. Kapasitor Non-Polar
- Kapasitor Tantalum
- Kapasitor Polyester Film
- Kapasitor Polypropylene
- Kapasitor Mylar
- Kapasitor Keramik
b. Kapasitor Polar
(39)
commit to user c. Kapasitor Variable
- Kapasitor Trimmer
- Kapasitor Tuning
Gambar 14. Bentuk fisik kapasitor 5. Transistor
Transistor dalam rangkaian elektronika selain berfungsi sebagai penguat, dapat juga berfungsi sebagai saklar. Transistor adalah suatu komponen aktif yang terbuat dari bahan semi konduktor dan dibentuk dari dua hubungan PN. Dari dua hubungan tersebut terdapat dua kemungkinan hubungan yang dapat dibentuk yaitu PNP dan NPN seperti dalam Gambar 10. Transistor ini digunakan sebagai switching untuk membunyikan alarm.
Gambar 15. Transistor NPN dan PNP
P N
P
Emiter Basis
Kolektor
P
EmiterBasis
Kolektor
(40)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Hal-hal yang perlu diperhatikan dalam penggunaan transistor adalah sebagai berikut:
1. Arus emitor merupakan penjumlahan dari arus kolektor dan arus basis IE = IB+IC
2. Arus kolektor hampir sama dengan arus emitor IC + IE
3. Arus basis jauh lebih kecil dari arus kolektor dan emitor IB << IC
IB << IE
Hubungan antara arus basis dan arus kolektor dinyatakan sebagai penguatan arus seperti dalam persamaan berikut:
ß= hFE = IC/IB
Jika Vin bertambah, lebih banyak arus basis yang mengalir, menimbulkan lebih banyak arus kolektor. Vin yang cukup besar akan menjenuhkan transistor. Jika transistor jenuh, kolektornya secara ideal
ditanahkan. Tegangan pada resistor 1kΩ sama dengan tegangan catu
dikurangi tegangan pada LED, karena itu:
Gambar 16. Penggunaan Transistor NPN Rc = VCC - VLED / ILED
(41)
commit to user 6. Daerah Kerja Transistor
Transistor bekerja pada tiga daerah kerja seperti ditunjukkan dalam Gambar:
Gambar 17. Garis beban DC § Daerah Kerja Jenuh (Saturasi)
Perpotongan dari garis beban dan kurva IB=IB(sat) disebut penjenuhan (saturation). Pada daerah ini arus basis sama dengan IB(sat) dan arus kolektor adalah maksimum.
Pada penjenuhan, dioda kolektor kehilangan reverse bias dan kerja transistor yang normal terhenti. Perhitungan arus kolektor pada saat saturasi adalah:
C CC ) sat (
C R
V I
dan perhitungan untuk arus basis adalah:
dc C(sat) b(sat)
I I
b =
Tegangan kolektor-emiter pada penjenuhan adalah: V CE = VCC (sat)
(42)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Jika arus basis lebih besar daripada IB(sat), arus kolektor tak dapat bertambah karena dioda kolektor tidak lagi dibias reverse. Dengan kata lain, perpotongan dari garis beban dan kurva basis yang lebih tinggi masih menghasilkan titik penjenuhan yang sama.
§ Daerah kerja sumbat (cutoff).
Titik dimana garis beban memotong kurva IB=0 disebut titik sumbat (cut off). Pada titik ini arus basis adalah nol dan arus kolektor kecil sehingga dapat (hanya arus bocoran ICEO yang ada). Pada titik sumbat, dioda emitor kehilangan forward bias, dan kerja transistor yang normal terhenti. Untuk perkiraan aproksimasi tegangan diabaikan kolektor-emitor adalah:
ICE (cut off) = ICC § Daerah kerja aktif.
Semua titik operasi antara titik sumbat dan penjenuhan adalah daerah aktif dari transistor. Dalam daerah aktif, dioda emitor dibias forward dan dioda kolektor dibias reverse. Titik Q (Quiescent) adalah titik perpotongan dari arus basis dan garis beban.
7. Dioda
Dioda merupakan suatu komponen elektronik yang dapat melewatkan arus pada satu arah saja yang terbuat dari bahan semikonduktor. Jika dioda kita beri tegangan panjar mundur maka bandgap antara pita konduksi dengan pita valensi akan semakin besar sehingga menyebabkan tidak adanya elektron yang berpindah dari pita konduksi ke pita valensi. Sedangkan jika kita beri tegangan panjar maju maka bandgap antara pita
(43)
commit to user
konduksi dan pita valensi menjadi kecil yang menyebabkan elektron dapat berpindah dari pita konduksi ke pita valensi sehingga menyebabkan adanya arus yang mengalir. Kita dapat menyelidiki karakteristik statik dioda, dengan cara memasang dioda seri dengan sebuah catu daya DC dan sebuah resistor.
Dioda memiliki fungsi yang unik yaitu hanya dapat mengalirkan arus satu arah saja. Struktur dioda tidak lain adalah sambungan semikonduktor P dan N. Satu sisi adalah semikonduktor dengan tipe P dan satu sisinya yang lain adalah tipe N. Dengan struktur demikian arus hanya akan dapat mengalir dari sisi P menuju sisi N.
Gambar 18. Simbol dan struktur dioda
Gambar ilustrasi di atas menunjukkan sambungan PN dengan sedikit porsi kecil yang disebut lapisan deplesi (depletion layer), di mana terdapat keseimbangan hole dan elektron. Seperti yang sudah diketahui, pada sisi P banyak terbentuk hole yang siap menerima elektron sedangkan di sisi N banyak terdapat elektron-elektron yang siap untuk bebas merdeka. Lalu jika diberi bias positif, dengan arti kata memberi tegangan potensial sisi P lebih besar dari sisi N, maka elektron dari sisi N dengan serta merta akan tergerak untuk mengisi hole di sisi P. Tentu kalau elektron mengisi hole disisi P,
(44)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
maka akan terbentuk hole pada sisi N karena ditinggal elektron. Ini disebut aliran hole dari P menuju N, Kalau mengunakan terminologi arus listrik, maka dikatakan terjadi aliran listrik dari sisi P ke sisi N.
Gambar 19. Dioda dengan bias maju
Sebalikya apakah yang terjadi jika polaritas tegangan dibalik yaitu dengan memberikan bias negatif (reverse bias). Dalam hal ini, sisi N mendapat polaritas tegangan lebih besar dari sisi P.
Gambar 20. Dioda dengan bias negatif
Tentu jawabannya adalah tidak akan terjadi perpindahan elektron atau aliran hole dari P ke N maupun sebaliknya. Karena baik hole dan elektron masing-masing tertarik ke arah kutub berlawanan. Bahkan lapisan deplesi (depletion layer) semakin besar dan menghalangi terjadinya arus.
Demikianlah sekelumit bagaimana dioda hanya dapat mengalirkan arus satu arah saja. Dengan tegangan bias maju yang kecil saja dioda sudah menjadi konduktor. Tidak serta merta diatas 0 volt, tetapi memang tegangan beberapa volt diatas nol baru bisa terjadi konduksi. Ini disebabkan karena
(45)
commit to user
adanya dinding deplesi (deplesion layer). Untuk dioda yang terbuat dari bahan Silikon tegangan konduksi adalah diatas 0.7 volt. Kira-kira 0.2 volt batas minimum untuk dioda yang terbuat dari bahan Germanium.
Gambar 21. Grafik arus dioda
Sebaliknya untuk bias negatif dioda tidak dapat mengalirkan arus, namun memang ada batasnya. Sampai beberapa puluh bahkan ratusan volt baru terjadi breakdown, dimana dioda tidak lagi dapat menahan aliran elektron yang terbentuk di lapisan deplesi.
(46)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
32
BAB III
DESAIN DAN PERANCANGAN
A. Identifikasi Masalah
Untuk mencapai tujuan perancangan alat ukur tinggi badan otomatis ini ada beberapa kebutuhan yang perlu di pertimbangkan, diantaranya:
1. Perlu komponen yang dapat mengendalikan keseluruhan.
2. Perlu komponen yang dapat mendeteksi adanya objek yang akan diukur. 3. Perlu adanya display yang digunakan untuk menampilkan hasil pengukuran
tinggi bandan otomatis.
B. Sistem blok
Alat pengukur tinggi badan ini menggunakan perangkat keras sebagai berikut:
Mikrokontroler AT89C2051, 1 buah sensor ultrasonic SRF04 dan 1 buah leptop sebagai penampil hasil pengukuran.
Blok diagram pengukur tinggi badan otomatis ditunjukan pada gambar 22.
(47)
commit to user
Gambar 22. Diagram blok pengukur tinggi badan
Dari gambar 22 di atas, rancangan bangun alat pengukur tinggi badan otomatis terdiri atas tiga bagian yaitu piranti masukan, mikrokontroler, dan piranti keluaran. Pada piranti masukan terdapat sensor yang merupakan sumber perintah bagi mikrokontroler tersebut. Adapun jenis sensor yang dipakai yaitu sensor ultrasonic SRF04. Sedangkan pada piranti keluaran adalah laptop untuk menampilkan hasil pengukuran tinggi badan.
C. Analisa Kebutuhan
Dalam pembuatan alat sistem ini memerlukan beberapa perangkat hardware, software, dan alat pendukung yang saling menyebabkan keterkaitan, perangkat-perangkat tersebut antara lain :
1. Hardware
a. Blok Mikrokontroler
Rangkaian pengendali dari alat yang bertugas mengatur kerja rangkaian dengan cara mengendalikan input output yang diberikan ke rangkaian mikrokontroler.
MIKROKONTROLER AT89C2051 SENSOR
SRF04
(48)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user b. Blok Sensor ultrasonic
Sensor digunakan untuk mendeteksi tinggi badan orang. c. Blok Catu Daya
Trafo digunakan untuk menurunkan tegangan sesuai dengan yang diperlukan alat/rangkaian dari tegangan AC menjadi tegangan DC.
2 Software a. Visio
Program yang digunakan untuk menggambar flowchart dari alat yang dibuat.
b. Protel
Software yang digunakan untuk menggambar layout PCB dan rangkaian skema.
c. Notepad
Merupakan software untuk menulis program. d. Wordpad
Merupakan software untuk mengecek kesalahan yang terjadi pada program.
e. Asm_51
Digunakan untuk mengubah file dengan ekstensi ASM menjadi ekstensi HEX.
f.Aec_isp
Digunakan untuk mengambil file dengan ekstensi HEX dan memprogram ke dalam mikrokontroler AT89C2051
(49)
commit to user
3. Alat Pendukung
a. Solder
Alat yang digunakan untuk memanaskan timah patri untuk menyambung komponen-komponen elektronika dengan PCB.
b. Multimeter
Merupakan alat untuk mengukur arus, tegangan dan hambatan dari suatu komponen maupun rangkaian.
c. Obeng
Digunakan untuk merapatkan sekrup/mur dengan rangka yang terdiri atas obeng plus dan minus.
d. Bor
Untuk melubangi pcb maupun rangka. e. Cutter
Alat ini digunakan untuk memotong pcb serta rangka. f. Tang
Alat ini digunakan untuk memotong dan mengupas kabel maupun memotong kaki komponen.
g. Minyak Damar (Gondorukem)
Digunakan untuk melapisi jalur pcb agar tembaga tidak mudah terkelupas saat disolder berulang-ulang dan tidak mudah berkarat.
h. Lotfett
(50)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user i. Plastic Still
Untuk menutupi soldiran kabel dengan konektor yang banyak agar tidak mudah lepas.
4. Alur Tahapan Pembuatan
Dalam perancangan dan pembuatan alat pengukur tinggi badan otomatis tahapan yang dilakukan adalah membuat rancangan alat yang akan dibuat, kemudian mencetaknya ke dalam pcb serta melubanginya. Kemudian memasang setiap komponen dengan benar di pcb dan mensoldernya. Rangkaian minimum sistem dibuat dan diuji juga dengan rangkaian tiap bloknya, pengisian program dan dilakukan uji coba keseluruhan alat, jika kesalahan terjadi maka diperbaiki dan diperiksa ulang. Setelah selesai alat dipasang dalam rangka yang telah dibuat.
Gambar 23. Tahapan Pembuatan alat ukur tinggi badan otomatis
Membuat rangkaian dan mencetak pcb
Merangkai minimum
Pengujian tiap blok rangkaian
Pengisian program
Pengujian keseluruhan alat
Menyatukan alat dengan rangka Hasil
(51)
commit to user 5. Rangkaian Keseluruhan Sistem
Rangkaian keseluruhan dari alat tinggi badan otomatis dapat dibagi menjadi 3 bagian utama yaitu bagia minimum system mikrokontroler, bagian input dan output. Bagian minimum system mikrokontroler merupakan bagian dimana input dari sensor ultrasonic akan dproses sesuai program yang digunakan kemudian diteruskan kebagian output. Bagian input terdiri dari sebuah sensor ultrasonic jenis SRF04 yang digunakan sebagai pengambil data tinggi badan orang. Sedangkan bagian output berupa leptop untuk mengetahui hasil dari pengukuran tinggi badan.
Rangkaian skema alat tinggi badan otomatis ditunjukan pada Gambar 24.
(52)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
(53)
commit to user 6. Rangkaian Minimum AT89C2051
Rangkaian mikrokontroler berfungsi sebagai pemroses data input dan menghasilkan output. Pada alat pengukur tinggi badan ini input data di peroleh dari sensor SRF04 sedangkan outputnya adalah tampilan laptop.
Di dalam minimum system mikrokontroler ini terdapat tiga port yang digunakan sebagai input dan output data. Pada alat ukur tinggi badan otomatis ini hanya menggunakan dua port saja. Port B dipakai sebagai input dari sensor SRF04 dan port A sebagai output ke laptop.
Rangkaian minimum system dapat dilihat pada gambar 25.
(54)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user 7. Rangkaian Sensor
Pada rangkaian tinggi badan otomatis ini menggunakan sensor ultrasonic. Sensor ultrasonic adalah yang bekerja berdasarkan prinsip kerja pantulan gelombang suara, di mana sensor menghasilkan gelombang suara kemudian menangkap kembali dengan perbedaan waktu sebagai dasar pengindra. Perbedaan waktu antara gelombang suara yang dipancarkan dan diterima kembali adalah berbanding lurus dengan jarak objek yang dipantulkannya.
Sensor ultrasonic dipasang di bagian atas tiang karena sensor ini digunakan untuk mendeteksi tinggi seseorang. Sensor ini memiliki tiga pin yaitu Vout, Vcc, dan Ground. Pada alat tinggi badan otomatis ini, Vout dihubungkan dengan Port B dari mikrontroler.
Sensor ultrasonic ini memiliki kontak jarak 3 cm sampai 3 meter. Prinsip kerja sensor jarak sensor ultrasonic SRF04 ditunjukan pada gambar 26.
(55)
commit to user 8. Perancangan Software
Perancangan software merupakan proses perancangan pembuatan program yang nantinya akan dijalankan oleh mikrokontroler. Program tersebut akan selalu berjalan jika mikrokontroler dinyalakan. Program ini disimpan pada EEPROM yang ada dalam mikrokontroler, sehingga hanya perlu sekali men-download-kan program ke mikrontroler. Karena walaupun sumber tegangan dimatikan program masih tersimpan pada EEPROM.
Membuat program memerlukan lebih dari sekedar menulis serangkaian intruksi. Pada saat menulis program, sebaiknya dimulai dengan membuat rencana program secara terperinci atau garis besarnya. Dalam rancangan sebuah program penulis terlebih dahulu membuat flowchart.
Seperti diketahui dalam menyusun program kita harus memperhatikan benar-benar agar program tersebut mempunyai aturan logika yang benar. Jika logika yang ada pada suatu program tidak benar, tentunya akan adanya kesalahan dari hasil program tersebut. Untuk membantu melacak kebenaran logika sebuah program, yang juga sangat membantu anda untuk memahami sebuah persoalan sebelum anda memulai menuliskan kode-kode programnya, sering kali kita memerlukan alat bantu yang disebut flowchart. Flowchart alat ukur tinggi badan otomatis ditunjukan pada Gambar 27.
(56)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user tidak
ya
tidak
ya
Gambar 27. Flowchart pengukur tinggi badan otomatis start
Dt- sense usirr aktif
pantulan
Terima data Jarak= x
Tinggi= 200-x
display
end
(57)
commit to user BAB IV
IMPLEMENTASI DAN ANALISA
Pada bab ini akan dibahas mengenai langkah-langkah pengujian terhadap alat pengkur tinggi badan otomatis. Pengujian dilakukan untuk mengetahui apakah alat pengukur tinggi badan otomatis yang dibuat sesuai dengan perencanaan dan perancangan system. Pengujian alat ini meliputi:
a. Pengujian program Visual Basic b. Pengujian sensor
c. Pengujian sistem AT89C2051
d. Pengujian rangkaian secara keseluruhan
A. Pengujian Visual Basic
Bagian ini hanya program Visual Basic yang berfungsi sebagai penampilan hasil pengukuran tinggi badan. Serial Port laptop (Tx) dihubungkan ke port P3.0 dan (Rx) dihubungkan ke port 3.1 melalui IC MAX 232 pada mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk database.
Langkah- langkah dalam melakukan pengujian ini adalah 1. Hubungkan downloader AT89C2051 dengan leptop
2. Downloadkan program berikut.
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszsoundname As String, ByVal uFlags As Long) As Long
(58)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user Select Case Index
Case 0 'add
If Data1.Recordset.RecordCount > 0 Then Data1.Recordset.MoveLast
Text1(0).Text = Data1.Recordset.Fields(0) + 1 Else
Text1(0).Text = 1 End If
Data1.Recordset.AddNew For x = 1 To Text1.UBound Text1(x).Text = ""
Next
Text1(1).SetFocus Case 1 'save
On Error Resume Next
If Command1(4).Caption = "STOP" Then Data1.Recordset.Edit For x = 0 To (Text1.UBound)
Data1.Recordset.Fields(x) = Text1(x).Text Text1(x).Text = ""
Next
Data1.Recordset.Update
If Command1(4).Caption = "STOP" Then Command1_Click (5) Case 2 'edit
Data1.Recordset.Edit Case 3 'delete
Data1.Recordset.Delete For x = 0 To (Text1.UBound) Text1(x).Text = ""
Next
Data1.Recordset.Requery DBGrid1.ReBind
Case 4 'RUN
If Command1(4).Caption = "RUN" Then MSComm1.PortOpen = True
Command1(4).Caption = "STOP" Command1(5).Caption = "Next" Command1(6).Caption = "Prev" On Error Resume Next
Data1.Recordset.MoveFirst For x = 0 To (Text1.UBound)
Text1(x).Text = Data1.Recordset.Fields(x) Next
ucap Else
MSComm1.PortOpen = False Command1(4).Caption = "RUN"
(59)
commit to user Command1(5).Caption = "Print"
Command1(6).Caption = "Delete All" End If
Case 5 'Print
If Command1(5).Caption = "Print" Then DataReport1.Show
Else
If Data1.Recordset.EOF Then Exit Sub Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then Exit Sub On Error Resume Next
For x = 0 To (Text1.UBound)
Text1(x).Text = Data1.Recordset.Fields(x) Next
ucap End If
Case 6 'Delete All
If Command1(6).Caption = "Delete All" Then
xx = MsgBox("Semua data dihapus...?", vbOKCancel) If xx = vbCancel Then Exit Sub
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF Data1.Recordset.Delete
Data1.Refresh Loop
Else
If Data1.Recordset.BOF Then Exit Sub Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then Exit Sub On Error Resume Next
For x = 0 To (Text1.UBound)
Text1(x).Text = Data1.Recordset.Fields(x) Next
ucap End If
Case 7 'Find nomor On Error Resume Next
If Text1(0).Text = "" Then Exit Sub
Data1.Recordset.FindFirst "nomor=" & Text1(0).Text If Data1.Recordset.NoMatch Then Exit Sub
For x = 1 To (Text1.UBound)
Text1(x).Text = Data1.Recordset.Fields(x) Next
End Select End Sub
(60)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user Private Sub DBGrid1_Click()
DBGrid1.Refresh End Sub
Private Sub ucap()
sndPlaySound "awal.wav", 0 Dim i As Integer
xx = konversi(Data1.Recordset!nomor) tmpstring = Split(xx, " ")
i = UBound(tmpstring) For x = 0 To i
If Trim(tmpstring(x)) <> "" Then
fil = App.Path & "\" & Trim(tmpstring(x)) & ".wav" sndPlaySound fil, 0
End If Next x
sndPlaySound "akhir.wav", 0 End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
End Sub
Private Sub MSComm1_OnComm() 'Dim yy As Double
'Dim xx As String xx = MSComm1.Input Text3.Text = xx
yy = (Asc(Left(xx, 1)) * 256 + Asc(Right(xx, 1))) * (12000000 / 11059200 / 58.14)
Text2.Text = yy
If yy > 200 Then yy = 200
Text1(4).Text = Format(200 - yy, "###") End Sub
B. Pengujian Sistem AT89C2051
Pengujian ini digunakan untuk mengetahui apakah port dari mikrokontroler dapat berfungsi dengan baik sesuai dengan program yang nantinya akan diberikan. Cara untuk melakukan pengujian adalah dengan memberikan source code program berikut pada mikrokontroler.
(61)
commit to user $mod51
Pin bit p3.7 ;pulse in pout bit p1.0 ;pulse out
start: clr pin MOV SCON,#50H
mov tmod,#21h ;timer 1 baudrate, timer 2 16 bit mov th1,#0fdh ;9600bps
setb tr1 ;timer 1 run
loop: call delay ;tunggu 1 detik
call ukur ;ukur
jmp loop ;ulangi
delay: mov r7,#10 ;10*0,1 = 1 S
dl2: mov r6,#200 ;200*0,5=0,1s
dl1: mov r5,#250 ;250*2=0,5mS
djnz r5,$ djnz r6,dl1 djnz r7,dl2 ret
ukur: mov tl0,#0 ;reset mov th0,#0 ;timer 0
setb pin ;pulse in high
mov b,#5 ;delay
djnz b,$ ;10uS
clr pin ;pulse in low
setb tr0 ;timer on
jnb pout,$
lagi: jnb pout,kirim ;ada echo, kirim data mov a,th0
cjne a,#255,lagi ;overflow
kirim: clr ti ;kirim data
mov sbuf,th0 ;kirim MSB jnb ti,$
clr ti
mov sbuf,tl0 ;kirim LSB jnb ti,$
clr ti ret end
(62)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user C. Pengujian Sensor SRF04
Pengujian sensor ultrasonic bertujuan untuk mengetahui jarak minimum dan maksimal yang dapat diukur oleh sensor ultrasonic SRF04, serta membandingkan jarak sebenarnya dengan jarak hasil pengukuran menggunakan sensor. Untuk menguji sensor ultrasonic jenis SRF04 dapat mengunakan rangkaian seperti pada Gambar 28.
Gambar 28. Rangkaian Pengujian Sensor
Pengujian sensor ultrasonic jenis SRF04 ini dilakukan dengan cara menghubungkan sensor dengan downloader AT89C2051. Kemudian outputnya
(63)
commit to user
dihubungkan dengan laptop. Download-kan source code program yang telah dibuat ke mikrokontroler. Jika program yang telah di-download bisa berjalan dengan baik, maka sensor tersebut dapat digunakan untuk mengukur jarak. Selanjutnya adalah melakukan uji coba pengukuran jarak sensor SRF04 dengan cara menempatkan sensor ultrasonic di depan penghalang dan memvariasi jarak pengukuran. Hasil yang didapat dari pengukuran jarak terdapat pada tabel 5.
Tabel 5. Hasil Pengukuran Jarak
Dari pengujian yang dilakukan didapat bahwa sensor ultrasonic SRF04 mampu mengukur jarak mulai dari 0 cm. Pada pengukuran jarak 350
Jarak penghalang (cm) Jarak tampilan pada laptop (cm)
0 3 3 3
1 3 3 3
2 3 3 3
3 3 3 3
4 5 3 3
5 5 4 5
10 11 9 12
20 16 19 18
30 31 28 31
40 42 43 42
50 51 49 49
100 105 103 103
200 210 205 208
(64)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
cm didapatkan hasil yang tidak sesuai atau menyimpang jauh dengan jarak sebenarnya, hal ini disebabkan karena kemampuan ultrasonic SRF04 jenis ini hanya dapat mengukur jarak maksimal 300cm atau 3 meter. Angka yang ditampilkan pada laptop terdapat selisih dengan jarak yang sebenarnya adalah karakteristik penghalang atau objek yang dapat memantulkan sinyal kembali ke sensor ultrasonic. Secara teori, sensor ultrasonic bisa bekerja dengan baik sesuai dengan sepesifikasi dari sensor ultrasonic yaitu dapat mengukur jarak mulai dari jarak minimum 3cm sampe jarak maksimum 3m.
(65)
commit to user D. Pengujian Alat secara Keseluruhan
Pada alat pengukur tinggi badan otomatis ini mikrokontroler AT89C2051 merupakan otak semua proses hadware dan software. Mikrokontroler akan memproses semua data yang masuk kedalam sebuah program yang telah dibuat.
Untuk mengetahui tinggi badan seseorang, mikrokontroler AT89C2051 akan memprose input dari sensor SRF04 melalui portB. Dalam proses menghitung tinggi badan, hasil dapat diperoleh dari tinggi sensor (200cm) dikurangi jarak pengukuran sensor kebagian kepala. Kemudian hasil yang dihasilkan ditampilka di dalam leptop.
Sebelum melakukan pengujian, dilakukan pengecekan masing-masing rangkaian penyusun dan pengisian program ke IC mikrokontroler AT89C2051. Adapun langkah-langkah pengujian adalah sebagai berikut: 1. Menghubungkan rangkaian kecatu daya.
2. Mengatur jarak penghalang yang digunakan untuk pengukur 3. Mencatat hasil pengukuran untuk kemudian dianalisa.
Pengujian rangkaian secara keseluruha dapat dilakukan dengan cara menghubungkan sensor SRF04 dengan mikrokontroler pada portB. Sedangkan hasil outputnya ditampilkan pada leptop yang terhubung pada mikrokontroler pada portA. Kemudian download listing program yang dipakai untuk menguj. Listing program secara keseluruhan terdapat pada lampiran.
Pengujian alat dilakukan dengan mengukur jarak penghalang yang ada di depan sensor. Hasil yang diperoleh dapat dilihat pada tabel 6.
(66)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Tabel 6. Hasil Pengujian Alat
Jarak penghalang (cm) Jarak tampilan pada leptop (cm)
5 195 197 193
10 190 188 191
15 185 187 187
20 180 182 180
25 176 176 178
30 168 169 165
40 158 159 158
50 151 149 150
60 139 142 142
Ilustrasi percobaan diatas menggunakan buku dengan mengunakan jarak yang ditentukan menggunakan meteran lalu sensor dihadapkan keatas. Dengan melihat leptop dapat dilihat hasil yang berubah ubah dan
hasil tidak sama. Jadi dapat disimpulkan bahwa sensor yang digunakan tidak tepat untuk digunakan alat ukur tinggi badan otomatis secara akurat.
(67)
commit to user BAB V PENUTUP
A. Kesimpulan
Berdasarkan teori dan pembahasan yang telah dijelaskan pada bab-bab sebelumnya, maka dapat disimpulakan bahwa:
1. Mikrokontroler AT89C2051 dapat digunakan sebagai pengendali alat tinggi badan otomatis dengan baik.
2. Dalam pemasangan alat membutuhkan tingkat ketelitian yang tinggi supaya alat ukur tinggi badan otomatis dapat beroperasi dengan baik.
3. Alat ukur tinggi badan ini memiliki skala terkecil dalam centimeter.
4. Alat pengukur tinggi badan ini belum bisa mengukur tinggi badan secara akurat.
B. Saran
Sebagai acuan untuk mendapatkan yang lebih baik dari laporan yang dibuat dalam tugas akhir ini,dapat memberikan saran sebagai berikut:
1. Dengan melihat manfaat alat ini, diharapkan semoga pembaca mampu mengembangkan alat ini dengan baik lagi dan menggunakan sensor yang lebih akurat lagi misal menggunakan sensor laser.
2. Untuk ke depannya, pengukuran tinggi badan dengan menggunakan alat ini dapat lebih akurat lagi tanpa harus dipengaruhi oleh faktor luar seperti penyetingan tiang, supaya tinggi sensor dengan lantai lebih akurat (200 cm).
(1)
commit to user
C. Pengujian Sensor SRF04
Pengujian sensor ultrasonic bertujuan untuk mengetahui jarak minimum dan maksimal yang dapat diukur oleh sensor ultrasonic SRF04, serta
membandingkan jarak sebenarnya dengan jarak hasil pengukuran
menggunakan sensor. Untuk menguji sensor ultrasonic jenis SRF04 dapat mengunakan rangkaian seperti pada Gambar 28.
Gambar 28. Rangkaian Pengujian Sensor
Pengujian sensor ultrasonic jenis SRF04 ini dilakukan dengan cara
(2)
dihubungkan dengan laptop. Download-kan source code program yang telah dibuat ke mikrokontroler. Jika program yang telah di-download bisa berjalan dengan baik, maka sensor tersebut dapat digunakan untuk mengukur jarak. Selanjutnya adalah melakukan uji coba pengukuran jarak sensor SRF04 dengan cara menempatkan sensor ultrasonic di depan penghalang dan memvariasi jarak pengukuran. Hasil yang didapat dari pengukuran jarak terdapat pada tabel 5.
Tabel 5. Hasil Pengukuran Jarak
Jarak penghalang (cm) Jarak tampilan pada laptop (cm)
0 3 3 3
1 3 3 3
2 3 3 3
3 3 3 3
4 5 3 3
5 5 4 5
10 11 9 12
20 16 19 18
30 31 28 31
40 42 43 42
50 51 49 49
100 105 103 103
200 210 205 208
(3)
commit to user
cm didapatkan hasil yang tidak sesuai atau menyimpang jauh dengan jarak sebenarnya, hal ini disebabkan karena kemampuan ultrasonic SRF04 jenis ini hanya dapat mengukur jarak maksimal 300cm atau 3 meter. Angka yang ditampilkan pada laptop terdapat selisih dengan jarak yang sebenarnya adalah karakteristik penghalang atau objek yang dapat memantulkan sinyal kembali ke sensor ultrasonic. Secara teori, sensor ultrasonic bisa bekerja dengan baik sesuai dengan sepesifikasi dari sensor ultrasonic yaitu dapat mengukur jarak mulai dari jarak minimum 3cm sampe jarak maksimum 3m.
(4)
D. Pengujian Alat secara Keseluruhan
Pada alat pengukur tinggi badan otomatis ini mikrokontroler
AT89C2051 merupakan otak semua proses hadware dan software.
Mikrokontroler akan memproses semua data yang masuk kedalam sebuah program yang telah dibuat.
Untuk mengetahui tinggi badan seseorang, mikrokontroler
AT89C2051 akan memprose input dari sensor SRF04 melalui portB. Dalam proses menghitung tinggi badan, hasil dapat diperoleh dari tinggi sensor (200cm) dikurangi jarak pengukuran sensor kebagian kepala. Kemudian hasil yang dihasilkan ditampilka di dalam leptop.
Sebelum melakukan pengujian, dilakukan pengecekan masing-masing rangkaian penyusun dan pengisian program ke IC mikrokontroler AT89C2051. Adapun langkah-langkah pengujian adalah sebagai berikut: 1. Menghubungkan rangkaian kecatu daya.
2. Mengatur jarak penghalang yang digunakan untuk pengukur 3. Mencatat hasil pengukuran untuk kemudian dianalisa.
Pengujian rangkaian secara keseluruha dapat dilakukan dengan cara menghubungkan sensor SRF04 dengan mikrokontroler pada portB. Sedangkan hasil outputnya ditampilkan pada leptop yang terhubung pada mikrokontroler pada portA. Kemudian download listing program yang dipakai untuk menguj. Listing program secara keseluruhan terdapat pada lampiran.
(5)
commit to user
Tabel 6. Hasil Pengujian Alat
Jarak penghalang (cm) Jarak tampilan pada leptop (cm)
5 195 197 193
10 190 188 191
15 185 187 187
20 180 182 180
25 176 176 178
30 168 169 165
40 158 159 158
50 151 149 150
60 139 142 142
Ilustrasi percobaan diatas menggunakan buku dengan mengunakan jarak yang ditentukan menggunakan meteran lalu sensor dihadapkan keatas. Dengan melihat leptop dapat dilihat hasil yang berubah ubah dan
hasil tidak sama. Jadi dapat disimpulkan bahwa sensor yang digunakan tidak tepat untuk digunakan alat ukur tinggi badan otomatis secara akurat.
(6)
commit to user
BAB V PENUTUP
A. Kesimpulan
Berdasarkan teori dan pembahasan yang telah dijelaskan pada bab-bab sebelumnya, maka dapat disimpulakan bahwa:
1. Mikrokontroler AT89C2051 dapat digunakan sebagai pengendali alat tinggi badan otomatis dengan baik.
2. Dalam pemasangan alat membutuhkan tingkat ketelitian yang tinggi supaya alat ukur tinggi badan otomatis dapat beroperasi dengan baik.
3. Alat ukur tinggi badan ini memiliki skala terkecil dalam centimeter.
4. Alat pengukur tinggi badan ini belum bisa mengukur tinggi badan secara akurat.
B. Saran
Sebagai acuan untuk mendapatkan yang lebih baik dari laporan yang dibuat dalam tugas akhir ini,dapat memberikan saran sebagai berikut:
1. Dengan melihat manfaat alat ini, diharapkan semoga pembaca mampu
mengembangkan alat ini dengan baik lagi dan menggunakan sensor yang lebih akurat lagi misal menggunakan sensor laser.
2. Untuk ke depannya, pengukuran tinggi badan dengan menggunakan alat ini dapat lebih akurat lagi tanpa harus dipengaruhi oleh faktor luar seperti penyetingan tiang, supaya tinggi sensor dengan lantai lebih akurat (200 cm).