• Tidak ada hasil yang ditemukan

ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535 SKRIPSI MELANI KRISTINA

N/A
N/A
Protected

Academic year: 2022

Membagikan "ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535 SKRIPSI MELANI KRISTINA"

Copied!
70
0
0

Teks penuh

(1)

ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535

SKRIPSI

MELANI KRISTINA 160821010

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

MELANI KRISTINA 160821010

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(3)

PERNYATAAN

ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Agustus 2018

MELANI KRISTINA

(4)

PENGESAHAN SKRIPSI

(5)

ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535

ABSTRAK

Penelitian ini bertujuan untuk merancang dan merealisasikan sebuah alat yang dapat memudahkan pemakainya dalam menyiram dan mengukur kelembaban tanah. Alat ini menggunakan 3 buah sensor Soil Moisture sebagai sensor kelembaban tanah. Sensor tersebut akan merubah parameter kelembaban yang diinderanya menjadi tegangan.

Tegangan tersebut kemudian diubah menjadi data digital oleh ADC yang terdapat pada mikrokontroler ATMega8535. Mikrokontroler juga memiliki peranan dalam mengolah data tersebut dan mengirimkan data tersebut ke LCD. Pengiriman data dari mikrokontroler ke LCD dilakukan melalui port serial. Pengujian alat dilakukan dengan 6 tahapan, yaitu dengan menimbang masa tanah sebelum melakukan pengujian, pengukuran kelembaban tanah menggunakan alat ini dengan memasukan kadar air ke dalam tanah yang bervariasi, yaitu 0ml (dalam keadaan kering), 100ml, 200ml, 240ml, 480ml dan 500ml. Hasil pengukuran menunjukkan bahwa semakin banyak air yang dimasukan maka nilai kelembaban tanah semakin tinggi begitu juga sebaliknya. Dan dari pengujian alat ini semua rangkaian berfungsi dengan baik dan sesuai dengan yang telah di program.

Kata Kunci : LCD, Mikrokontroler ATMega8535, Motor Servo, Motor Dc, Sensor Kelembaban Tanah

(6)

AUTOMATIC SOIL HUMIDITY CONTROL EQUIPMENT BASED ON ATMEGA8535 MICROCONTROLLER

ABSTRACT

This study aims to design and realize a device that can facilitate the wearer in watering and measuring soil moisture. This tool uses 3 Soil Moisture sensors as a soil moisture sensor. The sensor will change the humidity parameters that are sensed to voltage. The voltage is then converted into digital data by the ADC contained in the ATMega8535 microcontroller. The microcontroller also has a role in processing the data and sending the data to the LCD. Data transmission from the microcontroller to the LCD is done through a serial port. Tool testing is carried out with 6 stages, namely by considering the period of the soil before testing, the measurement of soil moisture using this tool by entering the water content into the soil varies, namely 0ml (dry), 100ml, 200ml, 240ml, 480ml and 500ml. The measurement results show that the more water is added, the higher the soil moisture value and vice versa. And from testing this tool all the circuits function properly and in accordance with what has been programmed.

Kata Kunci : LCD, Microcontroller ATMega8535, Motor Servo, Motor Dc, Sensor Soil Moisture

(7)

PENGHARGAAN

Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, berkat rahmat dan karuniaNya penulis dapat menyelesaikan skripsi ini.

Skripsi ini berjudul ALAT PENGATUR KELEMBABAN TANAH SECARA OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535. Meskipun dalam proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha maksimal yang dilakukan penulis serta bantuan dari berbagai pihak, akhirnya skripsi ini dapat selesai. Atas bantuan dan motivasi yang diberikan, maka penulis mengucapkan banyak terima kasih kepada

1. Bapak Dr. Bisman Perangin-angin, M.Eng.Sc selaku pembimbing 1 yang telah membimbing serta membantu penulis dan memberikan ide, saran, dan kritik yang membangun sehingga penulis dapat menyelesaikan skripsi ini.

2. Bapak Awan Maghfirah, S.Si,M.Si selaku pembimbing 2 juga yang telah membimbing serta membantu penulis dan memberikan ide, saran, dan kritik yang membangun sehingga penulis dapat menyelesaikan skripsi ini.

3. Terimakasi Kepada Bapak Dr. Perdinan Sinuhaji, MS, sebagai ketua Departemen Fisika FMIPA USU, dekan dan wakil dekan FMIPA USU, Serta Seluruh staf dan dosen yang telah memberikan ilmu pengetahuan selama perkuliahan, yang membuka cakrawala berfikir serta pegawai tata usaha yang ikut mensukseskan proses belajar mengajar.

4. Terima kasih kepada Ayahanda dan Ibunda serta Abang saya Alm.

Antonius Sitompul dan kakak saya Intan Sari Sitompul, yang telah memberikan didikan terbaik bagi penulis, dan yang selalu memberikan dukungan bagi penulis sehingga penulis dapat menyelesaikan skripsi ini dan memberikan hasil yang terbaik. Skripsi ini penulis dedikasikan untuk mereka sebagai ungkapan penghargaan atas keikhlasan, kesabaran, dan kasih sayang yang tak terhingga. Hanya Tuhan Yang Maha Esa yang dapat membalas semua jasa dan kebaikan yang penulis terima dari berbagai pihak yang telah membantu dalam penyelesaian skripsi ini.

(8)

5. Kepala UPT Metrologi Legal Serdang Bedagai, ibu Sophia Aryani Siregar, S.ST dan seluruh staf, yang telah mendukung penulis untuk menyelesaikan skripsi ini.

6. Sahabat terbaik penulis terkhususnya indah, satrina, itok, nidya, dinda, dan Melin. selalu memberi nilai positif kepada penulis dan yang tidak pernah berhenti mendukung dan memotivasi penulis mulai dari pertama melanjut di Ekstensi Fisika hingga penulis menyelesaikan pendidikan dan mendapat gelar sarjana.

7. Rekan-rekan di Fisika Ekstensi 2016, Terkhususnya Ola, Wina, Diah, Ulfa teman seperjuangan yang saling mendukung dan menjadi penyemangat penulis dalam mengerjakan skripsi ini. Kepada Semua pihak yang tidak dapat disebutkan satu per satu, terimakasih atas semua bantuannya dalam menyelesaikan Skripsi.

Penulis menyadari bahwa dalam penyusunan skripsi ini masih terdapat kekurangan dan masih jauh dari kesempurnaan. Oleh karena itu, penulis sangat terbuka terhadap saran maupun kritikan dalam sebuah diskusi yang membangun dari pembaca.

Akhir kata penulis mengharapkan semoga skripsi ini dapat bermanfaat bagi penulis maupun khalayak ramai yang membacanya.

Medan, Agustus 2018

Melani Kristina

(9)

DAFTAR ISI

PERNYATAAN i

PENGESAHAN SKRIPSI ii

ABSTRAK iii

ABSTRACT iv

PENGHARGAAN V

DAFTAR ISI vi

DAFTAR TABEL vii

DAFTAR GAMBAR ix

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Tujuan Penelitian 1.3. Perumusan Masalah

3 3

1.4. Batasan Masalah 3

1.5. Manfaat Penelitian 4

1.6. Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 5

2.1. Mikrokontroler ATMega8535 5

2.1.1. Arsitektur ATMega8535 6

2.1.2. Konfigurasi Pin ATMega8535 8

2.2. Sensor Soil Moisture 13

2.3. Bahasa Pemrograman ARDUINO 16

2.4. LCD 20

2.5. Relay 22

2.6. Motor Stepper 26

2.6.1. Rangkaian sederhana pengendali/Driver Motor Stepper 27

BAB 3 METODE PENELITIAN 29

