• Tidak ada hasil yang ditemukan

Perancangan Alat Pemantauan Perubahan Suhu Air Danau Toba Berbasis Mikrokontroler Arduino Uno

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Alat Pemantauan Perubahan Suhu Air Danau Toba Berbasis Mikrokontroler Arduino Uno"

Copied!
18
0
0

Teks penuh

(1)

LANDASAN TEORI

Di bab ini, akan dijelaskan komponen - komponen yang digunakan untuk merancang pembuatan suatu alat pemantau suhu air danau toba dengan menggunakan sensor waterproof DS18B20 dengan menggunkan Mikrokontroller ATMega serta cara kerjanya.

2.1 Sensor suhu DS18B20

(2)

Karena setiap sensor DS18B20 memiliki silicon serial number yang unik, maka beberapa sensor DS18B20 dapat dipasang dalam 1 bus. Hal ini memungkinkan pembacaan suhu dari berbagai tempat.

Gambar 2.1 Sensor Suhu DS18B20

Meskipun secara datasheet sensor ini dapat membaca bagus hingga 125°C, namun dengan penutup kabel dari PVC disarankan untuk penggunaan tidak melebihi 100°C. Spesifikasi dari sensor suhu DS18B20 sebagai berikut :

1. Tegangan yang dibutuhkan sensor dari 3.0V sampai 5.5V power / data 2. Akurasinya ±0.5°C sampai -10°C, dan -10°C sampai +85°C

3. Batas temperatur sensor dari -55 sampai 125°C atau -67°F sampai +257°F 4. Menggunakan 1 kabel Antarmuka (Interface) dan hanya 1 digital pin untuk

komunikasi

5. Data pengenalan Identitas yang disimpan 64 bit 6. Memiliki batas peringatan jika suhu tinggi 7. Waktu tunggu data masuk 750ms

(3)

9. Bahan Stainless steel silinder 6 mm diametenya panjang 35mm 10. Diameter kabel : 4mm

11. Panjang kabel : 90cm

2.2 Mikrokontroler Arduino UNO

Arduino berawal dari Dilvre, Italia pada tahun 2005 dengan Pendirinya adalah Massimo Banzi dan David Cuartiellez. Arduino 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. Hardwernya memiliki prosesor atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Secara software Arduino adalah open source IDE yang digunakan untuk mendevelop aplikasi mikrokontroller yang berbasis arduino platform.

(4)

input tersebut dan kemudian menghasilkan output seperti yang diinginkan. Jadi pada mikrokontroller bertugas sebagai otak yang mengendalikan input, proses ,dan output sebuah rangkaian elektonik.

Gambar 2.2 Papan Board Arduino Uno

(5)

sinyal reset melalui tombol atau rangkaian eksternal. Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Seperti gambar papan PCB diatas mikrokontroler ATMega328 menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX).

Sebuah ATmega328 pada saluran board ini komunikasi serial melalui USB dan muncul sebagai com port virtual untuk perangkat lunak pada komputer. Firmware Arduino menggunakan USB driver standar COM, dan tidak ada driver eksternal yang dibutuhkan. Namun, pada Windows, file. Inf diperlukan. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board Arduino. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui chip USB-to serial dan koneksi USB ke komputer.

2.3 Perangkat Lunak (Arduino IDE)

(6)

.Ini berjalan pada Windows, Mac OS X, dan Linux. Berdasarkan pengolahan, avr gcc, dan perangkat lunak sumber terbuka lainnya.

Gambar 2.3 Tampilan Framework Arduino UNO

Framework ini berguna untuk menulis block kode program. Kemudian hasil isi dari kode yang ada akan dikompile untuk di upload ke dalam board arduino

2.4 Otomatis Tombol Reset

(7)

2.5 Catu Daya

Uno Arduino dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Sumber listrik dipilih secara otomatis. Eksternal (nonUSB) daya dapat datang baik dari AC - DC adaptor atau baterai. Adaptor ini dapat dihubungkan dengan cara menghubungkannya plug pusat - positif 2.1mm ke dalam board colokan listrik. Lead dari baterai dapat dimasukkan ke dalam header pin Gnd dan Vin dari konektor Power.

Board dapat beroperasi pada pasokan daya dari 6 - 20 volt. Jika diberikan dengan kurang dari 7V, bagaimanapun, pin 5V dapat menyuplai kurang dari 5 volt dan board mungkin tidak stabil. Jika menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak board. Rentang yang dianjurkan adalah 7 - 12 volt

