BAB II TINJAUAN PUSTAKA 2.1 ANEMOMETER Anemometer adalah alat yang digunakan untuk mengukur arah angin dan kecepatan angin. Satuan meteorologi dari kecepatan angin adalah Knots ( Skala Beaufrot ). Sedangkan satuan meteorologi dari arah angin sebesar 0-360 arah mata angin. Anemometer harus ditempatkan di daerah terbuka. Pada saat tertiup angin, baling-baling yang terdapat pada anemometer akan bergerak sesuai arah angin. Di dalam anemometer terdapat alat pencatat yang akan menghitung kecepatan angin. Hasil yang diperoleh alat akan dicatat, kemudian dicocokan dengan skala Beaufrot. Anemometer digunakan untuk mengetahui arah angin kita dapat menggunakan bendera angin. Anak panah pada baling-baling bendera angin akan menunjukan ke arah mana angin bertiup. Cara lainnya dengan membuat kantong angin dan diletakan ditempat terbuka. Pergerakan udara atau angin umumnya diukur dengan alat cup counter anemometer, yang didalamnya terdapat dua sensor. Pergerakan udara atau angin umumnya diukur dengan alat cup counter anemometer, yang didalanya terdapat sensor yaitu: sensor reed switch untuk kecepatan angin dan arah mata angin. Untuk pengamatan angin permukaan anemometer dipasang dengan ketinggian 10 meter dan berada ditempat terbuka yang memiliki jarak dari penghalang sejauh 10 kali dari tinggi penghalang ( pohon, gedung, atau sesuatu yang menjulang tinggi ). Tiang anemometer dipasang menggunakan 3 buah kawat berada pada arah utara dari tiang anemometer dan antar 6
7 kawat membentuk sudut. Pemasangan penangkal petir pada tiang anemometer merupakan faktor penting terutama untuk daerah rawan petir. Hal ini mengingat tiang anemometer memiliki ketinggian 10 meter dengan ujung-ujung runcing yang membuat rawan terhadap sambaran petir. pembuatan program dalam skala besar (misalkan program mikrokontroler untuk control unit sebuah DVD player, dan sebagainya), pemrograman akan mengalami kesulitan jika menggunakan bahasa pemrograman tingkat rendah seperti bahasa assembly. Oleh karena itu dikembangkan sebuah kompeler yang dapat menerjemahkan bahasa bahasa tingkat tinggi (misalkan bahasa C, Pascal, dan sebagainya) kebahasa assembly sehingga pemrogram dapat membuat program pada mikrokontroler dengan menggunakan bahasa tingkat tinggi. Bahasa C cukup universal (tidak seperti bahasa assembly) sehingga dalam penggunaan mikrokontroler, bahasa C yang digunakan tidak jauh berbeda cara penulisan dan pemakaiannya sehingga pembaca tidak akan mengalami kesulitan yang berarti. Sebuah pemrograman harus tahu bentuk dan karakter perintah dalam bahasa pemrograman. 2.2.1 Struktur Pemrograman C Stuktur penulisan bahasa C pada program Arduino mempunyai dua buah fungsi yang harus ada, diantaranya : 1. Void setup ( ) { } Setiap kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino untuk pertama kalinya. Contoh : void setup() { // Set jumlah kolom dan baris LCD lcd.begin(16, 2);
8 // Buat tulisan di LCD lcd.print("hello, world!"); } 2. Void loop ( ) { } Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepas. Contoh : void loop() { // Set cursor ke kolom 0 dan baris 1 // Catatan: Baris dan kolom diawali dengan 0 lcd.setcursor(0, 1); // Cetak jumlah detik sejak reset terakhir lcd.print(millis()/1000); } 2.2.2 Syntax Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan. 1. //( komentar satu baris ) Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apa pun yang diketikkan dibelakangnya akan diabaikan oleh progam. Contoh : // ini komentar // // penampilan LCD //
9 2. /* */(Komentar banyak baris) Jika mempunyai banyak catatan, maka dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak diantara dua simbol tersebut akan diabaikan oleh program. Contoh : /* ini komentar */ /* ini termasuk komentar */ /* komentar dua baris */ Sedangkan komentar satu baris dengan tanda // Contoh : // ini sebuah komentar // 3. {} ( kurung kurawal ) Digunakan untuk mendefinisikan kapan blok progam mulai dan berakhir ( digunakan juga pada fungsi dan pengulangan ). Contoh : { / set jumlah kolom dan baris LCD Lcd.begin (16, 2 ); / buat tulisan di LCD Lcd.print ( selamat ) } 4. ; ( Titik koma ) Setiap baris kode diakhiri dengan tanda titik koma ( jika ada titik koma yang hilang maka progam tidak akan bisa berjalan).
10 Contoh : Lcd.begin (16, 2 ); Lcd.print ( selamat ); 2.2.3 Variabel Sebuah progam secara garis besar dapat didefiniskan sebagai intruksi untuk memindahkannya. 1. Int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767. 2. Long (long) Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,,483,647. 3. Boolean (boolean) Variable sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM. 4. Float (float) Digunakan untuk angka desimal (floating point). Memakai 4byte (32bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38. 5. Char (character) Menyimpan 1 karakter menggunakan kode ASCII( misalnya A = 65). Hanya memakai 1byte (8 bit) dari Ram. [2]
11 2.2 Arduino Uno Gambar 2.1 Bentuk Diagram Arduino Uno [4] Arduino Uno adalah pengendali mikro single-board yang bersifat open source, yang di turunkan dari wiring platform, yang di rancang untuk memudahkan penggunaan elektronik dalam berbagai bidang.hardware memiliki prosesor atmel AVR dan sofware memiliki bahasa pemrograman sendiri. Secara sofware Open source IDE yang digunakan untuk aplikasi mikrokontroller yang berbasis arduino platform. Secara hardware single board mikrokontroller yang bersifat open source hardware yang dikembangkan untuk arsitektur mikrokontroller AVR 8 bit dan ARM 32 bit. Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang didalamnya terdapat komponen utama yaitu sebuah chip mikrokontroller dengan jenis AVR. Mikrokontroller itu sendiri adalah chip atau IC (Integrated Circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroller adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output seperti yang diinginkan. Mikrokontroller bertugas sebagai otak yang mengendalikan input,
12 proses dan output sebuah rangkaian elektronik. Mikrokontroller banyak ditemukan perangkat elektronik sekeliling kita, misalnya Handphone, MP 3 Player, DVD, Televisi, AC, dll. Mikrokontroller juga dapat mengendalikan robot, baik robot mainan maupun industri. Komponen utama Arduino adalah mikrokontroller maka Arduino dapat diprogam menggunakan komputer sesuai kebutuhan. Gambar 2.2 Sekema Rangkaian Power Supply [5] 2.3 Sensor Penunjuk Arah Angin dan kecepatan angin Sensor yang digunakan untuk kecepatan dan arah angin berupa optocoupler. Optocopler terdiri dari 2 bagian yaitu transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi sumber cahaya terpisah. Biasanya optocoupler digunakan sebagai saklar elektrik yang bekerja otomatis. Prinsip kerja optocopler adalah jika antara photodiode dan LED terhalang maka photodiode tersebut akan off sehingga output kolektor akan berlogika high, dan sebaliknya jika antara photodiode dan LED tidak terhalang maka photodiode tersebut akan on sehingga outputnya akan berlogika low. Pengoprasian optocoupler dengan sebuah magnet yang ditempelkan pada baling-baling setiap kali putaran baling-baling, optocoupler beroprasi sangat cepat sejalan dengan sapuan magnet
13 yang melintasinya. Sinyal listrik yang dihasilkan dari proses induksi magnet ini dikirimkan ke kaki mikrokontroler arduino uno untuk mencacah jumlah pulsa yang dihasilkan putaran baling-baling. Gambar 2.3 Sensor Optocoupler [1] Penerimaan cahaya infra merah akan membuat transistor cahaya menginduksi dan menghasilkan keluaran berupa masukan logika rendah. Jadi keluaran rangkaian transduser akan berlogika rendah ketika transistor konduksi. Pada saat LED tidak konduksi ( Off ), LED tidak akan memancarkan cahaya infra merah sehingga transistor juga akan mati. Hal ini akan memberi keluaran dari transistor berlogika tinggi. [1] 2.4 LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) adalah salah satu komponen elektronik yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. Dipasaran tampilan LCD sudah tersedia dalam bentuk modul yaitu tampilan LCD beserta rangkaian pendukungnya termasuk ROM dll. LCD mempunyai pin data,
14 kontrol catu daya, dan pengatur kontras tampilan. LCD juga merupakan perangkat tamppilan yang paling umum dipasangkan di mikrokontroler, mengingat ukurannya yang kecil dan kemampuannya menampilkan karakter atau grafik yang lebih dibandingkan tampilan 7 segment. Gambar 2.4 LCD segment [6] LCD ini terbentuk dari beberapa 7 segment atau 16 segment, namun ada juga yang menggabungkan keduanya. LCD ini sering dipakai untuk jam digital. 2.5 Modul Bluetooth HC-06 Bluetooth adalah protokol komunikasi wireless yang bekerja pada frekuensi radio 2.4 GHz untuk pertukaran data pada perangkat bergerak seperti PDA, laptop, HP, dan lain-lain 1. Salah satu hasil contoh modul Bluetooth yang paling banyak digunakan adalah tipe HC-05. modul Bluetooth HC-05 merupakan salah satu modul Bluetooth yang dapat ditemukan dipasaran dengan harga yang relatif murah. Modul Bluetooth HC-05 terdiri dari 6 pin konektor, yang setiap pin konektor memiliki fungsi yang berbeda - beda. Untuk gambar module bluetooth dapat dilihat pada gambar 2.7 dibawah ini:
15 Gambar 2.5 Modul Bluetooth HC-06 [7] Modul Bluetooth HC-05 dengan supply tegangan sebesar 3,3 V ke pin 12 modul Bluetooth sebagai VCC. Pin 1 pada modul Bluetooth sebagai transmitter. kemudian pin 2 pada Bluetooth sebagai receiver. Berikut merupakan konfigurasi pin bluetoooth HC-05 ditunjukkan pada gambar 2.8 dibawah ini : Gambar 2.2 Konfigurasi Pin HC-05 Gambar 2.6 Konfigurasi Pin HC-06 [8]