3.1. Diagram Blok 29

3.2. Rancangan Perangkat Keras 30

3.2.1. Rangkaian Catu Daya 30

3.2.2. Rangkaian Mikrokontroler ATMega8535 33 3.2.3. Rangkaian Sensor Kelembaban Tanah 32

3.2.4. Rangkaian LCD 33

3.3. Rancangan Perangkat Lunak 34

BAB 4 HASIL DAN PEMBAHASAN SISTEM 43

(10)

4.1. Pengujian Rangkaian Catu Daya 43 4.2. Pengujian Rangkaian Mikrokontroler ATMega8535 44 4.3. Pengujian Rangkaian Sensor Kelembaban Tanah 45

4.4. Pengujian Rangkaian LCD 46

4.5. Pengujian Motor Stepper 47

BAB 5 KESIMPULAN DAN SARAN 49

5.1. Kesimpulan 49

5.2. Saran 49

DAFTAR PUSTAKA LAMPIRAN

(11)

Daftar Tabel

Tabel 2.1. Penjelasan Pin Pada Mikrokontroler ATMega8535 9

Tabel 2.2. Penjelasan Pin Pada PORT A 10

Tabel 2.3. Penjelasan Pin Pada PORT B 11

Tabel 2.4. Penjelasan Pin Pada PORT C 12

Tabel 2.5. Penjelasan Pin Pada PORT D 13

Tabel 2.6. Deskripsi Arduino Uno 16

Tabel 2.7. Konfigurasi Pin LCD 21

Tabel 4.1. Hasil Pengukuran Tegangan Rangkaian Catu Daya 43 Tabel 4.2. Hasil Pengukuran Tegangan Rangkaian ATMega8535 49 Tabel 4.3. Hasil Pengukuran Tegangan Rangkaian ATMega8535 9 Tabel 2.2. Penjelasan Pin Pada PORT A

Tabel 2.3. Penjelasan Pin Pada PORT B 11

Tabel 2.4. Penjelasan Pin Pada PORT C 12

(12)

Daftar Gambar

Gambar 2.1. Peta Program Memory 7

Gambar 2.2. Peta Data Memory 8

Gambar 2.3. Konfigurasi Pin ATMega8535 8

Gambar 2.4. Bentuk Wujud Sensor Kelembaban Tanah 13

Gambar 2.5. Tampilan Awal Software Arduino 14

Gambar 2.6. LCD 18

Gambar 2.7. Relay dan Simbol Relay 21

Gambar 2.8. Rangkaian Relay 22

Gambar 2.9. Prinsip Kerja Motor Stepper 25

Gambar 2.10. Rangkaian Sederhana Penggerak Motor 26

Gambar 3.1. Diagram Blok Alat 28

Gambar 3.2. Rangkaian Lengkap 29

Gambar 3.3. Rangkaian Catu Daya 30

Gambar 3.4. Rangkaian Mikrokontroler ATMega8535 30

Gambar 3.5. Rangkaian Sensor Kelembaban Tanah 31

Gambar 3.6. Sensor Kelembaban Tanah 31

Gambar 3.7. Rangkaian LCD 32

Gambar 3.8. Flowchart Program Pada PC 33

Gambar 4.1. Letak Titik Uji Pada Rangkaian Catu Daya 38 Gambar 4.2. Pengujian Rangkaian Mikrokontroler ATMega8535 39 Gambar 4.3. Pengujian Rangkaian Sensor Kelembaban Tanah 43

Gambar 4.4. Pengujian Rangkaian LCD 44

Gambar 4.5. Pengujian Rangkaian motor 45

(13)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Tanah merupakan elemen dasar yang tidak terpisahkan dalam dunia pertanian. Tanpa adanya tanah mustahil kita bisa menanam padi, palawija, sayuran, buah-buahan maupun kehutanan meskipun saat ini telah banyak dikembangkan sistem bercocok tanam tanpa tanah, misalnya Hidroponik, Airoponik dan lain-lain, tetapi apabila usaha budidaya tanaman dalam skala luas masih lebih ekonomis dan efisien menggunakan media tanah. Mengingat pentingnya peranan tanah dalam usahatani, maka pengelolaan tanah untuk usahatani haruslah dilakukan sebaik mungkin guna menjaga kesuburan tanahnya.

Tanah yang memenuhi syarat agar pertumbuhan tanaman bisa optimal tentulah harus memiliki kandungan unsur hara yang cukup,mengandung banyak bahan organik yang menguntungkan.

Tanah yang semula subur dapat berkurang kualitasnya oleh beberapa faktor. Salah satu diantaranya adalah dengan seringnya tanah tersebut dimanfaatkan tanpa mengalami proses istirahat. Dengan seringnya kita memanfaatkan tanah, maka unsur hara yang terkandung di dalamnyapun sedikit demi sedikit akan berkurang. Tanah yang subur dan mudah di olah sangat menunjang pertumbuhan dan perkembangan tanaman.

Kelembaban tanah adalah air yang mengisi sebagian atau seluruh pori-pori tanah yang berada di atas water table. Definisi yang lain menyebutkan bahwa kelembaban tanah menyatakan jumlah air yang tersimpan di antara pori – pori tanah. kelembaban tanah sangat dinamis, hal ini disebabkan oleh penguapan melalui permukaan tanah, transpirasi dan perkolasi. Kelembaban tanah memiliki peranan yang penting bagi pemerintah untuk mengetahui informasi seperti potensi aliran permukaan dan pengendali banjir, kegagalan erosi tanah dan kemiringan lereng, manajemen sumber daya air, geoteknik, dan kualitas air.

Kelembaban tanah merupakan salah satu variabel kunci pada perubahan dari air

(14)

dan energi panas di antara permukaan dan atmosfer melalui evaporasi dan transpirasi.

Pada budidaya tanaman, ketersediaan air sangatlah penting. Bibit tanaman tidak bisa hidup dan berkembang dengan baik, jika air pada tanah tidak sesuai dengan kebutuhan. Untuk itu perlu dilakukan penyiraman bibit secara teratur dan terjadwal. Ketersediaan air harus lah benar-benar diperhatikan, jika kekerungan air bibit akan kering dan akhirnya mati. Sebaliknya jika kelebihan air bibit tanaman akan busuk. Dengan selalu terpenuhinya kebutuhan akan air, maka tanaman dapat tumbuh, berbuah dan berkembang biak dengan baik. Lain halnya dengan tanaman dewasa yang sudah tumbuh, ia telah memiliki akar yang banyak dan kuat sehingga mampu mencari air dengan sendirinya, jarang disirampun biasanya dapat bertahan hidup. Saat ini penyiraman bibit masih menggunakan tenaga manusia sehingga memerlukan tenaga dan waktu yang lama. Penyiraman bibit tanaman dapat dilakukan secara otomatis dengan memanfaatkan sensor pengendali yang dapat di program dalam mengontrol dan mengatur proses penyiraman bibit tanaman yang dapat diatur sesuai dengan kebutuhan air pada setiap tahapan pertumbuhan bibit sampai menjadi tanaman dewasa.

Esensi dari proses penyiraman tanaman sebenarnya bukan pada ukuran tingkat basah akan tetapi kelembaban tanah, sensor kelembaban tanah dapat memonitor tingkat kelembaban tanah dengan memanfaatkan mikrokontroler atmega8535.

Suhu tanah mempengaruhi proses-proses biologis di dalam tanah, seperti akvitas mikrobiologis, perkecambahan benih, dan pertumbuhan akar.

Dekomposisi bahan organic meningkat dengan bertambahnya suhu.