2.6 Bahasa Pemograman Arduino

Arduino menggunakan pemrograman dengan bahasa C. Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.

1. void setup( ) { }, Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.

(8)

2.7 Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan : 1. // (komentar satu baris), Kadang diperlukan untuk memberikan catatan pada

diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.

2. /* */ (komentar banyak baris), Jika kita punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.

3. { }(kurung kurawal), Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).

4. ; (titk koma), Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).

5. variabel, Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.

6. int (integer), Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767. 7. long (long), Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte

(9)

8. boolean (boolean), Variabel sederhana yang digunakan untuk menyimpan

11. Operator Matematika, Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana).

a. = , Membuat sesuatu menjadi sama dengan nilai yang lain misalnya: x = 10 * 2, x sekarang sama dengan 20.

b. % Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2). c. + , Penjumlahan

d. - , Pengurangan e. * , Perkalian f. / , Pembagian

12. Operator Pembanding, Digunakan untuk membandingkan nilai logika. a. == , Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12

== 12 adalah TRUE (benar))

(10)

c. <, Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))

d. >, Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah)) Struktur Pengaturan

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan.

1. if, else, dengan format seperti berikut ini: if (kondisi) { } else if (kondisi) { } else {kondisi }, dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.

(11)

2.8 Pin Digital

Pin digital digunakan untuk mengirim sinyal digital berupa nilai 1 dan 0. Angka 1 menandakan bahwa pin memiliki kondisi HIGH dan angka 0 menandakan kondisi LOW. Untuk menggunakan pin digital ini digunakan fungsi sebagai berikut :

1. pinMode(pin, mode)

Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.

