PEMOGRAMAN BASCOM-AVR UNTUK MONITORING CUACA BERBASIS MIKROKONTROLER ATMEGA8535
TUGAS AKHIR
MARLON BRANDO PANJAITAN 142408041
DEPARTEMEN FISIKA PROGRAM STUDI D-III FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
2017
PEMOGRAMAN BASCOM-AVR UNTUK MONITORING CUACA BERBASIS MIKROKONTROLER ATMEGA8535
TUGAS AKHIR
Diajukan Untuk Melengkapi Tugas dan Memenuhi Syarat MemperolehAhli Madya
MARLON BRANDO PANJAITAN 142408041
DEPARTEMEN FISIKA
PROGRAM STUDI D-III FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
2017
ABSTRAK
Telah dilakukan perancangan monitoring cuaca yang dapat memantau 4 parameter fisis seperti suhu, kelembaban, arah angin dan kecepatan angin berbasis mikrokontroler AT8535 dan pengolahan data menggunakan Visual Basic. Alat ini diharapkan bisa digunakan di berbagai bidang antara lain transportasi udara, pelayaran, pertanian, hankam, komunikasi dan lain-lain. Alat ini menggunakan 4 buah sensor yang mempunyai fungsi dan tugas yang berbeda-beda. Sistem pemrosesan data menggunakan IC Mikrokontroler ATMEGA8535 yang diprogram dengan bascom-avr. Data diinterfacekan ke komputer dengan pemrograman Visual Basic melalui sistem komunikasi serial untuk ditampilkan ke komputer dan disimpan dalam media penyimpanan data (harddisk). Pada peralatan ini dihasilkan pemrograman interfacing melalui Visual Basic dengan 4 window (jendela) tampilan suhu, kelembaban, kecepatan angin dan arah angin dengan sensor SHT11, Optocoupler dan sensor Rotary Encoder.
Kata Kunci : Mikrokontroler Atmega8535, Sensor SHT11, Optocoupler dan sensor Rotary Encoder
ABSTRACT
Has been designed to monitor weather monitoring four physical parameters such as temperature, humidity, wind direction and wind speed microcontroller based AT8535 and data processing using Visual Basic. The tool is expected to be used in various fields such as air transportation, shipping, agriculture, defense, communications and others. This tool uses four sensors that have functionality and different tasks. Data processing system using Microcontroller IC ATMEGA8535 programmed to Bascom-avr. Data interfaces to a computer with Visual Basic programming via serial communication system for display to the computer. In this equipment is generated through Visual Basic programming interfacing with 4 window (window) display the temperature, humidity, wind speed and wind direction sensors SHT11, optocoupler and sensor Rotary Encoder
Keywords: ATmega8535 Microcontroller, Sensor SHT11, optocoupler and sensor Rotary Encoder
\
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa, dengan limpahan berkat-NYA penyusunan Tugas akhir ini dapat diselesaikan dalam waktu yang ditetapkan.
Ucapan terima kasih penulis sampaikan kepada berbagai pihak yang telah banyak membantu penulis dalam penyelesaian Tugas Akhir ini yaitu kepada:
1. Bapak Dr. Kerista Sebayang, MS, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. BapakDrs. Takdir Tamba, M.Mng.Sc.selaku ketua Program Studi D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam universitas Sumatera Utara.
3. Bapak Tua Raja Simbolon,S.Si., M.Si. selaku pembimbing yang telah membimbing dan mengarahkan kepada penulis dalam menyelesaikan Tugas Akhir ini.
4. Seluruh Staf Pengajar / Pegawai program studi fakultas MIPA Universitas Sumatera Utara.
5. Ayahanda dan Ibunda tercinta yang telah memberikan bantuan berupa dukungan moril dan materil yang sangat membantu dalam menyelesaikanTugas Proyek ini.
6. Abang saya Jontra Sibarani dan Saudara-Saudara saya yang telah memberikan bantuan berupa ilmu dan motivasi dalam menyelesaikan Tugas Proyek ini.
7. Rekan Fisika Instrumentasi D3 yang memberikan bantuan penulis untuk menyelesaikan Tugas Akhir ini.
8. Teman separtner proyek yang telah memotivasi, mendampingi dan memberikan semangat dalam pengerjaan Tugas Proyek ini
9. Semua pihak yang turut membantu dalam pengerjakan Tugas Proyek yang tidak dapat disebutkan satu persatu.
Akhirnya sebagai bagian dari sebuah perjalanan panjang, penulis menyadari keterbatasan ilmu pengetahuan dan pengalaman untuk menyelesaikan Tugas Proyek ini secara sempurna.Seperti pepatah mengatakan “Tak Ada Gading Yang Tak Retak”.Oleh karena itu, dengan dan tangan dan hati terbuka penulis menerima kritikan dan saran yang positif untuk kesempurnaan Tugas Proyek ini. Akhir kata penulis berharap semoga Tugas Akhir ini dapat memberikan manfaat bagi penulis maupun khalayak ramai yang membacanya. Amin
DAFTAR ISI
Halaman
ABSTRAK ... i
PENGHARGAAN ... iii
DAFTAR ISI ... v
DAFTAR TABEL ... vii
DAFTAR GAMBAR ... viii BAB 1. PENDAHULUAN ... 1
1.1. Latar Belakang masalah ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan Penulisan ... 2
1.4. Batasan Masalah ... 2
1.5. Sistematika Penulisan ... 3
BAB II. LANDASAN TEORI ... 5
2.1. Mikrokontroller Atmega8535 ... 5
2.1.1. Arsitektur Mkrokontroler ATmega8535 ... 5
2.1.2. Konfigurasi Pin ATmega8535 ... 6
2.2. Kontruksi bahasa BASIC pada BASCOM-AVR………. 12
2.3. Pengarah preprosesor ... 13
2.4. Tipe Data ... 13
2.5. Pernyataan Kondisional (IF-THEN – END IF). ... 17
2.6. Pernyataan Kondisional (SELECT-CASE-END SELECT) ... 18
BAB III. PERANCANGAN DAN PEMBUATAN ... 17
3.1. Diagram Blok System ... 17
3.1.1. Fungsi Tiap Blok ... 18
3.2. Rangkaian Power supply 5 volt ... 18
3.3. Rangkaian Sistem Minimum Mikrokontroler ATmega8535 ... 19
3.4. Perancangan Rangkaian LCD ... 20
3.5.Perancangan Sensor SHT11 ... 21
3.6. Perancangan Sensor Optocoupler ... 22
3.7. Perancangan Sensor Rotary Encoder ... 23
3.8. Flowchart sistem 24 BAB IV. HASIL DAN PEMBAHASAN ... 28
4.1.Pengujian Sistem Minimum Mikrokontroler Atmega8535 ... 28
4.2. Pengujian Rangkaian Power Supply 5 volt ... 29
4.3. Pengujian Rangkaian LCD ... 30
4.4.Pengujian Pemograman Rangkaian Sensor SHT11 ... 31
4.5.Pengujian Pemograman rangkaian Optocoupler ... 36
4.7. Pengujian Pemograman Rangkaian Rotary Encoder ... 38
BAB V. PENUTUP ... 41
5.1. Kesimpulan ... ... 41
5.2. Saran ... ..41
DAFTAR PUSTAKA
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan ilmu pengetahuan dan teknologi telah mengalami percepatan yang tinggi. Keadaan tersebut membuat banyak hal dapat dilakukan dengan lebih mudah dan efisien. Seiring dengan hal tersebut kebutuhan akan informasi yang cepat dan akurat juga semakin tinggi. Berbagai sistem informasi telah banyak berkembang antara lain melalui saluran radio, televisi, telepon bahkan internet. Kebutuhan akan informasi yang cepat dan akurat juga terjadi pada penelitian-penelitian ilmiah. Salah satu imformasi yang sangat dibutuhkan oleh manusia yaitu keadaan cuaca.
Keadaan cuaca sangat berpengaruh dalam mengatur masalah transportasi terutama transportasi udara dan laut. Untuk itu diperlukan sebuah alat yang dapat memantau cuaca yang mudah untuk dipahami oleh siapa saja terutama para pemberi jasa layanan transportasi udara dan laut. Sehingga hal ini diharapkan dapat mengurangi resiko kecelakaan yang diakibatkan oleh masalah cuaca. Selain itu dapat digunakan dalam bidang pertanian sebagai informasi masa bercocok tanam, dalam bidang komunikasi dapat dijadikan acuan bahwa keadaan cuaca menentukan baik atau tidaknya sinyal komunikasi pada waktu tertentu.
Oleh karena itu diperlukan sebuah sistem monitoring klimatologi yang lebih akurat dan mudah dioperasikan. Dalam mempelajari karakteristik musim di stasiun klimatologi diperlukan pencatatan yang aktif dalam waktu yang lama dari berbagai parameter yang diperlukan.
Untuk itulah penulis mencoba untuk membuat suatu alat dan Penulisan Tugas Akhir dengan judul “Pemograman BASCOM-AVR untuk monitoring cuaca berbasis Mikrokontroler Atmega8535”.
1.2 Rumusan Masalah
Dalam merancang “Pemograman BASCOM-AVR untuk monitoring cuaca berbasis Mikrokontroler Atmega8535”. Penulis akan membahas dan menganalisa rangkaian tersebut secara blok per blok. Komponen yang di gunakan dalam perancangan akan di bahas fungsinya secara umum dan karakteristik tidak di bahas. Tidak di bahas bagaimana cara pembuatan program dan hasil nya hanya sekilas tentang bagaimana program tersebut berkerja.
1.3 Tujuan Penulisan
Adapun penulisan laporan proyek ini adalah untuk :
1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma III Fisika FMIPA. Universitas Sumatera Utara.
2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi pengontrolan dan elektronika sebagai bidang keahlian.
3. Membuat suatu alat yang tepat guna dan berkualitas yang sangat dibutuhkan dalam kehidupan manusia sehari-sehari.
1.4 Batasan Masalah
Dalamperencanaan penulisaniniterdapat beberapa batasanmasalah sebagai berikut:
1. Mikrokontroler yang digunakan adalah Atmega 8535 sebagai sistem pemrosesan kontrol
untuk semua sistem
2. Sensor yang digunkan adalah sensor suhu dan kelembapan yaitu sensor sht11, sensor pengukur kecepatan angin yaitu optocoupler dan sensor untuk penunjuk arah angin yaitu sensor rotary encoder
3. LCD 2x16 dan interface komputer yang digunakn untuk menampilkan masukan dan keluaran
1.5 SistematikaPenulisan
Untukmempermudahpembahasandanpenulisan laporan ini, penulis membuat susunan bab – bab yang membentuk laporan ini dalam sistematika penulisan laporan dengan urutan sebagai berikut :
BAB 1 PENDAHULUAN
Dalambabini berisikanmengenai latar belakang, tujuan penulisan, rumusan masalah, batasan masalah, dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan
untukpembahasandancarakerjadarirangkaian dan bahasaprogramyangdigunakan,sertakarakteristikdari komponen-komponen
pendukung.
BAB 3PERANCANGAN DAN PEMBUATAN
Bab ini berisikan tentang proses perancangan dan pembuatan alat. Mulai dari perancangan dan pembuatan sistem secara hardware atau software
BAB 4HASIL DAN PEMBAHASAN
Dalambabiniakandibahashasil analisadarirangkaiandansistem
kerjaalat,penjelasanmengenai rangkaian-rangkaianyang digunakan, penjelasanmengenaiprogram yangdiisikankemikrokontroller ATMega8535
BAB 5 PENUTUP
Dalambabinimenjelaskankesimpulandansaran darialatataupun data yangdihasilkandari alat.Babinijugamerupakanakhirdaripenulisan laporan proyek
ini.
BAB 2
LANDASAN TEORI
Cuaca adalah keadaan udara pada saat tertentu dan di wilayah tertentu yang relatif sempit (tidak luas) dan pada jangka waktu yang singkat. Atau definisi cuaca ialah keadaan udara harian pada suatu tempat tertentu dan meliputi wilayah yang sempit, keadaan cuaca ini dapat berubah setiap harinya.
Atau pengertian cuaca yang lainnya yaitu suatu keadaan rata-rata udara sehari-hari disuatu tempat tertentu & meliputi wilayah yang sempit dalam jangka waktu yang singkat. Keadaan dari cuaca mudah berubah – ubah, karena disebabkan oleh tekanan udara, suhu, angin, kelembaban udara, dan juga curah hujan.
Seperti contohnya: Ketika pada pukul 07.00 WIB, keadaan cuaca di kota Bandung cerah suhu udaranya berkisar antara 23.C – 27.C, dan angin yang berhembus dari arah barat laut berkisar dengan kecepatan 25 km/jam, Akan tetapi ketika pada pukul 14.00 WIB keadaan cuacanya berubah menjadi berwarna tebal dengan suhu udara berkisaran 30.C, dan angin bertiup dari arah barat dengan kecepatan 20 km/jam.
B. Inilah unsur dari cuaca & iklim
Untuk memahami gejala cuaca dan iklim diperlukan pemahaman mengenai unsur- unsurnya. Berikut ini unsur-unsur cuaca dan iklim, diantaranya seperti:
1. Suhu/temperatur
Suhu adalah besaran yang menyatakan derajat panas dingin suatu benda dan alat yang digunakan untuk mengukur suhu adalah thermometer. Dalam kehidupan sehari-hari masyarakat untuk mengukur suhu cenderung menggunakan indera peraba. Tetapi dengan adanya perkembangan teknologi maka diciptakanlah termometer untuk mengukur suhu dengan valid.
Pada abad 17 terdapat 30 jenis skala yang membuat para ilmuan kebingungan. Hal ini memberikan inspirasi pada Anders Celcius (1701 – 1744) sehingga pada tahun 1742 dia memperkenalkan skala yang digunakan sebagai pedoman pengukuran suhu. Skala ini diberinama sesuai dengan namanya yaitu Skala Celcius. Apabila benda didinginkan terus maka suhunya akan semakin dingin dan partikelnya akan berhenti bergerak, kondisi ini disebut kondisi nol mutlak. Skala Celcius tidak bisa menjawab masalah ini maka Lord Kelvin (1842 – 1907) menawarkan skala baru yang diberi nama Kelvin. Skala kelvin dimulai dari 273 K ketika air membeku dan 373 K ketika air mendidih. Sehingga nol mutlak sama dengan 0 K atau -273°C. Selain skala tersebut ada juga skala Reamur dan Fahrenheit. Untuk skala Reamur air membeku pada suhu 0°R dan mendidih pada suhu 80°R sedangkan pada skala Fahrenheit air membuka pada suhu 32°F dan mendidih pada suhu 212°F.
Berikut ini perbandingan skala dari termometer diatas
Yang menjadi masalah dalam bab suhu adalah kebanyakan orang kesulitan untuk mengubah dari satu skala ke skala yang lainnya. Berikut ini adalah contoh mengubah dari skala celcius ke skala fahrenheit
Untuk skala yang lain caranya sama dengan contoh diatas. Thermometer menurut isinya dibagi menjadi : termometer cair, termometer padat, termometer digital.
Semua termometer ini mempunyai keunggulan dan kelemahan masing-masing.
Sedangkan berdasarkan penggunaannya termometer bermacam-macam sebagai misal termometer klinis, termometer lab dan lain-lain.
Suhu udara/temperatur udara di suatu tempat akan berbeda dengan tempat lainnya, karena disebabkan oleh beberapa faktor:
• lamanya penyinaran matahari ke bumi, adalah intensitas penyinaran matahari di belahan bumi sangat bervariasi tergantung oleh letak lintang.
• ketinggian suatu tempat, semakin datar suatu tempat atau wilayah maka panas yang diterima akan semakin besar.
• keadaan awan, Jika di atmosfer banyak terdapat awan maka panas yang diterima bumi akan lebih kecil karena terserap oleh awan.
• keadaan tumbuhan di permukaan bumi.
• sudut penyinaran matahari, adalah suatu sudut yang dibentuk oleh sinar matahari pada bidang permukaan di bumi.
Sedangkan alat yang dipakai untuk mengukur suhu udara yaitu thermometer.
2. Tekanan udara
Yaitu suatu gaya yang timbul karena adanya berat dari lapisan udara, besarnya tekanan udara di suatu tempat dapat berubah-rubah. Atau kerapatan massa udara dalam satuan wilayah tertentu. Sedangkan alat untuk mengukur tekanan udara ialah Barometer.
3. Kelembaban udara
Kelembaban udara adalah tingkat kebasahan udara karena dalam udara air selalu terkandung dalam bentuk uap air. Kandungan uap air dalam udara hangat lebih banyak daripada kandungan uap air dalam udara dingin. Kalau udara banyak mengandung uap air didinginkan maka suhunya turun dan udara tidak dapat
menahan lagi uap air sebanyak itu. Uap air berubah menjadi titik-titik air. Udara yan mengandung uap air sebanyak yang dapat dikandungnya disebut udara jenuh.
Macam-macam kelembaban udara sebagai berikut :
1) Kelembaban relatif / Nisbi yaitu perbandingan jumlah uap air di udara dengan yang terkandung di udara pada suhu yang sama. Misalnya pada suhu 270C, udara tiap-tiap 1 m3maksimal dapat memuat 25 gram uap air pada suhu yang sama ada 20 gram uap air,maka lembab udara pada waktu itu sama dengan
20 x 100 % = 80 %
2) Kelembaban absolut / mutlak yaitu banyaknya uap air dalam gram pada 1 m3.
Contoh : 1 m3 udara suhunya 250 C terdapat 15 gram uap air maka kelembaban mutlak = 15 gram. Jika dalam suhu yang sama , 1 m3 udara maksimum mengandung 18 gram uap air, maka
Kelembaban relatifnya = 15/18 X 100 % = 83,33 %.
4. Angin
Yaitu udara yang bergerak dari daerah bertekanan maksimum (tinggi) ke daerah tekanan minimun (rendah). Sedangkan untuk mengukur kecepatan & arah angin digunakan Anemometer dengan menggunakan skala Beaufort.
Faktor Terjadinya Angin - Dalam proses terjadinya angin dipengaruhi oleh beberapa faktor yang menyebabkan angin dapat ada dan muncul antara lain sebagai berikut..
• Gradien Barometris, adalah bilang yang menampilkan adanya perbedaan tekanan udara dari 2 isobar pada jarak 111 km. Dimana semakin besar gradien barometris, maka semakin cepat juga tiupan angin.
• Letak Tempat, adalah angin lebih cepat yang berada/dekat di garis khatulistiwa, dari pada yang jauh dari khatulistiwa.
• Tinggi Tempat, Tinggi rendahnya tempat/lokasi dapat mempengaruhi karena semakin tinggi tempat tersebut, maka semakin kencang angin bertiup, dan sebaliknya, Hal ini dapat terjadi karena disebabkan oleh pengaruh gaya gesekan yang menghambat laju udara. Di permukaan yang tidak merata seperti gunung, pohon dan tempat lainnya memberikan gaya gesekan yang besar.
• Waktu, Disiang hari angin bergerak lebih cepat dari pada di malam hari.
Sifat-Sifat Angin - Angin memiliki beberapa sifat antara lain sebagai berikut..
• Angin mempercepat pendingin dari benda panas
• Angin menimbulkan tekanan dari permukaan yang menentang atau menghalangi arah angin tersebut.
• Kecepatan angin bervariasi dari suatu tempat ke tempat lain, dan dari waktu ke waktu.
2.1 Mikrokontroler8535
Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang dikemas dalam sebuah chip, artinya di dalam sebuah IC mikrokontroler sebetulnya sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja, yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang
dimiliki oleh sebuah PC. Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang dimiliki oleh mikrokontroller akan menjadi lebih rendah bila dibandingkan dengan sistem komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.
Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroller memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan kemasannya yang kecil dan kompak membuat mikrokontroller menjadi lebih fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi.
2.1.2 Arsitektur Mikrokontroler AVR Atmega8535
Mikrokontroler ATmega8535 merupakan salah satu varian atau jenis
dari keluaraga mikrokontroler 8-bit AVR (Advanced RISC Architecture).
Beberapa fitur yang dimiliki Mikrokontroler ATmega 8535 adalah memiliki memori In-System Selt-Programmable Flash 8K Bytes, 512 Bytes EEPROM, dan 512 Bytes Internal SRAM.
Mikrokontroler ATmega8535 memiliki 2 8-bit Timer/Counter, RTC (Real Time Counter), 4 PWM chanel, 8-chanel 10-bit ADC, 1 programable serial USART, master/slave SPI serial interface, dan memiliki 32 programmable I/O.
Sedangkan untuk power, ATmega 8535 dapat dicatu menggunakan tegangan 2.7 –
5.5V (untuk ATmega8535L) dan 4.5 – 5.5V (untuk ATmega8535) dengan frekuensi clock maksimum adalah 16MHz.
Sistem minimum Mikrokontroler ATmega8535 merupakan rangkaian minimum yang dibuat agar sistem ini (mikrokontroler ini) dapat bekerja dan berfungsi dengan semestinya. Sistem minimum ini meliputi catu daya mikrokontroller (vcc) yang berkisar antara 2,7 V – 5,5 V, kristal oscillator (opsional) yang berfungsi sebagai referensi kecepatan akses mikrokontroller (kristal oscillator diperlukan jika menginginkan referensi clock yang tinggi, tapi tanpa kristal oscillator pun mikrokontroler masih dapat bekerja, karena sudah memiliki referensi clock internal), referensi ADC (Analog to digital konverter), tombol reset, serta port-port I/O
2.1.2 Konfigurasi Pin Atmega8535
Gambar 2.1 konfigurasi pin Atmega8535
Konfigurasi pin ATmega8535 bisa dilihat pada gambar 2.1, Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATmega8535 sebagai berikut :
a. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.
b. GND merupakan pin ground.
c. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
d. Port B (PB0..PB7) merupakan pin I / O dua arah dan pin fungsi khusus, yaitu Timer
Counter. Komparator analog dan SPI
e. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI,
komparator analog dan Timer Oscilator.
f. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator
analog, interupsi eksternal dan komunikasi serial.
g. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
i. AVCC merupakan pin masukan tegangan untuk ADC.
j. AREF merupakan pin masukan tegangan referensi ADC.
2.2. Kontruksi bahasa BASIC pada BASCOM-AVR
Setiap bahasa pemprograman mempunyai standar penulisan program. Konstruksi dari program bahasa BASIC harus mengikuti aturan sebagai berikut:
$regfile = “header”
’inisialisasi
’deklarasi variabel
’deklarasi konstanta
Do
’pernyataan-pernyataan
Loop
end
2.3 Pengarah preprosesor
$regfile = “m16def.dat” merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini adalah file m16def.dat yang berisi deklarasi register dari mikrokonroller ATmega 16, pengarah preprosesor lainnya yang sering digunakan ialah sebagai berikut:
$crystal = 12000000 ‘menggunakan crystal clock 12 MHz
$baud = 9600 ‘komunikasi serial dengan baudrate 9600
$eeprom ‘menggunakan fasilitas eeprom
2.4 Tipe Data
Tipe data merupakan bagian program yang paling penting karena sangat berpengaruh pada program.Pemilihan tipe data yang tepat maka operasi data menjadi lebih efisien dan efektif.
Tabel 1 Tipe Data pada BASCOM AVR
No Tipe Jangkauan
12345
6
7
8
BitByteIntegerWordLong
Single
Double
String
0 atau 10 – 255-32,768 – 32,7670 – 65535-
2147483648 – 2147483647
1.5 x 10^–45 – 3.4 x 10^38
5.0 x 10^–324 to 1.7 x 10^308
>254 by
Konstanta
Konstanta merupakan suatu nilai dengan tipe data tertentu yang tidak dapat diubah-ubah selama proses program berlangsung. Konstanta harus didefinisikan terlebih dahulu diawal program.
Contoh : Kp = 35, Ki=15, Kd=40
Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program yang dapat diubah-ubah sesuai dengan kebutuhan. Nama dari variable terserah sesuai dengan yang diinginkan namun hal yang terpenting adalah setiap variabel diharuskan :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf, max 32 karakter.
2. Tidak boleh mengandung spasi atau symbol-simbol khusus seperti :$, ?,
%, #, !, &, *, (, ), -, +, = dan lain sebagainya kecuali underscore.
3. Deklarasi
Deklarasi sangat diperlukan bila akan menggunakan pengenal (identifier) dalam suatu program.
Deklarasi Variabel
Bentuk umum pendeklarasian suatu variable adalah Dim nama_variabelAS tipe_data
Contoh :Dim x As Integer ‘deklarasi x bertipe integer
Deklarasi Konstanta
Dalam Bahasa Basic konstanta di deklarasikan langsung.
Contohnya :S = “Hello world” ‘Assign string
Deklarasi Fungsi
Fungsi merupakan bagian yang terpisah dari program dan dapat dipanggil di manapun di dalam program. Fungsi dalam Bahasa Basic ada yang sudah disediakan sebagai fungsi pustaka seperti print, input data dan untuk menggunakannya tidak perlu dideklarasikan.
Deklarasi buatan
Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah :
SubTest ( byvalvariabelAs type)
Contohnya :Sub Pwm(byval Kiri As Integer , Byval Kanan As Integer)
Operator
Operator Penugasan
Operator Penugasan (Assignment operator) dalam Bahasa Basic berupa “=”.
Operator Aritmatika
* : untuk perkalian
/ : untuk pembagian
+ : untuk pertambahan
– : untuk pengurangan
% : untuk sisa pembagian (modulus)
Operator Hubungan (Perbandingan)
Operator hubungan digunakan untuk membandingkan hubungan dua buah operand atau sebuah nilai / variable, misalnya :
= ’Equality X = Y
< ’Less than X < Y
> ’Greater than X > Y
<= ’Less than or equal to X<= Y
>= ’Greater than or equal to X >= Y
Operator Logika
Operator logika digunakan untuk membandingkan logika hasil dari operator- operator hubungan. Operator logika ada empat macam, yaitu :
NOT ‘Logical complement
AND ‘Conjunction
OR ‘Disjunction
XOR ‘Exclusive or
Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit dari data yang ada di memori.
Operator bitwise dalam Bahasa Basic :
Shift A, Left, 2 : Pergeseran bit ke kiri
Shift A, Right, 2 : Pergeseran bit ke kanan
Rotate A, Left, 2 : Putar bit ke kiri
Rotate A, right, 2 : Putar bit ke kanan
2.5 Pernyataan Kondisional (IF-THEN – END IF)
Pernyataan ini digunakan untuk melakukan pengambilan keputusan terhadap dua buah bahkan lebih kemungkinan untuk melakukan suatu blok pernyataan atau tidak. Konstruksi penulisan pernyatan IF-THEN-ELSE-END IF pada bahasa BASIC ialah sebagai berikut:
IF pernyataan kondisi 1 THEN
‘blok pernyataan 1 yang dikerjakan bila kondisi 1 terpenuhi
IF pernyataan kondisi 2 THEN
‘blok pernyataan 2 yang dikerjakan bila kondisi 2 terpenuhi
IF pernyataan kondisi 3 THEN
‘blok pernyataan 3 yang dikerjakan bila kondisi 3 terpenuhi
Setiap penggunaan pernyataan IF-THEN harus diakhiri dengan perintah END IF sebagai akhir dari pernyatan kondisional.
Gambar 1.Diagram alir Pernyataan Kondisional (IF-THEN – END IF)
2.6 Pernyataan Kondisional (SELECT-CASE-END SELECT)
Pernyataan ini digunakan untuk melakukan pengambilan keputusan terhadap banyak kondisi. Konstruksi penulisan pernyatan SELECT-CASE-END SELECT pada bahasa BASIC ialah sebagai berikut:
SELECT CASE var
CASE ‘kondisi1 : ‘blok perintah1 Baca kondisi
Kondisi 1 Kondisi 2 Kondisi 3
…
Blok pernyataan 1 Blok pernyataan 2 Blok pernyataan 3
CASE ‘kondisi2 : ‘blok perintah2 CASE ‘kondisi3 : ‘blok perintah3 CASE ‘kondisi4 : ‘blok perintah4 CASE ‘kondisi5 : ‘blok perintah5 CASE ‘kondisi’n’ : ‘blok perintah’n’
END SELECT ‘akhir dari pernyatan SELECT CASE
Gambar 2. Diagram alir Pernyataan Kondisional (SELECT-CASE-END SELECT)
SELECT CASE BACA KONDISI
PENYELEKSIAN KONDISI YANG
SESUAI
BLOK PERNYATAAN YANG DISESUAIKAN DENGAN
KONDISI
END SELECT
BAB 3
PERANCANGAN DAN PEMBUATAN
3.1 Diagram blok system
Sistem Minimum Mikrokontroler
Atmega8535
Sensor Outocouple
r
LCD
Komunika si Serial
Sensor SHTT11
Sensor Rotary Encoder
PSA
Gambar 3.1 Diagram Blok 3.1.1 Fungsi Tiap Blok
1. Blok Sistem Minimum Mikrokontroler Atmega8535 : mengkonversi data dari setiap sensor SHTT11, sensor Outocoupler dan sensor rotary encoder
2. Blok Sensor SHTT11 : Sebagai pendeteksi dan inputan suhu dan kelembapan 3. Blok Sensor Outocoupler : Sebagai pendeteksi dan inputan kecepatan angin 4. Blok Sensor Rotary Encoder : Sebagai pendeteksi dan inputan arah angin 5. Blok PSA :Sebagaipenyedia tegangan ke system dan Sensor
6. Blok LCD : Sebagai Tampilan output
7. Blok Komunikas Serial : Sebagai tampilan dan penyimpanan data output
3.2 Rangkaian Power Supply 5 volt
Gambar 3.2 Rangkaian PSA 5v
Pada umumnya mikrokontroler membutuhkan tegangan 5 volt atau sesuai dengan datasheet, 3,3v sampai dengan 5,5 volt, selain tegangan dari pada itu mikrokontroler tidak akan berjalan normal. Inputan regulator yang digunakan 12V, dengan menggunakan IC7809 maka teganan akan stabil menjadi 5 volt, sesuai yang dibutuhkan oleh mikrokontroler.
3.3 Rangkaian Sistem Minmum Mikrokontroler Atmega 8535
Gambar 3.3 Sistem Minimum Mikrokontroler Atmega 8535
Dari gambar 3.3, Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada.Komponen utama dari rangkaian ini adalah IC Mikrokontroler Atmega8535.Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.
Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke Jack 10 Pin header sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke komputer melalui port paralel.
Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.
3.4 Perancangan Rangkaian LCD
Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio sebesar 1 KΩ untuk mengatur kontras karakter yang tampil.Gambar 3.4 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.
Gambar 3.4 Rangkaian LCD
Dari gambar 3.4, rangkaian ini terhubung ke PB.2 - PB.7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial.
Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller Atmega8535.
3.5 Perancangan sensor SHT11
Pada alat ini sensor yang digunakan untuk megukur suhu dan kelembapan adalah sensor SHT11. Dari gambar 3.5, rangkaian SHT11 terhubung ke PC0 dan PC1 pada sistem minimum mikrokontroler Atmega8535.
Gambar 3.5 rangkaian SHT11
3.6 Perancangan Sensor Optocoupler
Sensor Optocoupler merupakan sensor yang digunakan pada alat ini yang berfungsi untuk menentukan kecepatan angin. Dari gambar 3.6, sensor optocoupler terhunbung ke PB1 pada sistem mikrokontroler Atmega8535.
Pemasangan sensor optocoupler ditambahkan komponen resistor 330 ohm agar dapat difungsikan seperti pada gambar 3.6.
Gambar 3.6
3.7 Perancangan Sensor Rotary Encoder
Sensor rotary encoder merupakan sensor yang digunakan untuk penunjuk aranh angin pada alat ini. Pada alat ini sensor rotary encoder ke PA0 pada sistem minimum mikrokontroler Atmega8535 seperti pada gambar 3.7.
3.7 Sensor Rotary Encoder
3.8 FlowChart Sistem
Start
Inisiasi Port Mikrokontroler
Baca data sensor suhu, kelembapan,arah angin dan kecepatan angin
Conversi Analog To Digital
Tampil Lcd dan Print Data ke Port Krim data suhu, kelembapan,arah angin dan
kecepatan angin
Gambar 3.8 Flow chart sistem BAB IV
HASIL DAN PEMBAHASAN
4.1 Pengujian Sistem Minimum Mikrokontroler Atmega8535
Pengujian pada sistem minimum mikrokontroler Atmega8535 dilakukan dengan cara menghidupkan lampu led yang terhubung pada setiatp port pada mikrokontroler Atmega8535 dengan melakukan pemograman sederhana, program yang diberikan adalah sebagai berikut.
$regfile = "m8535.dat"
$crystal = 11059200
Config Portd.2 = Input Config Portd.3 = Input Portd.2 = 1
Portd.3 = 1
Config Portc = Output Portc = &B1111_1110
Selesai
Dim Fkanan As Bit
Fkanan = 1 Do
If Pind.2 = 0 Then Fkanan = 1
Elseif Pind.3 = 0 Then Fkanan = 0
End If
If Fkanan = 1 Then Rotate Portc , Right , 1 Else
Rotate Portc , Left , 1 End If
Waitms 500 Loo
End
Gambar 4.1 Pengujian Mikrokontroler Atmega8535
4.2. Pengujian Rangkaian Power Supply
Pengujian rangkaian regulator ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari output regulator 7805 menggunakan multimeter digital.Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt.Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak.
Gambar 4.2. Gambar tegangan output Power Supply 7805
4.3 Pengujian Rangkaian LCD
Bagian ini hanya terdiri dari sebuah LCD dot matriks 16x2 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port B dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD. Pengujian rangkaian LCD dilakukan dengan menampilkan kalimat pada LCD seperti pada gambar 4.2 dengan program yang diberikan adalah sebagai berikut,
$regfile = "8535def.dat"
$crystal = 11059200
$baud = 9600
Config Lcd = 16 * 2 Do
Cls
Cursor Off Locate 1 , 4 Lcd "test LCD"
Locate 2 , 2
Lcd "D3 Fisika USU"
Waitms 500 Loop
Gambar 4.3 Pengujian Rangkaian LCD
4.4 Pengujian Pemograman Rangkaian Sensor SHT11
Pengujian pemograman rangkain sensor SHT11 dilakukan dengan memasukkan program sebagai berikut :
$regfile = "8535def.dat"
$crystal = 11059200
$baud = 9600
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2
Dim Dataword As Word Dim Command As Byte Dim Calc As Single Dim Calc2 As Single Dim Rhlinear As Single Dim Rhlintemp As Single Dim Tempc As Single Dim Ctr As Byte Dim X As Word Dim Y As Single Dim Z As Single
Dim Suhu As String * 10 Dim Kelembaban As String * 10
Const C1 = -4 Const C2 = 0.0405 Const C3 = -0.0000028
Const S = .01 Const H = .00008 Sck Alias Portc.0
'sck output pada port c.0 Dataout Alias Portc.1
'ketika memanggil dataout port.c1 menjadi output Datain Alias Pinc.1
'ketika memanggil datain portc.1 menjadi input
Declare Sub Kirim() Ddrc = &B11111111 'port c sebagai output Config Pinc.0 = Output Config Pinc.1 = Output Wait 1
Set Dataout For Ctr = 1 To 12 Set Sck
Waitus 1 Reset Sck Waitus 1 Next Ctr
Do
Command = &B00000011 Call Kirim
'memanggil fungsi kirim Tempc = S * Dataword Tempc = Tempc - 40
Suhu = Fusing(tempc , "###.##")
'mengubah data single menjadi string dengan 2 angka dibelakang koma Command = &B00000101
Call Kirim
Calc = C2 * Dataword
Calc2 = Dataword * Dataword Calc2 = C3 * Calc2
Calc = Calc + C1 Rhlinear = Calc + Calc2 Calc = H * Dataword Calc = Calc + S Calc2 = Tempc - 25 Calc = Calc2 * Calc
Rhlintemp = Calc + Rhlinear
Kelembaban = Fusing(rhlintemp , "#.##") Cls
'Locate 1 , 1
'Lcd " Tes Suhu & RH"
Locate 1 , 1
Lcd " Suhu=" ; Suhu ; " " ; "C"
Locate 2 , 1
Lcd "Rh=" ; Kelembaban ; " " ; "%"
Loop
Sub Kirim()
Local Datavalue As Word Local Databyte As Byte Set Sck
Reset Dataout Reset Sck Set Sck Set Dataout Reset Sck
Shiftout Dataout , Sck , Command , 1 Ddrc = &B11111101
Config Pinc.1 = Input Set Sck
Reset Sck Waitus 10
Bitwait Pinc.1 , Reset
Shiftin Datain , Sck , Databyte , 1 Datavalue = Databyte
Ddrc = &B11111111 Config Pinc.1 = Output Reset Dataout
Set Sck Reset Sck
Ddrb = &B11111101
Config Pinc.1 = Input
Shiftin Datain , Sck , Databyte , 1 Shift Datavalue , Left , 8
Datavalue = Datavalue Or Databyte Dataword = Datavalue
Ddrc = &B11111111 Config Pinc.1 = Output Reset Dataout
Set Sck Reset Sck
Ddrc = &B11111101 Config Pinc.1 = Input
Shiftin Datain , Sck , Databyte , 1 Ddrc = &B11111111
Config Pinc.1 = Output Set Dataout
Set Sck Reset Sck End Sub
End
Gambar 4.4 Pengujian Sensor SHT11
4.5 Pengujian Rangkaian Sensor Optocoupler
Pengujian pemograman rangkain sensor Optocoupler dilakukan dengan memasukkan program sebagai berikut :
regfile = "8535def.dat"
$crystal = 11059200
$baud = 9600
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2
Const N = 4
Const R = 1.5 ' R=1.5 cm
Const K = 9.42 '2Phi*R Const Dua_pi = 6.28
Dim Rps As Single Dim V As Single Dim Lintasan As Single Dim Buffs As String * 16
Config Timer1 = Counter, Edge = Falling, Prescale = 1 Set Portb.1
Start Timer1
Do
Timer1 = 0 Start Timer1 Wait 1 Stop Timer1
Rps = Timer1 / N Lintasan = Rps * K
Lintasan = Lintasan / 10'merubah ke meter V = Lintasan
Buffs = Fusing(V, "#.##") Cls
Cursor Off Locate 1, 2
Lcd "Test Kec.Angin"
Locate 2, 2
Lcd "v=" ; Buffs ; " m/s"
Loop
Gambar 4.6 Pengujian Sensor Optocoupler
. 4.6 Pengujian Pemograman Rangkaian sensor Rotary Encoder
Rangkaian sensor rotary encoder yang keluarannya analog ( nilai tegangang) dilakuan dengan cara memberikan program pada rangkaian sensor rotary encoder agar keluarannya menjadi penunjuk arah angin. Programnya sebagai berikut:
$regfile = "8535def.dat" ' JENIS MIKROKONTROLER
$crystal = 11059200 ' CRYSTAL
$baud = 9600 'KECEPATAN MENGIRIM DATA
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Konfigurasi ADC mode adc single dan Prescaler otomatis
Start Adc 'mulai adc
Config Lcd = 16 * 2 'jenis lcd 16 x 2
Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2 ' output lcd
'=======Arah angin===========
Dim A As Word 'dimensi a word '==================
Cursor Off Do
A = Getadc(0) Cls
If A >= 0 And A <= 128 Then : Locate 1 , 1 : Lcd "Timur"
End If
If A > 128 And A <= 256 Then : Locate 1 , 1 : Lcd "Tenggara"
End If
If A > 256 And A <= 384 Then : Locate 1 , 1 : Lcd "Selatan"
End If
If A > 384 And A <= 512 Then : Locate 1 , 1 : Lcd "Barat Daya"
End If
If A > 512 And A <= 640 Then : Locate 1 , 1 : Lcd "Barat"
End If
If A > 640 And A <= 768 Then : Locate 1 , 1 : Lcd "Barat Laut"
End If
If A > 768 And A <= 896 Then : Locate 1 , 1 : Lcd "Utara"
End If
If A > 896 And A <= 1023 Then : Locate 1 , 1 : Lcd "Timur Laut"
End If
Locate 1 , 2 : Lcd "ADC = " ; A;
Waitms 200
Loop
Setelah dilakukan pemograman tersebut maka ketika sensor bekerja outpunya akan menjadi penunjuk arah angin yakni, Timur, Tenggara, Selatan, Barat Laut, Barat, Utara dan Timur Laut dan akan ditampilkan sesuai arah angin.
BAB V PENUTUP 5.1 KESIMPULAN
Setelah melakukan tahap perancangan dan pembuatan sistem yang kemudian dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan sebagai berikut :
1. Piranti elektronik yang dibutuhkan dalam rangkaian pengukuran cuca ini adalah mikrokontroler Atmega8535, sensor SHT11, sensor Optocoupler, sensor Rotary Encoder dan LCD . alat ini dibuat dengan merangkai piranti piranti elektronik yang menjadi suatu sistem yang dapat mengukur keadaan cuaca yang meliputi suhu, kelempan, arah angin, dan kecepatan angin.
2. Output dari keseluruhan rangakian pengukuran cuaca ditampilkan pada LCD dan Komputer yang hasilnya sama.
Kirim data suhu, kelembapan, kecepatan angin dan arah angin Setiap 2 detik
3. Rangkain secara umum sudah dapat bekerja sesuai yang diharapkan, berjalan sesuai dengan rancangan untuk pengukuran cuaca.
5.2 SARAN
1. Diharapkan fungsi alat bisa diperluaslagi, agar tidak hanya bisa mengukur kecepatan, arah angin saja, kelembaban udara dan suhu. Tapi bisa diperluas dengan menambahkan fungsi lain seperti pengukur tekanan bahkan mengukur curah hujan.
2. Diharapkan alat yang saya rancang ini dapat dipergunakan untuk keperluan percobaan sekolah atau percobaan di Laboratorium.
3. Diharapkan pembaca dapat memberi saran dan kritik terhadap penulis dalam perancangan alat ini, dan penulis berharap alat ini dapat dikembangkan baik aplikasi maupun perancangan nya lebih baik.
DAFTAR PUSTAKA
Frank D Petruzella.1996.Elektronika Industri.yogyakarta:Andi Suryatmo.F.1986.Teknik Listrik Pegukuran. Jakarta:binaaksara
Flink,R.J dan O.G Brink. 1984. Dasar-Dasar Ilmu Instrumen. Jakarta:binacipta http://anasfalahuddin.blogspot.com/2015/01/mikrokontroler-atmega32.html
diakses tanggal 20 maret 2017
http://pe2nk87.wordpress.com/2010/12/13/sensor-optocoupler/
diakses tanggal 20 maret 2017
http://www.alldatasheet.com/view.jsp?searchword=SHT11&Field=4 diakses tanggal 20 maret 2017
http://konversi.wordpress.com//209/06/12/sekilas-rotary-encoder/
diakses tanggal 20 maret 2017