28
BAB III
PERANCANGAN
3.1 PendahuluanPerancangan dan pembuatan sistem penyiram tanaman menggunakan web server merupakan solusi yang tepat untuk kemudahan pengontrolan dan pemantauan berkala jarak jauh. Hal ini karena dengan menggunakan alat ini, proses pengaturan dan pengontrol dapat dikontrol secara mudah dan dapat diakses menggunakan web browser. Selain itu alat ini sangat efisien karena dapat dikendalikan oleh smartphone yang telah banyak digunakan diberbagai kalangan. Adapun perancangan sistem dari alat ini akan dijabarkan sebagaimana perancangan Hardware dan Software berikut:
3.2 Diagram Blok Dan Prinsip Kerja 3.2.1 Diagram blok
Dalam perancangan hardware akan dipisahkan menjadi bagian blok yang lebih sederhana agar lebih mudah menganalisa apabila terjadi kesalahan atau kerusakan yang mungkin terjadi setelah semua hardware digabungkan.
Adapun diagram blok sistem adalah seperti gambar 3.1 dibawah ini :
Gambar 3.1 Diagram Blok Sistem Sumber : Perancang ATMEGA8535 Soil Moisture sensor 1 Tanaman Anggre (Realtime) Soil Moisture sensor 2 Tanaman Anggrek (terjadwal) RTC DS3231 AC 220 V Driver Relay Driver Relay Pompa Anturium POMPA Anggrek ATMEGA 64 WIFI ESP8266
29
3.2.2 Prinsip Kerja
Pada perancangan alat ini, mikrokokontroller ATMEGA8535 dirancang sebagai pengendali utama sistem, dimana pada kondisi awal, mikrontroller ATMEGA8535 melakukan inisialisasi input output serta proses pengolahan data modul WIFI agar modul dapat aktif pada jaringan server WIFI. Selanjutnya sistem menunggu koneksi client ke server dan menungu perintah dari client untuk proses pengontrolan dan pemantauan.
Jika terjadi koneksi dan pengiriman perintah dari client, maka sistem melakukan pembacaan perintah, selanjutnya sistem melakukan pengidentifikasian perintah yang dikirimkan dari smartphone atau PC dari web client tersebut melalui jaringan WIFI. Jika perintah yang dikirim sesuai, maka selanjutnya akan diproses oleh mikrokontroler untuk dieksekusi pada kontroller dalam menangani pembacaan dan pengontrolan sistem.
Pada kondisi yang sama mikrokontroller melakukan pembacaan kelembaban melalui moisture sensor pada tanaman anggrek dan anturium, pada sensor ini kelembaban tanah diukur melalui ADC dan dikonversi menjadi kelembaban, jika kelembaban rendah maka pada tanaman anggrek maka sistem akan melakukan penyiraman otomatis melalui driver relay untuk menyalakan pompa air, sementara itu pada tanaman anturium karena proses bergantung jadwal, maka sistem melakukan pembacaan RTC DS3231 untuk mengetahui jam dalam melakukan proses penyiraman. Setiap proses dikirim ke web server melalui modul WIFI sementara untuk proses penjadwalan yang diatur dari web browser dipantau dan kemudian perintah tersebut disimpan pada EEPROM ATMEGA untuk acuan jadwal penyiraman yang akan dilakukan.
3.3 Perencanaan Hardware
Agar sistem yang dirancang dapat berjalan dengan baik, maka sistem dan alur kerja dari suatu hardware dan software harus dirancang dengan baik dan dapat berfungsi sebagaimana mestinya. Adapun Perancangan hardware dan software dari sistem pengontrol dan pemantau pada penyiram tanaman menggunakan web server mengacu pada perancangan software dan hardware berikut ini :
30
3.3.1 Perancangan Modul Moisture sensor
Untuk dapat membaca kelembaban pada tanah maka dibutuhkan dua buah elektrode yang ditancapkan pada tanah tersebut. Selanjutnya resistansi yang didapat dari kedua lempeng dibaca dan dikonversi menjadi tegangan melalui rangkaian pengkondisi sinyal. Pada perancangan ini sensor kelembaban tanah dirancang menggunakan modul moisture sensor type SEN0114 buatan DFROBOT sebanyak 2 unit yang ditempatkan pada tanah tempat tanaman anggrek dan anturium. Pada modul ini terdapat 2 elektrode tembaga yang telah dirangkai dalam satu modul menggunakan rangkaian pengkondisi sinyal. Adapun keluaran dari sensor berupa tegangan dengan rentang 0 hingga 4,2V terhadap hasil kelembaban yang dibaca. Dengan demikian maka pada controller modul dibaca menggunakan ADC. Adapun konfigurasi pin pada ATMEGA8535 ditunjukkan pada gambar 3.2:
Gambar 3.2: Rangkaian modul moisture sensor
Sumber : Perancangan Op Amp G n d V cc V o ut
Modul Moisture sensor 1
Op Amp G n d V cc V o ut
Modul Moisture sensor 2
PC6/TOSC1 28 PC5 27 PC4 26 PC3 25 PC2 24 PC1/SDA 23 PC0/SCL 22 PC7/TOSC2 29 PA6/ADC6 34 PA5/ADC5 35 PA4/ADC4 36 PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 PA7/ADC7 33 PB6/MISO 7 PB5/MOSI 6 PB4/SS 5 PB3/AIN1/OC0 4 PB2/AIN0/INT2 3 PB1/T1 2 PB0/T0/XCK 1 PB7/SCK 8 PD6/ICP1 20 PD5/OC1A 19 PD4/OC1B 18 PD3/INT1 17 PD2/INT0 16 PD1/TXD 15 PD0/RXD 14 PD7/OC2 21 RESET 9 XTAL1 13 XTAL2 12 AVCC 30 AREF 32 MCU ATMEGA8535 5V 5V
31
3.3.2 Perancangan Modul WIFI Menggunakan Modul ESP8266
Untuk dapat berkomunikasi secara wireless antara sistem dengan PC atau smartphone pada web browser, maka pada perancangan ini digunakan perangkat WIFI to serial menggunakan modul ESP8266 yang dihubungkan ke rangkaian controller. ESP8266 merupakan piranti elektronik yang bekerja pada protokol wireless IEEE802.11.4/b/g/n atau yang umum dikenal dengan WIFI. Modul ini bekerja dengan komunikasi serial UART dengan variable baudrate 9600, 19200, 57600, 115200 dan diakses melalui protokol AT command sehingga dapat dihubungkan langsung ke serial mikrokontroller. Adapun hubungan pin ATMEGA8525 dengan ESP8266 ditunjukkan pada gambar 3.3:
Gambar 3.3 Rangkaian modul WIFI ESP8266 Sumber : Perancangan
3.3.3 Perancangan RTC DS3231
Untuk proses penghitung waktu pada perancangan, maka pada alat ini dibutuhkan sebuah RTC, adapun RTC yang digunakan adalah RTC keluaran Dallas Semiconductor tipe DS3231, yaitu sebuah chip RTC yang menggunakan komunikasi serial I2C bus. Adapun rangkaian RTC DS3231 ditunjukan pada Gambar 3.4: ANTENNA ANT TXD RXD Gnd ESP8266 WIFI PB0/T0/XCK 1 PB1/T1 2 PB2/AIN0/INT2 3 PB3/AIN1/OC0 4 PB4/SS 5 PB5/MOSI 6 PB6/MISO 7 PB7/SCK 8 RESET 9 XTAL2 12 XTAL1 13 PD0/RXD 14 PD1/TXD 15 PD2/INT0 16 PD3/INT1 17 PD4/OC1B 18 PD5/OC1A 19 PD6/ICP1 20 PD7/OC2 21 PC0/SCL 22 PC1/SDA 23 PC2/TCK 24 PC3/TMS 25 PC4/TDO 26 PC5/TDI 27 PC6/TOSC1 28 PC7/TOSC2 29 PA7/ADC7 33 PA6/ADC6 34 PA5/ADC5 35 PA4/ADC4 36 PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U1 ATMEGA16
32 Gambar 3.4 Rangkaian RTC DS3231
Sumber: Perancangan
Baterai 3V yang digunakan menggunakan lithium 3V CR2032 untuk melakukan proses update time pada saat catu daya utama RTC dinonaktifkan. RTC DS3231 diakses secara serial menggunakan interface I2C, sehingga hanya membutuhkan dua jalur yaitu clock dan data yang pada perancangan.
3.3.4 Perancangan Rangkaian Relay
Dalam perancangan alat ini, driver relay digunakan untuk memutus dan menyambung hubungan listrik dengan beban, dimana beban yang ditangani pada perancangan ini terdiri dari 7 buah output. Adapun rangkaian driver yang digunakan menggunakan IC buatan NEC semiconductor tipe ULN2003 yang digunakan sebagai pengontrol relay karena mampu mensuplay arus kolektor hingga 500mA pada setiap drivernya. Skema diagram dari driver relay menggunakan IC ULN2003 ditunjukkan dalam Gambar 3.5:
PC6/TOSC1 28 PC5 27 PC4 26 PC3 25 PC2 24 PC1/SDA 23 PC0/SCL 22 PC7/TOSC2 29 PA6/ADC6 34 PA5/ADC5 35 PA4/ADC4 36 PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 PA7/ADC7 33 PB6/MISO 7 PB5/MOSI 6 PB4/SS 5 PB3/AIN1/OC0 4 PB2/AIN0/INT2 3 PB1/T1 2 PB0/T0/XCK 1 PB7/SCK 8 PD6/ICP1 20 PD5/OC1A 19 PD4/OC1B 18 PD3/INT1 17 PD2/INT0 16 PD1/TXD 15 PD0/RXD 14 PD7/OC2 21 RESET 9 XTAL1 13 XTAL2 12 AVCC 30 AREF 32 U1 ATMEGA8535 SDA 17 RST 6 INT/SQW 5 32KHz 3 VBAT 16 SCL 18/20 U2 DS3231 BAT1 3V X1 16MHz 5v R1 10k 5v
33
Gambar 3.5 Rangkaian driver Relay
Sumber : Perancangan
Driver ULN2003 merupakan chip IC kumpulan driver transistor untuk memutus dan menyambung tegangan relay. Pada perancangan diatas, AC 220V (PLN) diputus melalui kontak relay yang digerakkan oleh koil relay tersebut sehingga saat input driver ULN2003 dipicu dari mikrokontroller sehingga motor pompa air dapat teraliri arus listrik dan menyala.
Berdasarkan datasheet, Driver ULN2003 mempunyai kemampuan mensuplay arus sebesar 500mA, selain itu output masing-masing driver dapat diparalel jika arus yang dibutuhkan relay kurang mencukupi. Pada perancangan ini, relay yang digunakan sebagai pemutus kontak AC menggunakan OMRON MY-2P/10A yang mempunyai resistansi coil sebesar 50Ω, dengan demikian, Arus coil relay dapat dicari sebagaimana berikut:
IRelay = ernal Coil R V int _ = 50 12 = 0.24 Amper = 240 mA 3.3.5 Catu Daya
Catu daya adalah bagian dari setiap perangkat eletronika yang berfungsi sebagai sumber tenaga. Catu daya sebagai sumber tenaga dapat berasal dari ; baterai, accu, solar cell dan adaptor. Komponen ini akan mencatu tegangan yang
PC6/TOSC1 28 PC5 27 PC4 26 PC3 25 PC2 24 PC1/SDA 23 PC0/SCL 22 PC7/TOSC2 29 PA6/ADC6 34 PA5/ADC5 35 PA4/ADC4 36 PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 PA7/ADC7 33 PB6/MISO 7 PB5/MOSI 6 PB4/SS 5 PB3/AIN1/OC0 4 PB2/AIN0/INT2 3 PB1/T1 2 PB0/T0/XCK 1 PB7/SCK 8 PD6/ICP1 20 PD5/OC1A 19 PD4/OC1B 18 PD3/INT1 17 PD2/INT0 16 PD1/TXD 15 PD0/RXD 14 PD7/OC2 21 RESET 9 XTAL1 13 XTAL2 12 AVCC 30 AREF 32 AVR ATMEGA8535 RL1 12V RL2 12V 1B 1 1C 16 2B 2 2C 15 3B 3 3C 14 4B 4 4C 13 5B 5 5C 12 6B 6 6C 11 7B 7 7C 10 COM 9 DRIVER RELAY ULN2003A
DC 12V (dari Power Suplay)
AC 220V ke POMPA 1 kePOMPA 2 X1 16MHz R1 10k 5v
34 di perlukan oleh rangakain elektronika. Rangakaian power supply sederhana dapat dilihat pada gambar 3.6
Gambar 3.6 Rangkaian Power Supply sederhana Sumber : ( Sapno Mujoko, 2009 )
3.3.6 Adaptor Power Supply
Adaptor Power Supply adalah adaptor yang dapat merubah tegangan listrik AC yang besar menjadi tegangan DC. Misalnya : dari tegangan 220V AC menjadi tegangan 5VDC, 9 VDC, atau 12 VDC.
Adaptor power supply di buat untuk menggantikan fungsi baterai dan accu agar lebih ekonomis. Adaptor power supply ada yang di buat sendiri, tetapi ada yang di buat di jadikan satu dengan rangkaian lain. Diagram blog Adaptor Power Supply dapat dilihat pada gambar 3.7.
STEPDOWN Penurunan Tegangan RECTIFIER Penyearah FILTER Penyaring STABILIZER/ REGULATOR Penstabil & Pengatur
Gambar 3.7 Diagram Blog Adaptor Power Supply Sumber : ( Sapno Mujoko, 2009 )
Keterangan :
1. Stepdown (penurunan tegangan)
Bagian ini berfungsi menurunkan tegangan AC 110/220V menjadi tegangan AC yang lebih rendah yang di perlukan ( 5V, 9V, 12V, dll).
35 2. Rectifier (penyearah)
Bagian ini merupakan bagian penyearah arus dari arus AC (bolak-balik) menjadi arus DC (searah). Bagian ini terdiri dari sebuah diode silicon, germanium, selenium atau cuprox.
3. Filter (penyaring)
Bagian ini berfungsi untuk menyaring arus DC yang masih berdenyut sehingga menjadi rata. Komponen yang di gunakan yaitu gabungan dari kapasitor elektrolit dengan resistor atau indictor.
4. Stabilizer
Bagian ini berfungsi menstabilkan tegangan DC agar tidak terpengruh oleh teganagn beban. Komponen ini berupa diode zener atau IC yang di dalamnya berisi rangkaian penstabil.
3.4 Perancangan Software
Agar seluruh hardware yang dirancang dapat dikontrol dan dimonitor oleh microcontroller, maka diperlukan software pengendali yang didownloadkan pada microcontroller tersebut. Perancangan software dirancang menggunakan software BASCOMM AVR. Sedangkan proses dari kerja masing-masing software mengacu pada algoritma kerja sistem sebagaiamana pembahasan berikut:
36 Gambar 3.8 Flowchart Sistem yang di rancang
Sumber : perancang Start Inisialisasi Aktifasi WIFI server Client connect? Cek Client Connection
Baca data sensor, waktu dan status pompa pada memori
Kirim data ke web http client T
Baca jam RTC Baca Sensor moisture 1
(anggrek)
Tanah Kering? penyiram anggrekNyalakan Pompa Y
Matikan Pompa penyiram anggrek
T
Baca Sensor moisture 2 (anturium)
Tanah Kering? Y
Matikan Pompa penyiram anturium
T Jadwal sesuai? T
Y
Nyalakan Pompa penyiram anturium Cek command Y Command = cek status? Y T
Command = sek jam RTC?
Baca data Set waktu dari WEB SET RTC POWER=OFF? END Y T Y T
37
3.4.1 Algoritma seting komunikasi WLAN pada modul Wifi
Agar modul wifi ESP8266 dapat bekerja pada jaringan LAN, maka perlu dilakukan inisialisasi berupa seting IP, mode WLAN, SSID dan lain sebagainya dengan mangacu pada datasheet. Adapun perancangan seting komunikasi pada ESP8266 ditunjukkan pada gambar 3.9:
Start Inisialisasi serial baudrate 57600 Kirim command MODE
WLAN=server (AT+WM=2) Kirim command MODE Authentikasi=WEPKEY
(AT+WAUTH=2) Kirim command Kunci
pasword (AT+WWEP=”pasword”)
Kirim command Set IP (AT+NSET=”IP”,”Subnetmask”) Kirim command Set SSID name
(AT+WA=”nama server”) Kirim command Set Aktif WLAN+port (AT+NAUTO=1,3000)
Kirim command Set WLAN ON
(ATA=2)
Wlan aktif siap kirim terima data
Ret
Gambar 3.9 Algoritma seting wifi pada modul ESP8266 Sumber : Perancangan
3.4.2 Algoritma Pembacaan ADC Internal Arduino
Algoritma pengkonversian data analog ke digital melalui ADC internal arduino pada perangkat lunak telah dikemas menjadi satu instruksi librari yang hanya dipanggil dengan menggunakan perintah “AnalogRead(Chanel ADC)” sehingga proses pembacaan ADC dapat disederhanakan, namun pada prinsipnya proses yang dilakukan pada saat pembacaaan ADC meliputi beberapa parameter
38 dan register yang harus diseting dan ditunjukkan dalam Gambar 3.10 flowchart berikut:
Start
ADMUX= nomor chanel input ADC
Start ADC (ADCSRA | = 0x40)
Delay
Baca register ADC (Data ADC= ADCH+ADCL)
ADCSRA.4=1
END
Gambar 3.10 Algoritma pembacaan ADC internal
Sumber : Perancangan
Pada perancangan flowchart dalam gambar 3.10, delay merupakan proses tunda waktu dari internal control ADC pada mikrokontroller arduino untuk proses konversi, proses tunda tersebut diatur berdasarkan konfigurasi ADC dari clock yang dirancang.
Sementara itu untuk mengetahui proses selesainya konversi ADC berada pada register ADCSRA pada bit ke 4, yaitu bit akan 0 saat konversi ADC selesai dan berlogika 1 (high) jika proses konversi sedang berlangsung.
Hasil konversi ADC selanjutnya disimpan pada register ADCH untuk bit MSB ( bit 8 dan bit 9) sementara bit rendah (LSB) tersimpan pada register ADCL yaitu bit 0 hingga 7 sehingga data dapat diambil dari register tersebut.
Selanjutnya bit ADCSRA bit ke 4 di buat high secara manual sebagai tanda pada internal controller ADC bahwa data ADC telah dibaca.
39
3.4.3 Algoritma Baca Data RTC
Adapun proses pembacaan RTC DS3231 mengunakan I2C interface mengacu pada algoritma perangkat lunak sebagaimana Gambar 3.11:
Gambar 3.11 Flow chart Baca Data RTC DS3231 Sumber : perancangan
Proses pembacaan data RTC menggunakan metode pembacan komunikasi I2C, yaitu bit yang dihasilkan dari pin SDA RTC digeser dan disusun pada saat clock berubah satu kali, kemudian hasil disimpan pada register Accumulator sebagai data yang diterima, karena data RTC = 1byte (8bit), maka proses pembacaaan bit dilakukan sebanyak 8kali dan hasil pembacaan dapat diamati pada register A.
RET Start
I = 0
Kirim Clock pada SCL
Baca SDA RTC Geser ke Accumulator ( Rotate A kekiri ) Naikkan I Apakah I =8? Baca = A Y T
40 3.4.4 Algoritma Tulis Data RTC
Adapun proses penulisan RTC DS3231 mengunakan I2C interface mengacu pada algoritma perangkat lunak sebagaimana Gambar 3.12:
Gambar 3.12 Flowchart Tulis Data RTC Sumber: Perancangan
Proses penulisan atau pengiriman data RTC dari mikro hampir sama dengan proses pembacaan data yaitu menggunakan komunikasi I2C. Pada proses ini bit yang akan dikirim dipecah menjadi 8 bagian kemudian dikirim bit demi bit dengan disertai satu siklus clock SCK sebagai tanda bit telah dikirim pada RTC, proses ini dikirim sebanyak 8kali untuk mencapai data 1 byte (8bit). Pada prosesnya pembacaan dan penulisan data pada RTC melalui arduino dilakukan oleh library untuk memudahkan pemprosesan data.
RET Start
I = 0
Kirim Clock pada SCL
Geser A ke Carry Flag
Pin SDA = C Naikkan I Apakah I =8? Y T