2. digitalWrite(pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground). 3. digitalRead(pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

2.9 Pin Analog

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.

(12)

1. analogWrite(pin, value)

Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. 2. analogRead(pin)

Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

2.10 Real Time Clock (RTC)

(13)

2.11 Android Smartphone

Android adalah sebuah sistem operasi berbasis Linux yang dirancang untuk mobile device seperti smartphone dan komputer tablet yang dikembangkan oleh Google. Beberapa fitur Android antara lain:

1. Application framework, yakni application framework yang bisa digunakan

untuk membangun aplikasi Android.

2. Dalvik Virtual Machine, yakni Java bytecode interpreter yang

diimplementasikan pada Android untuk mengganti Java Virtual Machine. 3. Integrated Browser, Android menyertakan browser berbasis WebKit sebagai

aplikasi standar.

4. Optimized graphics, Android mempunyai pustaka grafik 2D dan menyertakan pustaka grafik 3D OpenGL ES.

5. SQLite, adalah aplikasi basis data SQLite yang disertakan dalam Android.

6. Media Support, dukungan untuk memutar format multimedia yang banyak.

7. GSM telephony support, adalah kemampuan Android untuk mengakses

langsung hardware untuk komunikasi GSM. Dimana dukungan ini bergantung pada modul yang tersedia untuk masing-masing hardware GSM.

8. Bluetooth, EDGE, 3G, dan WiF i, dukungan untuk banyak jenis koneksi wireless.

9. Camera, GPS, compass dan accelerometer, dukungan untuk hardware

(14)

10. Rich development environment, tersedia software development yang lengkap.

2.12 Versi Android

Versi disini hanya membahas tentang Android yang dirilis resmi oleh Google, berikut ini adalah rangkuman dari versi tersebut :

1. Versi 1.0 (codename tidak diketahui), dirilis pada September 2008 2. Versi 1.1 (codename tidak diketahui), dirilis pada Februari 2009 3. Versi 1.5 (codename Cupcake), dirilis September 2009

4. Versi 1.6 (codename Donut), dirilis September 2009

5. Versi 2.0, 2.0.1, 2.1 (codename Eclair), dirilis Oktober 2009 6. Versi 2.2 (codename Froyo), dirilis Mei 2010

7. Versi 2.3 (codename Gingerbread), dirilis Desember 2010 8. Versi 3.0/3.1 (codename Honeycomb), dirilis Mei 2011 9. Versi 4.1.x (codename JellyBean), dirilis Juli 2012

2.13 Perancangan PCB (Printed Circuit Board)

(15)

jalur yang dapat menghubungkan komponen – komponen agar membentuk rangkaian yang diinginkan. Proses pembuatan PCB dibagi menjadi tiga tahap yaitu :

1. Pembuatan layout PCB 2. Pembuatan jalur PCB 3. Proses Pembuatan PCB

4. Pelapisan dan pemasangan komponen

2.13.1 Pembuatan Lay Out PCB

(16)

2.13.2. Pembuatan Jalur PCB

Perencanaan jalur – jalur pada kertas milimeter sesuai dengan tata letak komponen, hubungan dibuat sesingkat mungkin dan sedapat mungkin dihindari penggunaan kabel penghubung. Jika perencanaan jalur – jalur sudah jadi maka rangkaian itu digambar pada kertas transparan (kalkir). Jalur dibuat dengan spidol, ukuran spidol disesuaikan dengan tebal jalur. Kertas transparan berguna sebagai klise dalam proses untuk pembuatan PCB.

2.13.3 Proses Pembuatan PCB

Dalam proses pembuatan PCB ada beberapa langkah yang dapat dilakukan, hal pertama yang dilakukan adalah lapisan tembaga dibersihkan dengan menggunakan bahan pencuci sehingga permukaan bebas dari debu dan bahan lemak yang melekat. Pola yang telah dibuat pada kertas dipindahkan kepermukaan PCB, jalurnya digambar dengan menggunakan spidol atau letraset. Letraset adalah gambar tempel yang dapat ditempelkan pada kertas atau PCB.

(17)

bahwa larutan ini dapat menyebabkan korosi sehingga wadah yang digunakan harus terbuat dari bahan non logam. PCB yang telah dipersiapkan dimasukkan kedalam larutan dengan permukaan tembaganya menghadap keatas sampai lapisan tembaga yang tidak tertutup spidol atau letraset larut dengan sempurna. Proses selanjutnya adalah mencuci PCB ini dengan menggunakan air sampai PCB ini benar – benar bersih kemudian dikeringkan. PCB yang telah dikeringkan dibor untuk pemasangan komponen dengan menggunakan mata bor 0.8 sampai dengan 1 milimeter. Bila telah selesai bersihkan serbuk – serbuk yang menempel pada papan PCB tersebut.

2.13.4 Pemasangan Komponen

Dalam pelapisan dan pemasangan komponen yang pertama sisi jalur PCB diamplas untuk meyakinkan jalur tersebut benar – benar bersih, kemudian jalur PCB dipoleskan dengan lotfet. Jalur yang telah dipoles lalu dilapisi dengan timah tipis secara merata kemudian pemasangan komponen dapat dilakukan.

2.14 Resitor

(18)

Gambar

Gambar 2.1 Sensor Suhu DS18B20
Gambar 2.2 Papan Board Arduino Uno
Gambar 2.3 Tampilan Framework Arduino UNO

Referensi

Dokumen terkait

A coher- ent strategy to provide routes into sustainable employment for people on DBs will therefore require: a range of employability-related services; integrated condition

Rasional : Membantu dalam diagnosa banding dan pemilihan metode tindakan. Ketidaknyamanan berkenaan dengan hematoma, karena tekanan dari

(3) Mengembangkan akses bagi daerah terisolasi dan pulau-pulau kecil di pesisir barat dan timur Sumatera sebagai sentra produksi perikanan, pariwisata, minyak dan gas bumi ke

Dari hasil pengukuran diketahui bahwa waktu tercepat penyelesaian target pekerjaan perakitan didapat pada kondisi 2, yaitu pada suhu panas dan intensitas cahaya

Tujuan penelitian ini adalah untuk mengetahui bagaimana tingkat stres kerja yang dialami oleh karyawan dan ada tidaknya hubungan antara tingkat stres kerja terhadap

20.4 Pemegang akaun seterusnya bersetuju bahawa jika Bank didakwa atau dijadikan pihak dalam sebarang guaman berbangkit daripada tindakan Bank yang Membekukan

Termasuk qaidah di dalam masalah ini adalah agar engkau tidak tergesa-gesa mencela orang lain yang berbuat buruk kepadamu, atau meremehkanmu, dan hendaklah engkau mempergaulinya

Hasil dari penelitian ini dengan menerapkan pembelajaran menggunakan pemrograman PHP dengan Codeigniter berbasis project based learning mampu membuat belajar lebih kreatif dan