PERANCANGAN SISTEM KONTROL TANAMAN BAWANG BERBASIS MIKROKONTROLLER
- Membuat prototype aplikasi Sitem Kontrol Tanaman bawang yang dapat mempermudah dalam mengontrol kelembaban tanah dan kecukupan air pada tanaman bawang
- Mengaplikasikan konsep – konsep PWM, ADC, dan teori komunikasi mikrokontroller yang telah dipelajari saat praktikum.
A. Baterai
B. Soil Moisture
C. Water Sensor
D. Rain Sensor
E. Touch sensor
F. LDR
G. Arduino
H. LCD
I. Motor DC
J. Motor Servo
a. PWM (Pulse Width Modulation)
PWM atau kepanjangan Pulse Width Modulation, dalam bahasa Indonesia biasa disebut Modulasi Lebar Pulsa. Pada prinsipnya, PWM adalah salah satu teknik modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo (tinggi pulsa) yang tetap. PWM Signal ini digunakan menghasilkan sinyal analog dari perangkat Digital yang salah satu contohnya adalah dari Mikrokontroler.
Pembagian Pin PWM:
Setiap Board Arduino memiliki pin PWM dan nilai frekuensi yang berbeda-beda. Karena pada percobaan nanti kita akan menggunakan board arduino nano, maka gunakan salah satu dari pin berikut 3, 5, 6, 9, 10, 11.
PWM pada arduino bekerja pada frekuensi 500Hz, artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa memberi nilai dari 0 hingga 255. Ketika kita memberikan angka 0, berarti pada pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt). Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5 volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap setengah
dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika jika memberikan 25% dari 255 (1/4 * 255 atau 64), maka 1/4 siklus akan bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1 detik.
b. ADC (Analog to Digital Converter)
ADC atau Analog to Digital Converter merupakan salah satu perangkat elektronika yang digunakan sebagai penghubung dalam pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi. Kecepatan sampling menyatakan seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt. Pada Arduino, menggunakan pin analog input yang diawali dengan kode A( A0- A5 padaArduino Uno). Fungsi untuk mengambil data sinyal input analog menggunakan analogRead(pin);
c. Mikrokontroler
Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal dari sensor yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada aktuator yang dapat memberikan efek ke lingkungan. Jadi secara sederhana mikrokontroler dapat diibaratkan sebagai otak dari suatu perangkat/produk yang mempu berinteraksi dengan lingkungan sekitarnya. Mikrokontroler pada dasarnya adalah komputer dalam satu chip, yang di dalamnya terdapat mikroprosesor, memori, jalur Input/Output (I/O) dan perangkat pelengkap lainnya. Kecepatan pengolahan data pada mikrokontroler lebih rendah jika dibandingkan dengan PC. Pada PC kecepatan mikroprosesor yang digunakan saat ini telah mencapai orde GHz, sedangkan kecepatan operasi mikrokontroler pada umumnya berkisar antara 1 – 16 MHz. Begitu juga kapasitas RAM dan ROM pada PC yang bisa mencapai orde Gbyte, dibandingkan dengan mikrokontroler yang hanya berkisar pada orde byte/Kbyte.
Meskipun kecepatan pengolahan data dan kapasitas memori pada mikrokontroler jauh lebih kecil jika dibandingkan dengan komputer personal, namun kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada banyak aplikasi terutama karena ukurannya yang kompak. Mikrokontroler sering digunakan pada sistem yang tidak terlalu kompleks dan tidak memerlukan kemampuan komputasi yang tinggi.
d. Komunikasi
Kegunaan dasar dari sistem komunikasi adalah menjalankan pertukaran data antara dua pihak. Pada gambar dibawah ini merupakan suatu model komunikasi yang sederhana yaitu komunikasi dua arah. Pada mikrokontroler ada beberapa komunikasi yaitu:
• UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat peripheral.
Cara kerja komunikasi UART:
Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima
• Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega 328. Komunikasi SPI membutuhkan 3 jalur yaituMOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroler. MOSI: Master Output Slave Input Artinya jika dikonfigurasi sebagai master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai slave maka pin MOSI sebagai input. MISO: Master Input Slave Output Artinya jika dikonfigurasi sebagai master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai slave maka pin MISO sebagai output. SCLK: Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika
dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input. SS/CS: Slave Select/ Chip Select adalah jalur master memilih slave mana yang akan dikirimkan data.
Sinyal clock dialirkan dari master ke slave yang berfungsi untuk sinkronisasi. Master dapat memilih slave mana yang akan dikirimkan data melalui slave select, kemudian data dikirimkan dari master ke slave melalui MOSI. Jika master butuh respon data maka slave akan mentransfer data ke master melalui MISO.
• Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arahmenggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya.
Pada I2C, data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi Stop. Kondisi start dimana saat pada SDA beralih dari logika high ke low sebelum SCL.Kondisi stop dimana saat pada SDA beralih dari logika low ke high sebelum SCL. R/W bit berfungsi untuk menentukan apakah master mengirim data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave) ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telahditerima receiver.
e. Baterai
Baterai (Battery) adalah sebuah alat yang dapat merubah energi kimia yang disimpannya menjadi energi Listrik yang dapat digunakan oleh suatu perangkat Elektronik. Hampir semua perangkat elektronik yang portabel seperti Handphone, Laptop, Senter, ataupun Remote Control menggunakan Baterai sebagai sumber listriknya. Dengan adanya Baterai, kita tidak perlu menyambungkan kabel listrik untuk dapat mengaktifkan perangkat elektronik kita sehingga dapat dengan mudah dibawa kemana-mana. Dalam kehidupan kita sehari-hari, kita dapat menemui dua jenis Baterai yaitu Baterai yang hanya dapat dipakai sekali saja (Single Use) dan Baterai yang dapat di isi ulang (Rechargeable).
f. Penggunaan Sensor
• Soil moisture sensor
Soil Moisture Sensor adalah suatu modul yang berfungsi untuk mendeteksi tingkat kelembaban tanah dan juga dapat digunakan untuk menentukan apakah ada kandungan air di tanah/ sekitar sensor. Cara penggunaan modul ini cukup mudah, yakni dengan memasukkan sensor ke dalam tanah dan setting potensiometer untuk mengatur sensitifitas dari sensor. Keluaran dari sensor akan bernilai 1 / 0 ketika kelembaban tanah menjadi tinggi / rendah yang dapat di treshold dengan potensiometer. Spesifikasi dari sensor ini adalah :
2. Hanya menggunakan 2 plat kecil sebagai sensor
3. Supply Tegangan 3.3-5 VDC
4. Digital output D0 dapat secara langsung dikoneksikan dengan MCU dengan mudah
Sensor ini digunakan untuk mengukur kadar air didalam tanah, atau juga bisa untuk menedeteksi cuaca yang terjadi hari kemarin dan hari ini melalui media tanah, prinsip kerja sensor ini sangat simpel yaitu ada dua buah lempengan yang mana jika kedua buah lempengan terkena media penghantar maka elektron akan berpindah dari kutub + ke kutub - sehingga terjadilah arus yang akan menimbulkan tegangan. Pergerakan elektron dimanfaatkan untuk mendeteksi apakah ada air di tanah ataukah tidak, jika tanah basah berarti tanah tersebut mengandung media penghantar, namun jika tanah kering maka tidak mengandung media penghantar elektron, sehingga pada adc mikrokontroller akan terlihat perbedaannya.
• Water level Sensor
Prinsip kerja dari sensor water level adalah membaca resistasi yang dihasilkan oleh air yang mengenai lempengan yang bergaris-garis pada sensor tersebut, semakin banyak air yang mengenai permukaan bergaris garis tersebut maka hambatannya semakin kecil dan ketika tidak ada air yang mengenai lempengan sensor tersebut maka hambatanya sangat besar atau bisa dikatakan tidak terhingga.
1. Working voltage: 5V
2. Working Current: <20ma
3. Interface: Analog
4. Width of detection: 40mm×16mm
5. Working Temperature: 10℃~30℃
6. Weight: 3g
7. Size: 65mm×20mm×8mm
8. Arduino compatible interface
9. Low power consumption
1. "S" stand for signal input
2. "+" stand for power supply
3. "-" stand for GND
• Rainsensor
Rain Sensor (Sensor Hujan) adalah alat yang dapat membaca intensitas air/dengan mengunakan panel sensor air. Panel ini dapat bekerja apabila terhubung dengan komponen lain. Panel ini adalah jenis resistor yang nilai hambatanya dapat berubah tergantung dari intensitas keberadaan air yang ada pada permukaan panel. Jika air mengenai permukaan panel semakin kecil hambatanya dalam panel (Sainsmart 2016). Interval Max = 1023, internal Min = 0.
Pembacaan sensor untuk sistem :
2. Hujan sedang : if (rain >= 500 && rain <=600)
3. Hujan deras : if (rain >= 400 && rain <=500)
4. Hujan sangat deras : if (rain < 400).
• Sensor touch
Touch Sensor atau Sensor Sentuh adalah sensor elektronik yang dapat mendeteksi sentuhan. Sensor Sentuh ini pada dasarnya beroperasi sebagai sakelar apabila disentuh, seperti sakelar pada lampu, layar sentuh ponsel dan lain sebagainya. Sensor Sentuh ini dikenal juga sebagai Sensor Taktil (Tactile Sensor). Seiring dengan perkembangan teknologi, sensor sentuh ini semakin banyak digunakan dan telah menggeser peranan sakelar mekanik pada perangkat-perangkat elektronik.
Berdasarkan fungsinya, Sensor Sentuh dapat dibedakan menjadi dua jenis utama yaitu Sensor Kapasitif dan Sensor Resistif. Sensor Kapasitif atau Capacitive Sensor bekerja dengan mengukur kapasitansi sedangkan sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya.
Sensor Sentuh Kapasitif
Sensor sentuh Kapasitif merupakan sensor sentuh yang sangat populer pada saat ini, hal ini dikarenakan Sensor Kapasitif lebih kuat, tahan lama dan mudah digunakan serta harga yang relatif lebih murah dari sensor resistif. Ponsel-ponsel pintar saat ini telah banyak yang menggunakan teknologi ini karena juga menghasilkan respon yang lebih akurat.
Berbeda dengan Sensor Resistif yang menggunakan tekanan tertentu untuk merasakan perubahan pada permukaan layar, Sensor Kapasitif memanfaatkan sifat konduktif alami pada tubuh manusia untuk mendeteksi perubahan layar sentuhnya. Layar sentuh sensor kapasitif ini terbuat dari bahan konduktif (biasanya Indium Tin Oxide atau disingkat dengan ITO) yang dilapisi oleh kaca tipis dan hanya bisa disentuh oleh jari manusia atau stylus khusus ataupun sarung khusus yang memiliki sifat konduktif.
Pada saat jari menyentuh layar, akan terjadi perubahaan medan listrik pada layar sentuh tersebut dan kemudian di respon oleh processor untuk membaca pergerakan jari tangan tersebut. Jadi perlu diperhatikan bahwa sentuhan kita tidak akan di respon oleh layar sensor kapasitif ini apabila kita menggunakan bahan-bahan non-konduktif sebagai perantara jari tangan dan layar sentuh tersebut.
Sensor Sentuh Resistif
Tidak seperti sensor sentuh kapasitif, sensor sentuh resistif ini tidak tergantung pada sifat listrik yang terjadi pada konduktivitas pelat logam. Sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya. Karena tidak perlu mengukur perbedaan kapasitansi, sensor sentuh resistif ini dapat beroperasi pada bahan non-konduktif seperti pena, stylus atau jari di dalam sarung tangan.
Sensor sentuh resistif terdiri dari dua lapisan konduktif yang dipisahkan oleh jarak atau celah yang sangat kecil. Dua lapisan konduktif (lapisan atas dan lapisan bawah) ini pada dasarnya terbuat dari sebuah film. Film-film umumnya dilapisi oleh Indium Tin Oxide yang merupakan konduktor listrik yang baik dan juga transparan (bening).
Cara kerjanya hampir sama dengan sebuah sakelar, pada saat film lapisan atas mendapatkan tekanan tertentu baik dengan jari maupun stylus, maka film lapisan atas akan bersentuhan dengan film lapisan bawah sehingga menimbulkan aliran listrik pada titik koordinat tertentu layar tersebut dan memberikan signal ke prosesor untuk melakukan proses selanjutnya.
Grafik Respon Sensor Touch:
· Sensor LDR
LDR (Light Dependent Resistor) merupakan salah satu komponen resistor yang nilai resistansinya akan berubah-ubah sesuai dengan intensitas cahaya yang mengenai sensor ini. LDR juga dapat digunakan sebagai sensor cahaya. Perlu diketahui bahwa nilai resistansi dari sensor ini sangat bergantung pada intensitas cahaya. Semakin banyak cahaya yang mengenainya, maka akan semakin menurun nilai resistansinya. Sebaliknya jika semakin sedikit cahaya yang mengenai sensor (gelap), maka nilai hambatannya akan menjadi semakin besar sehingga arus listrik yang mengalir akan terhambat.
Grafik
g. Komponen lainnya
• LCD
Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter). Struktur LCD dapat dilihat pada gambar berikut:
-Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
-Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
-Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
-Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
-Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
-Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia
• Motor DC
Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat disebut sebagai motor arus searah. Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya.Motor Listrik DC ini biasanya digunakan pada perangkat-perangkat elektronik dan listrik yang menggunakan sumber listrik DC seperti vibrator ponsel, kipas DC dan bor listrik DC.
Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Motor listrik DC tersedia dalam berbagai ukuran rpm dan bentuk. Kebanyakan motor listrik DC memberikan kecepatan rotasi sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari 1,5V hingga 24V. Apabila tegangan yang diberikan ke motor listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya akan menjadi rusak.
Pada saat motor listrik DC berputar tanpa beban, hanya sedikit arus listrik atau daya yang digunakannya, namun pada saat diberikan beban, jumlah arus yang digunakan akan meningkat hingga ratusan persen bahkan hingga 1000% atau lebih (tergantung jenis beban yang diberikan). Oleh karena itu, produsen motor DC biasanya akan mencantumkan Stall Current pada Motor DC. Stall Current adalah arus pada saat poros motor berhenti karena mengalami beban maksimal.
- Download library yang diperlukan pada bagian download dalam blog.
- Buka proteus yang sudah diinstal untuk membuat rangkaian.
- Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.
- Buka Arduino IDE yang sudah diinstal.
- Di Arduino IDE, pergi ke menu "File" > "Preferences".Pastikan opsi
- "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.
- Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.
- Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.
- Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.
- Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.
- Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.
- Jalankan simulasi di Proteus.
A. Master
//MASTER ARDUINO #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); #define SOIL A1 #define WATER A2 #define RAIN A0 #define TOUCH 8 #define LDR A3 float panjangSensor = 6 ; void setup() { lcd.init(); lcd.backlight(); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(8, INPUT); lcd.begin(16, 2); Serial.begin(9600); } void loop() { int nilaiRAIN; int nilaiSOIL; int nilaiWATER; //mendeklarasikan variabel bertipe integer yang int nilaiTOUCH; int nilaiLDR;
//WATER nilaiWATER = analogRead(WATER); float tinggiAir = nilaiWATER * panjangSensor / 1023; lcd.setCursor(0, 0); lcd.print("Tinggi Air = "); lcd.setCursor(13, 0); lcd.print(tinggiAir); lcd.setCursor(14, 0); lcd.print("cm");
if (tinggiAir < 3 ) { Serial.write("5"); lcd.setCursor(0, 0); lcd.print("Tinggi Air = "); lcd.setCursor(13, 0); lcd.print(tinggiAir); lcd.setCursor(14, 0); lcd.print("cm"); delay(100); //jeda atau delay 100ms } if (tinggiAir >= 3) { Serial.write("4"); delay(100); lcd.setCursor(0, 0); lcd.print("Tinggi Air = "); lcd.setCursor(13, 0); lcd.print(tinggiAir); lcd.setCursor(14, 0); lcd.print("cm"); } //SOIL nilaiSOIL = analogRead(SOIL); if (nilaiSOIL > 700) { Serial.write("1"); delay(100); //lcd.clear(); lcd.setCursor(0, 1); lcd.print("Kondisi : Kering"); } if(nilaiSOIL<=700) { Serial.write("3"); delay(100); //lcd.clear(); lcd.setCursor(0, 1); lcd.print("Kondisi : Basah."); } delay(200); //RAIN nilaiRAIN = analogRead(RAIN); if(nilaiRAIN <550) { Serial.write("2"); // delay(100); } if(nilaiRAIN>=550) { Serial.write("6"); delay(100); }
//TOUCH nilaiTOUCH = digitalRead(TOUCH); if (digitalRead(TOUCH) == HIGH) { Serial.write("7"); delay(100); } if (digitalRead(TOUCH) == LOW) { Serial.write("9"); delay(100); }
//LDR nilaiLDR = analogRead(LDR); if (analogRead(LDR)< 500) { Serial.write("8"); delay(100); } if (analogRead(LDR) >500) { Serial.write("#"); delay(100); } delay(100); } |
B. Slave
//SLAVE ARDUINO #include <Servo.h> Servo servorain; Servo servosoil; Servo servopupuk; //untuk motor DC #define in1 2 #define in2 3 #define duration 2000
int data; void setup() { servosoil.attach(10); servorain.attach(9); servopupuk.attach(11); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available() > 0) { data = Serial.read(); if (data == '5') // Jika data yang dikirimkan berlogika TINGGI AIR < 3 cm { digitalWrite(in1, HIGH); // in1 diberi logika 1 digitalWrite(in2, LOW); // in2 diberi logika 0 } else if (data == '3') // Jika data yang dikirimkan berlogika KONDISI BASAH { servosoil.write(90); delay(100); } else if (data == '2') // Jika data yang dikirimkan berlogika ADA HUJAN { servorain.write(90); delay(100); } else if (data == '1') // Jika data yang dikirimkan berlogika KONDISI KERING { servosoil.write(0); delay(100); } else if (data == '7') { // Jika menerima sinyal dari Master bahwa Touch Sensor aktif servopupuk.write(90); delay(100); } else if (data == '8') { // Jika menerima sinyal dari Master bahwa LDR Sensor tidak mendeteksi cahaya servorain.write(90); // Menggerakkan servo untuk menutup atap delay(100); } else if (data == '4') // Jika data yang dikirimkan berlogika TINGGI AIR > 3 cm { digitalWrite(in1, LOW); // in1 diberi logika 0 digitalWrite(in2, LOW); // in2 diberi logika 0 } else if (data == '6') // Jika data yang dikirimkan berlogika TIDAK ADA HUJAN { servorain.write(0); delay(100); } else if (data == '9') { // Jika menerima sinyal dari Master bahwa Touch Sensor tidak aktif servopupuk.write(0); delay(100); } else if (data == '#') { // Jika menerima sinyal dari Master bahwa LDR Sensor mendeteksi cahaya servorain.write(0); // Menggerakkan servo untuk menutup atap delay(100); } } } |
Download library rain sensor [download]
Download library water level sensor [download]
Download library soil moisture sensor [download]
Download library touch sensor [download]
Download datasheet rain sensor [download]
Download datasheet LDR sensor [download]
Download datasheet Touch sensor [download]
Download datasheet soil moisture sensor [download]
Download datasheet water level sensor [download]
Download datasheet Motor DC [download]
Download datasheet Motor Servo [download]
Download datasheet LCD [download]
Tidak ada komentar:
Posting Komentar