Perkecambahan diperlambat, apabila suhu tanah rendah dan penanaman harus dijadwalkan agar terhindar dari suhu yang tidak menguntungkan.

Hal yang mudah diingat mengenai suhu tanah maupun udara di daerah tropika adalah kekonstanannya dari pada nilai mutlaknya. Oleh karena itu, suhu tanah di daerah tropika dianggap jarang membatasi pertumbuhan tanaman.

Namun, ada dua contoh dimana suhu tanah bisa menjadi factor pembatas, yaitu suhu yang terlalu tinggi di permukaan tanah dan suhu yang terlalu rendah di pegunungan.

(15)

Suhu yang terlalu tinggi dapat diturunkan dengan pemberian air dan/atau penutup tanah. Penurunan suhu dengan pengairan bisa mencapai . Efektivitas penurunan suhu mudah tercapai dengan menggabungkan pengairan dan pemulsaan.

1.2. Tujuan Penulisan

Adapun Tujuan dari penulisan tugas akhir ini sebagai berikut :

1.

Merancang alat pengatur kelembaban tanah secara otomatis berbasis mikrokontroler atmega8535

2. Mengatur kelembaban tanah, sehingga tanaman menjadi subur karena terjamin kadar air di dalam tanah

1.3. Rumusan Masalah

Adapun permasalahan dalam penelitian ini adalah

1. Bagaimana cara merancang mikrokontroler dengan sensor kelembaban tanah dan diaplikasikan di budidaya tanaman?

2. Bagaimana mengintergrasikan antara sensor dengan penyiraman otomatis?

1.4. Batasan Masalah

Dalam perencanaan penulisan ini terdapat beberapa batasan masalah sebagai berikut:

1. Alat ini hanya meneliti dan pengontrol kelembaban tanah

2. Alat ini hanya dapat digunakan untuk proses penyiraman tanah secara otomatis

3. Mikrokontroler yang digunakan pada alat ini adalah mikrokontroler ATMega8535 yang di dalamnya sudah terintegrasi ADC.

4. Alat ini menggunakan sensor Soil Moisture dan tidak membahas tentang karakteristik sensor tersebut.

(16)

1.5. Manfaat Penelitian

1. Dengan adanya alat ini diharapkan bisa mendeteksi kelembaban tanah sehingga kita bisa mengatur kadar air di dalam tanah dengan cara menyiram air secara otomatis sesuai dengan kebutuhan tanaman.

2. Dengan adanya alat ini diharapkan bisa dipergunakan pengontrolan kelembaban tanah pada proses pembibitan tanaman yang membutuhkan kelembaban tertentu.

1.6. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman, maka penulis membuat sistematika penulisan skripsi ini sebagai berikut:

BAB 1 PENDAHULUAN

Meliputi latar belakang masalah, rumusan masalah, tujuan penulisan, batasan masalah, manfaat penulisan, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Dalam bab ini akan dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian, yang meliputi rangkaian sensor serta arsitektur dan konstruksi dari mikrokontroler yang digunakan.

BAB 3 PERANCANGAN ALAT DAN PROGRAM

Meliputi tentang perancangan rangkaian dan program yang digunakan.

BAB 4 PENGUJIAN DAN ANALISA

Meliputi pengujian alat dan analisanya.

BAB 5 KESIMPULAN DAN SARAN

Mengenai kesimpulan yang didapat setelah membuat proyek ini dan saran yang diberikan demi pengembangan proyek ini di masa mendatang.

(17)

BAB 2

LANDASAN TEORI

2.1 Mikrokontroler ATMega8535

Mikrokontroler adalah sebuah sistem mikroprosesor di mana di dalamnya sudah terdapat CPU, ROM, RAM, I/O, clock dan perlatan internal lainnya yang sudah terhubung dan terorganisasi dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip yang siap pakai. Sehingga, dengan demikian kita tinggal memprogram isi ROM sesuai dengan aturan oleh pabrik pembuatnya. Salah satu contoh mikrokontroler yang banyak beredar di pasaran adalah mikrokontroler ATMega8535.

ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fitur-fitur tersebut antara lain:

1. Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D 2. ADC (Analog to Digital Converter)

3. Tiga buah Timer/Counter dengan kemampuan perbandingan 4. CPU yang terdiri atas 32 register

5. Watchdog Timer dengan osilator internal 6. SRAM sebesar 512 byte

7. Memori Flash sebesar 8kb dengan kemampuan read while write 8. Unit Interupsi Internal dan External

9. Port antarmuka SPI untuk men-download program ke flash 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi 11. Antarmuka komparator analog

12. Port USART untuk komunikasi serial.

(18)

2.1.1 Arsitektur ATMega8535

Arsitektur mikrokontroler jenis AVR pertama kali dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of Texhnology yaitu Alf-Egil Bogen dan Vegard Wollan.

Mikrokontroler AVR kemudian dikembangkan lebih lanjut oleh Atmel.

Seri pertama AVR yang dikeluarkan adalah mikrokontroler 8 bit AT90S8515, dengan konfigurasi pin yang sama dengan mikrokontroler 8051, termasuk address dan data bus yang termultipleksi.

Mikrokontroler AVR menggunakan teknologi RISC dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode pengalamatannya. Pada awal era industry komputer, bahasa pemrograman masih menggunakan kode mesin dan bahasa assembly. Untuk mempermudah dalam pemrograman para desainer komputer kemudian mengembangkan bahasa pemrograman tingkat tinggi yang mudah dipahami manusia. Namun akibatnya, instruksi yang ada semakin kompleks dan membutuhkan lebih banyak memori.

Dan tentu saja siklus eksekusi instruksinya menjadi semakin lama. Dalam AVR dengan arsitektur RISC 8 bit, semua instruksi berukuran 16 bit sebagian besar dieksekusi dalam 1 siklus clock. Berbeda dengan MCS-51 yang instruksinya bervariasi antara 8 bit sampai dengan 32 bit dan dieksekusi selama 1 sampai 4 siklus mesin, dimana 1 siklus mesin membutuhkan 12 periode clock.

Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90Sxx, ATMega, AT86RFxx, dan ATTiny. Pada dasarnya yang membedakan masing-masing varian adalah kapasitas memori dan beberapa fitur tambahan saja.

ATMega8535 memiliki dua jenis memori yaitu data memory dan program memory ditambah satu fitur tambahan yaitu EEPROM memory untuk penyimpan data.

 Program Memory

ATMega8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian yaitu Boot Flash Section dan Application Flash Section.

Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali

(19)

diaktifkan. Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat oleh user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan Boot Loader. Besarnya memori Boot Flash Section dapat deprogram dari 128 word sampai 1024 word, tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah aman.

Gambar 2.1. Peta Program Memory

 Data Memory

Gambar berikut menunjukkan peta memori SRAM pada ATMega8535.

Terdapat 608 lokasi data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory, sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register File terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.

(20)

Gambar 2.2. Peta Data Memory

 EEPROM Data Memory

ATMega8535 memiliki EEPROM sebesar 512 byte untuk menyimpan data.

Lokasinya terpisah dengan sistem address register, data register, dan control register yang dibuat khusus untuk EEPROM.

2.1.2 Konfigurasi Pin ATMega8535

Gambar 2.3. Konfigurasi Pin ATMega8535

(21)

Mikrokontroler AVR ATMega memiliki 40 pin dengan 32 pin diantaranya digunakan sebagai port paralel. Satu port paralel terdiri dari 8 pin, sehingga jumlah port pada mikrokontroler adalah 4 port, yaitu port A, port B, port C dan port D. Sebagai contoh adalah port A memiliki pin antara port A.0 sampai dengan port A.7, demikian selanjutnya untuk port B, port C, port D.

Tabel 2.1 Penjelasan pin pada mikrokontroler ATMega8535

Vcc Tegangan suplai (5 volt)

GND Ground

RESET

Input reset level rendah, pada pin ini selama lebih dari panjang pulsa minimum akan menghasilkan reset walaupun clock sedang berjalan. RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi

masukan low selama minimal 2 machine cycle maka sistem akan di-reset

XTAL 1 Input penguat osilator inverting dan input pada rangkaian operasi clock internal

XTAL 2 Output dari penguat osilator inverting

Avcc

Pin tegangan suplai untuk port A dan ADC. Pin ini harus dihubungkan ke Vcc walaupun ADC tidak digunakan, maka pinini harus dihubungkan ke Vcc melalui low pass filter

Aref pin referensi tegangan analog untuk ADC

AGND

pin untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog

ground yang terpisah

Konfigurasi pin ATMega8535 dapat dilihat pada gambar 2.3 di atas. Dari gambar tersebut. Berikut ini adalah penjelasan dari pin mikrokontroler ATMega8535 menurut port-nya masing-masing:

(22)

1. Port A

Pin 33 sampai dengan pin 40 merupakan pin dari port A.

Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin pada port A juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:

Tabel 2.2 Penjelasan pin pada port A

Pin Keterangan

PA.7 ADC7 (ADC Input Channel 7) PA.6 ADC6 (ADC Input Channel 6) PA.5 ADC7 (ADC Input Channel 5) PA.5 ADC4 (ADC Input Channel 4) PA.3 ADC3 (ADC Input Channel 3) PA.2 ADC2 (ADC Input Channel 2) PA.1 ADC1 (ADC Input Channel 1) PA.0 ADC0 (ADC Input Channel 0)

2. Port B

Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up

(23)

resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B digunakan. Bit- bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port B juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:

Tabel 2.3 Penjelasan pin pada port B

Pin Keterangan

PB.7 SCK (SPI Bus Serial Clock)

PB.6 VISO (SPI Bus Master Input/Slave Output)

PB.5 VOSI (SPI Bus Master Output/Slave Input) PB.4 SS (SPI Slave Select Input)

PB.3 AIN1 (Analog Comparator Negative Input)OCC (Timer/Counter0 Output Compare Match Output)

PB.2 AIN0 (Analog Comparator Positive Input)INT2 (External Interrupt2 Input)

PB.1 T1 (Timer/Counter1 External Counter Input)

PB.0 T0 (Timer/Counter0 External Counter Input)XCK (JSART External Clock Input/Output)

3. Port C

Pin 22 sampai dengan pin 29 merupakan pin dari port C.

Port C sendiri merupakan port input atau output. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port C

(24)

langsung. Data Direction Register port C (DDRC) harus di-setting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam di bawah ini:

Tabel 2.4 Penjelasan pin pada port C

Pin Keterangan

PC.7 TOSC2 (Timer Oscillator Pin 2) PC.6 TOSC1 (Timer Oscillator Pin 1)

PC.1 SDA (Two-Wire Serial Bus Data Input/Output Line) PC.0 SCL (Two-Wire Serial Bus Clock Line)

4. Port D

Pin 14 sampai dengan pin 20 merupakan pin dari port D.

Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:

(25)

Tabel 2.5 Penjelasan pin pada port D

Pin Keterangan

PD.0 RDX (UART input line)

PD.1 TDX (UART output line)

PD.2 INT0 (external interrupt 0 input) PD.3 INT1 (external interrupt 1 input)

PD.4 OC1B (Timer/Counter1 output compare B match output)

PD.5 OC1A (Timer/Counter1 output compareA match output)

PD.6 ICP (Timer/Counter1 input capture pin) PD.7 OC2 (Timer/Counter2 output compare match output)

2.2 Sensor Kelembaban Tanah

(26)

Sensor kelembaban tanah yang menggunakan Emas Immersion yang melindungi nikel dari oksidasi. Electroless nikel emas perendaman (ENIG) memiliki beberapa keunggulan dibandingkan platings permukaan yang lebih konvensional (dan lebih murah) seperti HASL (solder), termasuk Planarity baik permukaan (sangat membantu untuk PCB dengan paket BGA besar), ketahanan oksidasi yang baik, dan kegunaan untuk kontak tidak diobati permukaan seperti switch membrane dan titik kontak.

Sensor kelembaban tanah dapat membaca jumlah kadar air dalam tanah di sekitarnya. Ini adalah sensor berteknologi rendah, tapi ideal untuk memantau kelembaban tanah, atau ketinggian air tanaman. Sensor ini menggunakan dua probe untuk melewati arus melalui tanah, dan kemudian membaca resistensi bahwa untuk mendapatkan tingkat kelembaban. Lebih banyak air membuat tanah menghantarkan listrik lebih mudah (resistensi kurang), sedangkan tanah kering menghantarkan listrik buruk (lebih tahan). Ini sangat membantu untuk penyiraman tanaman indoor, atau memonitor kelembaban tanah di kebun Anda.

Kadar air adalah sejumlah air yang terkandung di dalam suatu benda, seperti tanah (yang disebut juga kelembaban tanah), bebatuan, bahan pertanian, dan sebagainya. Kadar air digunakan secara luas dalam bidang ilmiah dan teknik dan diekspresikan dalam rasio, dari 0 (kering total) hingga nilai jenuh air di mana semua pori terisi air. Nilainya bisa secara volumetrik ataupun gravimetrik (massa), basis basah maupun basis kering.

kelembaban tanah yang optimum adalah kombinasi level kelembaban tanah basah, agak basah dan kering untuk fase pertumbuhan awal, vegetatif, tengah musim dan akhir musim. Kelembaban tanah pada level basah untuk fase awal dan vegetatif sangat penting untuk tanaman khususnya daerah perakaran dalam menyediakan air yang cukup untuk pertumbuhan akar, batang dan daun.

Kemudian, air irigasi dapat dikurangi untuk menjaga kelembaban tanah pada level agak basah di fase tengah musim untuk menghindari dan mengurangi jumlah bulir yang tidak produktif. Pada fase pertumbuhan akhir musim, kelembaban tanah pada level kering dapat diterapkan untuk menghemat air irigasi ketika pada fase ini kebutuhan air tanaman minimal. Dengan kombinasi ini, dari hasil simulasi menggunakan Algoritma Genetika didapatkan peningkatan produksi sebesar

(27)

4.40% dan produktifitas air sebesar 8.40% dibandingkan data empirik dengan air yang dapat dihemat sebesar 12.28%.

Gambar 2.5 Keterangan Sensor Kelembaban Tanah

Modul sensor ini memiliki 4-pin, yaitu GND (untuk ground), VCC (3.3 - 5Volt), AO (keluaran analog yang akan dibaca oleh Arduino), dan DO (dapat diatur sensitivitasnya menggunakan knb pengatur, dan menghasilkan logika digital HIGH/LOW pada level kelembaban tertentu). Untuk saat ini, hanya tiga pin yang kita manfaatkan, yaitu GND, VCC dan AO.

2.3 Bahasa Pemrograman ARDUINO

(28)

Gambar 2.6 Tampilan awal software arduino

Bahasa pemrograman arduino merupakan bahasa C yang sudah disederhanakan syntax bahasa pemrogramannya sehingga mempermudah kita dalam mempelajari dan mendalami mikrokontroller.

Deskripsi Arduio UNO:

Tabel 2.6 Deskripsi Arduino Uno

seperti bahasa pemrograman tingkat menegah pada umumnya arduino pun sama memiliki alur algoritma, berikut cara penulisan sintaknya.

(29)

1. Structure Pemrograman

Structure dasar dari bahasa pemrograman arduino itu sederhana hanya terdiri dari dua bagian.

void setup( ) {

// Statement;

}

void loop( ) {

// Statement;

}

Dimana setup( ) bagian untuk inisialisasi yang hanya dijalankan sekali di awal program, sedangkan loop() untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang untuk selamanya.

2. SETUP()

Fungsi setup() hanya di panggil satu kali ketika program pertama kali di jalankan.

Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial.

Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan.

void setup() {

pinMode(13,OUTPUT); // mengset ‘pin’ 13 sebagai output }

3. LOOP

Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop().\

void loop() {

digitalWrite(13, HIGH); // nyalakan ‘pin’ 13

(30)

delay(1000); // pause selama 1 detik digitalWrite(13, LOW); // matikan ‘pin’ 13 delay(1000); /// pause selama 1 detik }

4. FUNCTION

Function (fungsi) adalah blok pemrograman yang mempunyai nama dan mempunyai statement yang akan di eksekusi ketika function di panggil. Fungsi void setup() dan void loop() telah di bahas di atas dan pembuatan fungsi yang lain akan di bahas selanjutnya. Cara pendeklarasian function:

type functionName(parameters) {

// Statement }

5. KONSTANTA

Arduino mempunyai beberapa variable yang sudah di kenal yang kita sebut konstanta. Ini membuat memprogram lebih mudah untuk di baca. Konstanta di kelasifikasi berdasarkan group.

a. high/low

Konstanta ini mendifinisikan aktifitas pin HIGH atau LOW dan di gunakan ketika membaca dan menulis ke digital pin. HIGH di definisikan sebagai 1 sedangkan LOW sebagai 0.

digitalWrite( 13, HIGH );

b. input/output

Konstanta ini digunakan dengan fungsi pinMode() untuk mendifinisikam mode pin digital, sebagai input atau output

pinMode( 13, OUTPUT );

(31)

6. DIGITAL I/O

Input / Output Digital pada breadboard arduino ada 14, pengalamatnya 0 - 13, ada saat tertentu I/O 0 dan 1 tidak bisa di gunakan karena di pakai untuk komunikasi serial, sehingga harus hati-hati dalam pengalokasian I/O.

a. pinMode(pin, mode)

digunakan dalam void setup() untuk mengkonfigurasi pin apakah sebagai Input atau Output. Arduino digital pins secara default di konfigurasi sebagai input sehingga untuk merubahnya harus menggunakan operator pinMode(pin, mode).

pinMode (pin, OUTPUT); // mengset pin sebagai output digitalWrite(pin, HIGH); // pin sebagai source voltage

b. digitalRead(pin)

membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.

Value = digitalRead(pin); // mengset ‘value’ sama dengan pin

c. digitalWrite(pin, value)

digunakan untuk mengset pin digital. Pin digital arduino mempunyai 14 ( 0 – 13 ).

digitalWrite ( pin, HIGH ); // set pin to HIGH

7. ANALOG I/O

Input / Ouput analog pada breadboard arduino ada 6 pengalamatnya 0 - 5

a. DigitalWrite(pin, value)

digunakan untuk mengset pin digital. Pin digital arduino mempunyai 14 ( 0 – 13 ).

digitalWrite ( pin, HIGH ); // set pin to HIGH

(32)

b. Time delay(ms)

Menghentikan program untuk sesaat sesuai dengan yang di kehendaki, satuanya dalam millisecond.

Delay(1000); // menunggu selama satu detik

2.4 LCD (Liquid Crystal Display)

Gambar 2.7 LCD

LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan manusia sebagai penampil gambar/text baik monokrom (hitam dan putih), maupun yang berwarna. Teknologi LCD memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor ditemukan. Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika berlama-lama di depan monitor, monitor CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD.

LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan. Dalam keadaan normal, cairan yang

(33)

digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.

Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang dibelakang layar tampilan.

LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah :

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan.

2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3 bit control.

3. Ukuran modul yang proporsional.

4. Daya yang digunakan relative sangat kecil.

Tabel 2.7 Konfigurasi Pin LCD

Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng kaca yang telah ditanami elektroda logam transparan. Saat tegangan disatukan pada beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun

(34)

diri agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai bagian yang diaktifkan.

LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti Global Positioning System (GPS), baragraph display dan multimeter digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan digunakan metode Screening.

Metode screening adalah mengaktifkan daerah perpotongan suatu kolom dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua.

Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan warna.

2.5 Relay

Gambar 2.8 Relay dan Symbol Relay

Relay adalah sebuah saklar yang dikendalikan oleh arus. Bandingkan piranti ini dengan saklar reed. Memiiki sebuah kumparan tegangan-rendah yang dililikan

(35)

pada sebuah inti. Terdapat sebuah armature besi yang akan tertarik menuju inti apabila arus mengalir melawati kumparan. Armature ini terpasang pada sebuah tuas berpegas. Ketika armature tertarik menuju ini, kontak jalur bersama akan berubah posisinya dari kontak normal-tertutup ke kontak normal-terbuka.

Relay berupa saklar atau switch elektrik yang dioperasikan menggunakan listrik. Relay juga biasa disebut sebagai komponen electromechanical atau elektromekanikal yang terdiri dari dua bagian utama yaitu coil atau elektromagnet dan kontak saklar atau mekanikal.

Komponen relay menggunakan prinsip elektromagnetik sebagai penggerak kontak saklar, sehingga dengan menggunakan arus listrik yang kecil atau low power, dapat menghantarkan arus listrik yang memiliki tegangan lebih tinggi.

Sebuah relay yang tipikal dari jenis ini dapat diaktifkan dalam waktu sekitar 10ms. Sebagian besar relay modern ditempatkan di dalam sebuah kemasan yang sepenuhnya tertutup rapat. Kebanyakan di antaranya, memiliki kontak-kontak jenis SPDT, namun terdapat juga versi DPDT. Relay-relay yang berukuran lebih besar dapat menyambungkan arus hingga 10A pada tegangan 250V AC. Tegangan maksimun untuk pensaklaran DC selalu jauh lebih rendah, seringkali bahkan hanya setengah dari tegangan maksimum untuk AC. Terdapat juga relay-relay miniature, yang cocok untuk ditancapkan pada papan-papan rangkaian.

Rangkaian ini berfungsi sebagai driver atau pengendali beban output yang dapat digunakan dihampir semua rangkaian pengendali/control. Pada aplikasinya driver digunakan sebagai jembatan antara rangkaian sensor dengan rangkaian utama. Rangkaian sensor dapat berupa rangkaian sensor cahaya, mekanik dan lain sebaginya.Sedangkan rangkaian utama adalah rangkaian yang akan dikendalikan misalnya sirine, lampu, pompa air dan lain sebagainya.

Relay dapat menggunakan tegangan koil/kumparan 5V, 6V, 9V, 12 V maupun 24V tergantung dari tegangan sumber yang digunakan. Pada gambar diatas menggunakan tegangan koil 12V karena tegangan sumber yang terpasang adalah 12V. Sedangkan untuk kontak dapat digunakan sebagaimana saklar manual biasa.

(36)

Gambar 2.9 Rangkaian Relay

Cara kerja rangkaian driver diatas adalah pada saat kaki basis transistor diberi tegangan positif yang dari misalnya output rangkaian sensor maka transistor akan menghantarkan arus negative dari kaki emitor ke kaki kolektor (transistor jenis NPN). Hal ini menyebabkan relay bekerja. Kontak-kontak relay akan berpindah dari C-NC ke C-NO. Jika tegangan input pada kaki basis ditiadakan, maka kaki kolektor transistor tidak akan mengeluarkan tegangan negative sehingga relay akan non aktif kembali.

Pemasangan diode digunakan untuk menghilangkan tegangan induksi yang sangat tinggi pada saat perubahan dari ada manjadi tidak ada arus dari transistor.

Tegangan induksi ini sangat tinggi dan akan merusak transistor. Dioda yang digunakan 1N4001 atau 1N4002.

Kaki-kaki kontak pada relay dapat dihubungkan dengan beban lain baik DC maupun AC. Tetapi harus diperhatikan besar-kecilnya arus yang dapat dilewatkan melaui kontak relay. Besar kecilnya kemampuan kontak relay dapat berbeda pada tiap relay yang digunakan.

Relay magnetis dioperasikan switch. Switch ini, bagaimanapun, dapat memiliki beberapa set kontak bisa terbuka atau tertutup. Keuntungan dari relay kontrol. Sebuah perangkat percontohan tunggal dapat digunakan untuk mengontrol masukan atau kumparan relay, dan output atau kontak dapat mengontrol beberapa perangkat yang berbeda. Sebuah switch aliran digunakan untuk mengontrol kumparan relay FSCR (saklar kontrol aliran relay) terhubung ke baris. Ketika arus mengalir melalui kumparan, relay diberi energi, dan semua kontak FSCR mengubah posisi. Perhatikan bahwa salah satu kontak FSCR

(37)

dihubungkan secara seri dengan motor kompresor. Kontak ini tidak benar-benar mulai motor, tetapi memungkinkan thermostat untuk mengontrol motor. Jenis tertentu kontrol dikenal sebagai interlocking. Hendak digunakan untuk mencegah beberapa fungsi terjadi sampai beberapa fungsi lain telah terjadi, dalam hal ini, termostat tidak dapat memulai kompresor sampai ada aliran udara dalam sistem.

Kedua kontak FSCR biasanya terbuka. Ketika kumparan FSCR memberikan energi, kontak ini menutup dan menyalakan lampu pilot hijau untuk menunjukkan ada aliran udara dalam sistem. Kontak FSCR ketiga biasanya ditutup. Hal ini digunakan untuk mematikan lampu pilot merah, yang menunjukkan tidak ada aliran udara dalam sistem.

Relay beroperasi pada prinsip solenoid. Sebuah solenoid adalah perangkat listrik yang mengubah energi listrik menjadi gerakan linear. Sebuah kumparan kawat adalah luka di sekitar inti besi. Ketika arus mengalir melalui kumparan, medan magnet dikembangkan dalam inti besi. Medan magnet dari inti besi menarik lengan bergerak, yang dikenal sebagai dinamo, dan mengatasi kekuatan musim semi memegang lengan menjauh dari inti besi. Perhatikan bahwa kontak bergerak terhubung ke dinamo. Dalam posisi sekarang, kontak bergerak membuat koneksi dengan kontak stasioner. Set kontak ini biasanya tertutup. Ketika armature tertarik ke inti besi, kontak bergerak istirahat koneksi dengan satu kontak stasioner dan membuat koneksi dengan yang lain. Relay ini memiliki baik set biasanya terbuka dan biasanya tertutup kontak. Perhatikan bahwa kontak bergerak adalah umum untuk kedua kontak stasioner. Kontak bergerak akan menjadi umum dan kontak stasioner akan dicap biasanya terbuka dan biasanya tertutup. Dalam prakteknya, adalah umum untuk menemukan jenis relay dengan beberapa set kontak. Jika tegangan input pada kaki basis ditiadakan, maka kaki kolektor transistor tidak akan mengeluarkan tegangan negative sehingga relay akan non aktif kembali.

Komponen-komponen penyusun relay:

1. Koil (Kumparan)

Koil merupakan komponen utama relay yang digunakan untuk menciptakan medan magnet (elektromagnetik).

(38)

2. Input

Input merupakan bagian control relay. Relay membutuhkan tegangan masukan (VDC) untuk dapat mengoprasikan kumparan.

3. Common

Common merupakan bagian keluaran relay yang tersambung dengan normally closed (NC) dalam keadan normal.

4. Normally closed (NC)

Normally closed merupakan bagian saklar relay yang dalam keadaan normal (relay tidak di beri tegangan) terhubung dengan common.

5. Normally open (NO)

Normally open merupakan bagian saklar relay yang dalam keadaan normal (relay tidak diberi tegangan) tidak terhubung dengan common.

2.6 Motor Stepper

Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut.

Kelebihan Motor Stepper yaitu:

1. Kelebihan motor stepper dibandingkan dengan motor DC biasa adalah Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.

2. Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak 3. Posisi dan pergerakan repetisinya dapat ditentukan secara presisi

4. Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran)

5. Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC

6. Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya

7. Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.

(39)

Prinsip kerja motor stepper adalah mengubah pulsa-pulsa input menjadi gerakan mekanis diskrit. Oleh karena itu untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik.

Berikut ini adalah ilustrasi struktur motor stepper sederhana dan pulsa yang dibutuhkan untuk menggerakkannya :

Gambar 2.10 Prinsip Kerja Motor Stepper

Gambar diatas memberikan ilustrasi dari pulsa keluaran pengendali motor stepper dan penerpan pulsa tersebut pada motor stepper untuk menghasilkan arah putaran yang bersesuaian dengan pulsa kendali.

2.5.1 Rangkaian Sederhana Pengendali/Driver Motor Stepper

Jika rangkaian kontrol yang mengendalikan rangakaian motor driver ini berupa mikrokontroller atau komponen digital maka ada baiknya agar setiap port yang mengontrol rangkaian driver motor stepper ini diberi buffer terlebih dahulu agar tidak membebani port mikrokontroller yang digunakan. Seperti pada gambar 3, pin control_0, control_1, control_2 dan control_3 ini dapat dikontrol secara digital dengan menggunakan mikrokontroller dengan memberi komponen yang berfungsi sebagai buffer seperti pada gambar berikut.

Gambar 2.11 Rangkaian Sederhana Penggerak Motor Stepper

(40)

Pada gambar diatas hanya ditampilkan satu bagian untuk mengontrol satu buah kumparan motor stepper. Ada dua alternatif yaitu dengan menggunakan buffer terlebih dahulu atau menggunakan FET, yang mempunyai impedansi input yang sangat tinggi, sebagai komponen saklarnya. Tegangan Vmotor tidaklah harus selalu sama dengan tegangan VCC pada mikrokontroller. Oleh sebab itu digunakan sebuah komponen buffer yang mempunyai output open collector sehingga outputnya dapat di pull-up ke tegangan yang diinginkan.

Untuk dasar pemilihan transistornya adalah pada karakteristik IC (arus kolektor). Transistor ini harus merupakan transistor power yang mampu melewatkan arus sesuai dengan arus yang diperlukan oleh kumparan motor stepper ini. Jika arus yang ditarik oleh kumparan motor stepper ternyata lebih besar daripada kemampuan transistor maka transistor akan cepat panas dan dapat menyebabkan rusaknya transistor tersebut.

R pull-up sebesar 470 akan memberikan arus sebesar 10 mA ke basis transistor Q1. Jika Q1 mempunyai gain sebesar 1000 maka arus yang dapat diliewatkan adalah sekitar beberapa ampere, tergantung dari besar arus yang ditarik oleh kumparan motor stepper tersebut. Arus ini harus lebih kecil dari arus IC yang diperbolehkan.

Untuk komponen FET dapat digunakan komponen IRL540 yang dapat mengalirkan arus sampai 20 A dan mampu menahan tegangan balik sampai 100V.

Hal ini disebabkan oleh karena FET ini mampu menyerap tegangan spike tanpa perlindungan dioda. Tetapi komponen ini memerlukan heat sink yang besar dan harus cukup baik dalam hal penyerapan panasnya. Ada baiknya jika digunakan kapasitor untuk menekan level tegangan spike yang ditimbulkan dari transisi saklar dari on ke off pada rangkaian driver motor stepper.

(41)

BAB 3

METODE PENELITIAN

3.1. Diagram Blok Rangkaian

Sensor Soil Moisture 1

Sensor Soil Moisture 2

Sensor Soil Moisture 3

Mikrokontroler ATMega 8535

Relay Pompa

Driver Stepper

Motor Stepper

LCD

Tanah

Tombol 1 Tombol 2

Gambar 3.1. Diagram Blok Dari Rangkaian

Dari diagram blok di atas dapat dijelaskan setiap bloknya, pada bagian kiri blok diagram terdapat 3 sensor kelembaban tanah yaitu sensor soil moisture, yang berfungsi sebagai pendeteksi kelembaban tanah. Kelembaban tanah yang di ukur

(42)

pada alat ini terdapat penyiraman otomatis, yang dapat menyiram tanah secara otomatis. Penggerak alat ini menggunakan motor stepper yang dapat diatur perputarannya. jika keadaan tanah yang terbaca oleh sensor telah kering atau kelembabannya kurang dari yang telah ditentukan, maka relay dan stepper motor sama-sama bergerak, relay hidup sehingga pompa air dan motor stepper menyala dan bergerak untuk menggerakan nozzle air ke arah tanah yang kelembabannya kurang

3.2 Rancangan Perangkat Keras

Gambar 3.2. Rangkaian Lengkap

3.2.1 Rangkaian Catu Daya

Pengujian pada rangkaian power supply ini dapat dilakukan dengan cara mengukur besarnya tegangan yang terdapat pada test point yang ditunjukkan oleh gambar berikut ini:

(43)

Gambar 3.3. Rangkaian Catu Daya

Rangkaian ini menggunakan ic LM7805 sebagai regulator tegangan, sehingga tegangan keluaran dari rangkaian ini adalah 5V. Kapasitor digunakan sebagai filter tegangan, sehingga tegangan yang dihasilkan kualitasnya lebih baik dengan ripple tegangan yang rendah. Sebagai input tegangan dari rangkaian ini adalah dari PLN langsung.

3.2.2 Rangkaian Mikrokontroler ATMega8535

Gambar 3.4. Rangkaian Mikrokontroler Atmega8535

Rangkaian ini digunakan sebagai pusat pemrosesan data. Pada rangkaian ini, tegangan yang berasal dari sensor Kelembaban Tanah akan diubah menjadi data digital oleh mikrokontroler. Kemudian data tersebut dikonversi menjadi data Kelembaban dan dikirimkan ke LCD melalui rangkaian antarmuka port serial.

(44)

Mikrokontroler ini ini bekerja pada tegangan 5 volt. Input yang diolah berupa sensor kelembaban tanah. sensor terhubung dengan PORT A0,PORT A1 dan PORT A2. Data yang diperoleh dari sensor kelembaban tanah tersebut akan disimpan kemudian ditampilkan ke LCD untuk mengetahui nilai kelembaban tanah.

3.2.3. Rangkaian Sensor Kelembaban Tanah

Gambar 3.5. Rangkaian Sensor

Gambar 3.6. Sensor Kelembaban tanah

Sensor ini terdiri dari dua probe untuk melewatkan arus melalui tanah, kemudian membaca resistansinya untuk mendapatkan nilai tingkat kelembaban. Semakin

(45)

banyak air membuat tanah lebih mudah menghantarkan listrik (resistansi kecil), sedangkan tanah yang kering sangat sulit menghantarkan listrik (resistansi besar).

3.2.4. Rangkaian LCD

Berikut ini merupakan rangkaian yang digunakan untuk mengoperasikan LCD karakter 16x2.

Gambar 3.7. 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 5 KΩ untuk mengatur kontras karakter yang tampil.

Gambar 3.7 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.

Pada rangkaian ini digunakan trimpot yang dihubungkan pada pin 3 dari LCD. Hal ini bertujuan agar kontras pada karakter yang ditampilkan pada LCD dapat diatur tingkat kecerahannya. Pin 5 pada LCD dihubungkan langsung pada GND shingga logika pada pin ini selalu low. Hal ini akan menyebabkan LCD akan selalu pada mode Write, dimana LCD sifatnya akan selalu untuk menampilkan data dari mikrokontroler saja.

(46)

3.3. Rancangan Perangkat Lunak

Mulai

Inisialisasi

Baca Sensor 1

Baca Sensor 2

Baca Sensor 3

Konversi Nilai Sensor

Data di Proses

Tampil Nilai Sensor 1,2 dan 3 di LCD

If Nilai Sensor <50

If Nilai Sensor <50

If Nilai Sensor <50

Selesai Penyiraman

Aktif

Penyiraman Aktif

Penyiraman Aktif

Penyiraman Tidak Aktif

Penyiraman Tidak Aktif

Penyiraman Tidak Aktif

Y

Y

Y

T

T

T

Gambar 3.7. Flowchart Program Pada Mikrokontroler

(47)

Bahasa pemrograman yang digunakan pada penelitian ini adalah bahasa pemrograman ARDUINO. Berikut ini adalah listing program yang diisi pada mikrokontroler pada penelitian ini.

// defines pins numbers

const int stepPin = 4; //variable yang digunakan sebagai konfigurasi pin steper

const int dirPin = 3; //variable yang digunakan sebagai konfigurasi pin steper

const int en = 2; //variable yang digunakan sebagai konfigurasi pin steper

long x; //membuat variable dari type data long

int set = 50; //membuat variable dari type data integer

int sensor1; //membuat variable dari type data

integer

int sensor2;

int sensor3;

float rh1 ; //membuat variable dari type data float

float rh2;

float rh3;

int siram;

float rata_rata;

#define pump 15 //mendefinisikan pump adalah 15

#define pb1 14

#define pb2 13

bool setting = 0; //membuat variable dari type data bool

int counter = 50;

(48)

unsigned long previousMillis = 0; //membuat variable dari type data long

const long interval = 1000;

#include <LiquidCrystal.h> //memasukkan library lcd

LiquidCrystallcd(23, 21, 20, 19, 18, 17); //konfigurasi pin lcd

void setup() { //setting

lcd.begin(16,2); //inisialisasi lcd

pinMode(22,OUTPUT); //seting pin 22 menjadi output

pinMode(pump,OUTPUT); //setting nilai varible pump menjadi output

digitalWrite(22,LOW); //pin 22 logika LOW

pinMode(16,OUTPUT); //seting pin 16 menjadi output

digitalWrite(16,HIGH); //pin 16 logika HIGH

pinMode(stepPin,OUTPUT);

pinMode(dirPin,OUTPUT);

pinMode(A7,INPUT);

pinMode(pb1,INPUT);

pinMode(pb2,INPUT);

pinMode(en,OUTPUT);

digitalWrite(A7,HIGH);

digitalWrite(pb1,HIGH);

digitalWrite(pb2,HIGH);

(49)

lcd.clear(); //hapus karakter yang ada pada lcd

lcd.setCursor(0,0); //set posisi karakter yang akan di cetak x =0 dan y =0

lcd.print("set Nol"); //cetak karakter di lcd "set Nol"

lcd.setCursor(0,1);

lcd.print("booting");

set_nol = digitalRead(A7); //read limit switch

digitalWrite(dirPin,HIGH); //setting arah

digitalWrite(en,LOW);

while (set_nol!=0){ //stepper jalan ke posisi nol

digitalWrite(stepPin,HIGH);

delayMicroseconds(100);

digitalWrite(stepPin,LOW);

delayMicroseconds(500);

set_nol = digitalRead(A7);

}

digitalWrite(en,HIGH);

delay(1000);

digitalWrite(en,LOW);

digitalWrite(dirPin,LOW);

for(x = 0; x < 20; x++) { //stepper jalan sebanyak 20 step

digitalWrite(stepPin,HIGH);

delayMicroseconds(500);

digitalWrite(stepPin,LOW);

(50)

delayMicroseconds(1000);

}

lcd.clear();

}

void loop() {

if (digitalRead(pb2) == 0){setting = 1;lcd.clear();}

//jika tombol di tekan nilai setting

=1

while(setting == 1){ //berulang selama nilai setting = 1

tombol(); //baca fungsi

tombol

counter--; //counter dikurang 1

delay(200);

sensor(); //baca fungsi

sensor

lcd.setCursor(0,0);

lcd.print("Setting RH ");

lcd.setCursor(0,1);

lcd.print("Oto Close");

lcd.print(counter/5); //menampilkan nilai counter

if (counter <= 0){setting = 0;lcd.clear();} //jika counter < 0 nilai setting = 0

}

unsigned long currentMillis = millis();

if (currentMillis - previousMillis>= interval) {

//membaca ulang sensor interval 1 detik

(51)

previousMillis = currentMillis;

sensor();

}

if (rh1 < set || rh2 < set || rh3 <set){

siram = 0;

digitalWrite(pump,HIGH); //pompa aktif

lcd.setCursor(8,1);

// lcd.print("J");

}

else if (rh1 > 50 && rh2 > 50 && rh3 >50){

siram = 1;

digitalWrite(en,HIGH); //stepper disable

digitalWrite(pump,LOW); //pompa non aktif

lcd.setCursor(8,1);

// lcd.print("B");

}

if (siram == 0){ //proses siram akan berjalan selama nilai siram

= 0

digitalWrite(en,LOW);

digitalWrite(dirPin,LOW); //arah stepper kekanan

for(x = 0; x < 10500; x++) { //stepper bergerak sebanyak 10500 stepp

if (digitalRead(pb2) == 0){setting = 1;lcd.clear();}

(52)

digitalWrite(stepPin,HIGH);

delayMicroseconds(50);

digitalWrite(stepPin,LOW);

delayMicroseconds(100);

}

digitalWrite(dirPin,HIGH); //arah stepper ke kiri

for(x = 0; x < 10500; x++) { //stepper bergerak sebanyak 10500 stepp

if (digitalRead(pb2) == 0){setting = 1;lcd.clear();}

digitalWrite(stepPin,HIGH);

delayMicroseconds(50);

digitalWrite(stepPin,LOW);

delayMicroseconds(100);

}

sensor(); //memanggil fungsi

sensor

lcd.clear();

} }

void sensor(){

sensor1 = analogRead(A3); //read output sensor dan dipindahkan ke variabale sensor1

sensor2 = analogRead(A1);

sensor3 = analogRead(A2);

rh1 = sensor1 * 0.004887; //konversi output dari sensor menjadi

tegangan/volt

(53)

rh2 = sensor2 * 0.004887;

rh3 = sensor3 * 0.004887;

lcd.setCursor(0,0);

lcd.print("R1 R2 R3");

lcd.setCursor(13,0);

lcd.print("set");

lcd.setCursor(0,1);

rh1 = 112 -((rh1*20)*1.3); //konversi nilai rh menjadi persen

rh2 = 112 -((rh2*20)*1.3);

rh3 = 112 -((rh3*20)*1.3);

if (rh1 <0){rh1 =0;} //jika nilai rh < 0 niali rh

= 0

else if (rh1 >100){rh1 =99;} //jika nilai rh > 100 nilai rh =99

if (rh2 <0){rh2 =0;}

else if (rh2 >100){rh2 =99;}

if (rh3 <0){rh3 =0;}

else if (rh3 >100){rh3 =99;}

lcd.setCursor(0,1);

lcd.print(rh1,0);

lcd.setCursor(3,1);

lcd.print(rh2,0);

lcd.setCursor(6,1);

lcd.print(rh3,0);

// lcd.print(rata_rata,0);

// lcd.print("%");

(54)

lcd.print(set);

}

void tombol(){

if (digitalRead(pb2) == 0){set++;counter=50;}

//jika tombol 2 di tekan nilai set ditambah 1

else if (digitalRead(pb1) == 0){set--;counter=50;}

//jika tombol 1 di tekan nilai set dikurang 1

if (set >80){set =80;} //jika set > 80 nilai set tetap 80

else if (set <20){set = 20;} //jika set < 20 nilai set tetap 20

}

(55)

BAB 4

HASIL DAN PEMBAHASAN

4.1. Pengujian Rangkaian Catu Daya

Pengujian pada rangkaian power supply ini dapat dilakukan dengan cara mengukur besarnya tegangan yang terdapat pada test point yang ditunjukkan oleh gambar berikut ini:

Gambar 4.1. Gambar Letak Titik Uji Pada Rangkaian Catu Daya

Pengukuran tegangan pada titik – titik uji tersebut dilakukan menggunakan multimeter digital. Hasil pengukuran ditunjukkan oleh tabel berikut ini:

Tabel 4.1. Hasil Pengukuran Tegangan Pada Tiap Titik Uji

Titik Uji Tegangan (V)

TP1 11,8

TP2 11,8

TP3 4,9

(56)

4.2. Pengujian Rangkaian Mikrokontroler ATMega8535

Pengujian pada rangkaian ini dilakukan dengan cara mengisikan program sederhana ke dalam mikrokontrolernya. Kemudian, diamati apakah rangkaian dapat bekerja sesuai dengan perintah program yang diisikan ke dalam mikrokontroler tadi.

Gambar 4.2. Pengujian Rangkaian Mikrokontroler // defines pins numbers

const int stepPin = 4; //variable yang digunakan sebagai konfigurasi pin steper

const int dirPin = 3; //variable yang digunakan sebagai konfigurasi pin steper

const int en = 2; //variable yang digunakan sebagai konfigurasi pin steper

Referensi

Dokumen terkait

Tujuan dari tugas akhir ini adalah membuat alat yang mampu membaca besar nilai arus listrik AC dan kemudian mengirim informasi nilai arus listrik pada objek yang diukur melalui

Alat pengukur kelembaban tanah dirancang dengan menggunakan beberapa komponen, yaitu rangkaian generator sinyal yang akan menghasilkan gelombang dengan frekuensi

Relay adalah suatu komponen yang digunakan sebagai saklar penghubung atau pemutus untuk arus beban yang cukup besar, dikontrol oleh sinyal listrik dengan arus yang

Rangkian Driver Relay Rangkaian relay ini berfungsi sebagai pemutus arus listrik yang di kontrol melalui mikrokontroler .prinsip kerja rangkaian relai ini

Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem

Rangkian Driver Relay Rangkaian relay ini berfungsi sebagai pemutus arus listrik yang di kontrol melalui mikrokontroler .prinsip kerja rangkaian relai ini

Alat pengukur kelembaban tanah dirancang dengan menggunakan beberapa komponen, yaitu rangkaian generator sinyal yang akan menghasilkan gelombang dengan frekuensi

KESIMPULAN Pada perancangan sistem kontrol suhu dan motor menggunakan mikrokontroler Adwino Uno, sensor Termokopel sebagai pendeteksi perubahan suhu dan relay sebagai saklar untuk