Tugas Besar

  

kontrol irigasi sawah




1. Pendahuluan [back]
    Kontrol irigasi sawah otomatis merupakan solusi inovatif yang dirancang untuk meningkatkan efisiensi dalam pertanian padi. Dengan memanfaatkan teknologi otomatisasi, sistem ini dapat mengoptimalkan penyiraman tanaman berdasarkan kebutuhan airnya, meningkatkan produktifitas dan kualitas hasil panen.
   Salah satu tantangan utama dalam pertanian padi adalah pengelolaan air irigasi yang efisien. Banyak petani yang masih mengandalkan metode tradisional dalam penyiraman tanaman, yang seringkali kurang presisi dan membuang-buang air. Dengan adanya kontrol irigasi sawah otomatis, sistem dapat secara otomatis mendeteksi kelembapan tanah, kondisi cuaca, dan kebutuhan tanaman untuk menentukan kapan dan seberapa banyak air yang harus diberikan.
  Teknologi otomatisasi ini tidak hanya berpotensi mengurangi biaya operasional dan tenaga kerja, tetapi juga mendukung prinsip pertanian berkelanjutan dengan meminimalkan dampak negatif terhadap lingkungan, seperti penurunan permukaan air tanah dan degradasi lahan.
    Dengan mengintegrasikan penggunaan mikrokontroler, perancangan kontrol irigasi sawah otomatis dapat membantu para petani dalam pengelolaan lahan sehingga mendukung pertumbuhan sektor pertanian yang berkelanjutan dan produktif di masa depan.
Diharapkan dengan implementasi teknologi ini, petani dapat memperoleh hasil panen yang lebih baik, meningkatkan pendapatan, dan pada akhirnya, menciptakan sistem pertanian yang lebih berkelanjutan dan ramah lingkungan.
   



2. Tujuan [back]
a. Mengetahui rangkaian simulasi aplikasi kontrol irigasi sawah menggunakan arduino uno.
b. Mengetahui rangkaian simulasi kontrol irigasi sawah menggunakan software proteus.
c. Memenuhi tugas besar mata kuliah mikroprosesor dan mikrokontroller.


3. Alat dan Bahan  [back]

A. Alat 

1. Power Supply
    Power supply, atau pasokan daya, adalah sebuah perangkat elektronik yang menyediakan energi listrik ke perangkat atau sistem lainnya. Tujuan utamanya adalah untuk mengubah arus listrik dari sumber listrik (misalnya, listrik AC dari saluran listrik rumah tangga) menjadi bentuk yang sesuai untuk digunakan oleh komponen elektronik lain, seperti komputer, perangkat elektronik, atau mesin industri

2. Baterai  

 
        Baterai (Battery) adalah sebuah alat yang dapat merubah energi kimia yang disimpannya menjadi energi Listrik yang dapat digunakan oleh suatu perangkat Elektronik.
Baterai bertujuan untuk memberikan tenaga listrik ke rangkaian agar rangkaian dapat hidup dengan baik.


B. Bahan
1. Mikrokontroller (Arduino Uno)
    
    Arduino uno merupakan salah satu mikrokontroller yang dapat memudahkan penggunanya dalam mengendalikan komponen elektronika dengan program seperti LED, motor DC, relay, servo, modul, dan segala jenis sensor. Arduino uno sangat sering digunakan dalam pembuatan alat yang dapat bekerja otomatis, monitoring, maupun untuk pengontrolan.




Spesifikasi :

Microcontroller

ATmega328P – 8 bit AVR family microcontroller

Operating Voltage

5V

Recommended Input Voltage

7-12V

Input Voltage Limits

6-20V

Analog Input Pins

6 (A0 – A5)

Digital I/O Pins

14 (Out of which 6 provide PWM output)

DC Current on I/O Pins

40 mA

DC Current on 3.3V Pin

50 mA

Flash Memory

32 KB (0.5 KB is used for Bootloader)

SRAM

2 KB

EEPROM

1 KB

Frequency (Clock Speed)

16 MHz

Konfigurasi Pin :


Pin Category

Pin Name

Power

Vin, 3.3V, 5V, GND

Reset

Reset

Analog Pins

A0 – A5

Input/Output Pins

Digital Pins 0 - 13

Serial

0(Rx), 1(Tx)

External Interrupts

2, 3

PWM

3, 5, 6, 9, 11

SPI

10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK)

Inbuilt LED

13

TWI

A4 (SDA), A5 (SCA)

AREF

AREF




2. Rain Sensor


Spesifikasi :

- Sensor ini bermaterial dari FR-04 dengan dimensi 5cm x 4cm berlapis nikel dan dengan kualitas tinggi pada kedua sisinya

- Pada lapisan module mempunyai sifat anti oksidasi sehingga tahan terhadap korosi

- Tegangan kerja masukan sensor 3.3V – 5V

- Menggunakan IC comparator LM393 yang stabil

- Output dari modul comparator dengan kualitas sinyal bagus lebih dari 15m

- Dilengkapi lubang baut untuk instalasi dengan modul lainnya

- Terdapat potensiometer yang berfungsi untuk mengatur sensitifitas sensor

- Terdapat 2 Output yaitu digital (0 dan 1) dan analog (tegangan)

- Dimensi PCB yaitu 3.2 cm x 1.4 cm




3. Water Level Sensor

Spesifikasi:

- Vin : DC 3V-5V
- Arus : <20mA

- Output : Analog
- Sensing area : 40mm x 16mm
- Working temperature: 10'C~30'C.
- Dimensi : Panjang 6cm x lebar 2.1cm
- Berat : 20 gram



4. pH Meter Sensor

Spesifikasi :
  • Tegangan Inpur Modul : 5.0V
  • Ukuran Modul : 43mm×32mm
  • Pengukuran : 0 – 14PH
  • Akurasi : ± 0.1pH (25 ℃
  • Response Time :  ≤ 1min
  • Konektor PH Sensor (pH Electrode) : BNC konektor
  • Output konektor modul: PH2.0 3 Pin
  • Gain Adjustment Potentiometer
  • Led untuk Indikator Tegangan Input
  • Panjang Kabel Sensor ke konektor BNC : 660mm

5. Ultrasonic Sensor

Spesifikasi 
(HC SR-04) : 
  • Operating voltage: +5V
  • Theoretical  Measuring Distance: 2cm to 450cm
  • Practical Measuring Distance: 2cm to 80cm
  • Accuracy: 3mm
  • Measuring angle covered: <15°
  • Operating Current: <15mA
  • Operating Frequency: 40Hz

6. PIR Sensor


Spesifikasi : 
- Deteksi sudut 120 derajat.
- Kisaran deteksi 7m.
- Ukuran: 32x24mm
- Output sinyal switch TTL output sinyal tinggi (3.3 V), output sinyal     rendah (0.4 V).
- Waktu pemicu dapat disesuaikan 0,3 detik hingga 10 menit.
- Umum digunakan dalam perangkat anti-pencurian dan peralatan lainnya.
- Modul telah dipaksa untuk mengatur bekerja memicu dapat digunakan kembali
- Tegangan kerja 4,5 untuk 20V


7. Seven Segment
 
    • Layar tujuh segmen (bahasa Inggris: Seven-segment display ( SSD ) adalah salah satu perangkat layar untuk menampilkan sistem angka desimal yang merupakan alternatif dari layar dot-matrix. Layar tujuh segmen ini sering kali digunakan pada jam digital, meteran elektronik, dan perangkat elektronik lainnya yang menampilkan informasi numerik.

8. LCD (LM016L)

    LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.

Spesifikasi :
1. Module size : 84W x 44H x 10.5T (max.) mm
2. Effective display area : 61W x 15.8H mm
3. Character size ( 5 x 7 dots ) : 2.96W X 4.86H mm
4. Character pitch : 3.55 mm
5. Dot size : 0.56W x 0.66H mm
6. Weight : about 35g
7. Ta = 25°C, VDD = 5.0 V  ± 0.25 V 
8. Input "high" voltage (ViH) = 2.2 Vmin  
9. Input "Iow" voltage (ViL) = 0.6 Vmax


9. Relay 
Relay sebagai pengatur otomatis untuk mengubung atau memutus rangkaian

Spesifikasi :

- Trigger Voltage (Voltage across coil) : 5V DC

- Trigger Current (Nominal current) : 70mA

- Maximum AC load current: 10A @ 250/125V AC

- Maximum DC load current: 10A @ 30/28V DC

- Compact 5-pin configuration with plastic moulding

- Operating time: 10msec Release time: 5msec

- Maximum switching: 300 operating/minute (mechanically)

Konfigurasi Pin

- Coil End 1 : Used to trigger(On/Off) the Relay, Normally one end is connected to 5V and the other        end to ground.

- Coil End 2 : Used to trigger(On/Off) the Relay, Normally one end is connected to 5V and the other        end to ground.

- Common (COM) : Common is connected to one End of the Load that is to be controlled.

- Normally Close (NC) : The other end of the load is either connected to NO or NC. If connected to NC    the load remains connected before trigger.

- Normally Open (NO) : The other end of the load is either connected to NO or NC. If connected to NO    the load remains disconnected before trigger.



10. Motor DC
            Motor DC sebagai alat yang akan kita kontrol dengan Motor-Enco

Komponen Motot Listrik :
  1. Stator Coil
  2. Rotor Coil
  3. Main Shaft
  4. Brush
  5. Bearing
  6. Drive pulley
  7. Motor Housing

11. Buzzer
            Buzzer sebagai indicator apabila terjadi kebakaran.



Spesifikasi :

- Rated Voltage : 6V DC

- Operating Voltage : 4 to 8V DC

- Rated Current* : ≤30mA

- Sound Output at 10cm* : ≥85dB

- Resonant Frequency : 2300 ±300Hz

- Tone : Continuous

- Operating Temperature : -25°C to +80°C

- Storage Temperature : -30°C to +85°C

- Weight : 2g

Konfigurasi Pin :

Pin 1 : Positive

Pin 2 : Negative     



12. Potensiometer



Spesifikasi :

- Rentang resistansi: 10Ω-20KΩ
- Toleransi ketahanan: +/-5%
- Total mekanik perjalanan: 300
- Peringkat daya: 1.2 w

- Hidup: 15000    


13. Dioda


        Dioda (diode) yaitu komponen elektronika aktif yang terbuat dari bahan semikonduktor dan punya fungsi buat menghantarkan arus listrik ke satu arah, tapi menghambat arus listrik dari arah sebaliknya.


14. IC L293D
    

    IC L293d dikenal sebagai driver motor. Ini adalah perangkat operasi tegangan rendah seperti IC lainnya. IC lain mungkin memiliki fungsi yang sama seperti L293d tetapi tidak dapat memberikan tegangan tinggi ke motor. L293d menyediakan Arus Searah dua arah terus menerus ke Motor. Polaritas arus dapat berubah sewaktu-waktu tanpa mempengaruhi keseluruhan IC atau perangkat lain di rangkaian. L293d memiliki H-bridge internal yang dipasang untuk dua motor.

Spesifikasi :
- Wide Supply-Voltage Range: 4.5 V to 36 V 
- Separate Input-Logic Supply 
- Internal ESD Protection 
- Thermal Shutdown 
- High-Noise-Immunity Inputs 
- Functionally Similar to SGS L293 and SGS L293D 
- Output Current 1 A Per Channel (600 mA for L293D) 
- Peak Output Current 2 A Per Channel (1.2 A for L293D) 
- Output Clamp Diodes for Inductive Transient Suppression (L293D)


15.  PCF8574
       PCF8574 adalah sirkuit CMOS silikon. Ini menyediakan ekspansi I/O jarak jauh tujuan umum untuk sebagian besar keluarga mikrokontroler melalui bus dua arah dua arah (I2C-bus).
    Perangkat ini terdiri dari port kuasi-dua arah 8-bit dan antarmuka bus I2C. PCF8574 memiliki konsumsi arus yang rendah dan mencakup output terkunci dengan kemampuan penggerak arus tinggi untuk menggerakkan LED secara langsung. Ia juga memiliki jalur interupsi (INT) yang dapat dihubungkan ke logika interupsi mikrokontroler. Dengan mengirimkan sinyal interupsi pada saluran ini, I/O jarak jauh dapat menginformasikan mikrokontroler jika ada data masuk pada portnya tanpa harus berkomunikasi melalui bus I2C. Ini berarti PCF8574 dapat tetap menjadi perangkat budak yang sederhana.

Spesifikasi :
• Operating supply voltage 2.5 to 6 V
• Low standby current consumption of 10 µA maximum
• I2C-bus to parallel port expander
• Open-drain interrupt output
• 8-bit remote I/O port for the I2C-bus
• Compatible with most microcontrollers
• Latched outputs with high current drive capability for
   directly driving LEDs
• Address by 3 hardware address pins for use of up to
   8 devices (up to 16 with PCF8574A)
• DIP16, or space-saving SO16 or SSOP20 packages.

4. Dasar Teori [back]

- ARDUINO UNO
Arduino Uno adalah salah satu papan mikrokontroller yang paling populer dan banyak digunakan dalam komunitas elektronika dan pemrograman. Dikembangkan berdasarkan platform open-source, Arduino Uno dirancang untuk memudahkan pengembangan berbagai proyek elektronika.

 


     Berikut merupakan gambar konfigurasi pin beserta penjelasan Arduino Uno :

  1. Power USB, fungsi dari power usb pada modul Arduino adalah sebagai berikut:
    • Media pemberi tegangan listrik ke Arduino
    • Media tempat memasukkan program dari komputer ke Arduino
    • Sebagai media untuk komunikasi serial antara komputer dan Arduino R3 maupun sebaliknya.
  1. Crystal Oscillator, fungsi crystal oscillator adalah sebagai jantung Arduino yang membuat dan mengirimkan detak ke mikrokontroler agar beroperasi setiap detaknya.
  1. Voltage Regulator, berfungsi menstabilkan tegangan listrik yang masuk ke Arduino.
  1. Power Jack, fungsi dari power jack pada modul Arduino adalah sebagai media pemberi tegangan listrik ke Arduino apabila tak ingin menggunakan Power USB.
  1. Pin Reset, berfungsi untuk mereset Arduino agar program dimulai dari awal. Cara penggunannya yaitu dengan menghubungkan pin reset ini langsung ke ground.
  1. Pin Tegangan 3,3 Volt, berfungsi sebagai pin positif untuk komponen yang menggunakan tegangan 3,3 volt.
  1. Pin Tegangan 5 Volt, berfungsi sebagai pin positif untuk komponen yang menggunakan tegangan 5 volt. Pin 5 volt sering juga disebut pin VCC.
  1. Pin Ground (GND), fungsi pin GND adalah sebagai pin negatif pada tiap komponen yang dihubungkan ke Arduino.
  1. Pin Penambah Tegangan (VIN), berfungsi sebagai media pemasok listrik tambahan dari luar sebesar 5 volt bila tak ingin menggunakan Power USB atau Power Jack.
  1. Pin Analog, berfungsi membaca tegangan dan sinyal analog dari berbagai jenis sensor untuk diubah ke nilai digital.
  1. Main Microcontroller, berfungsi sebagai otak yang mengatur pin-pin pada Arduino.
  1. Tombol Reset, komponen pendukung Arduino yang berfungsi untuk mengulang program dari awal dengan cara menekan tombol.
  1. Pin ICSP (In-Circuit Serial Programming), berfungsi untuk memprogram mikrokontroler seperti Atmega328 melalui jalur USB Atmega16U2.
  1. Lampu Indikator Power, berfungsi sebagai indikator bahwa Arduino sudah mendapatkan suplai tegangan listrik yang baik.
  1. Lampu TX (transmit), berfungsi sebagai penanda bahwa sedang terjadi pengiriman data dalam komunikasi serial.
  2. Lampu RX (receive), berfungsi sebagai penanda bahwa sedang terjadi penerimaan data dalam komunikasi serial
  1. Pin Input/Output Digital, berfungsi untuk membaca nilai logika 1 dan 0 atau mengendalikan komponen output lain seperti LED, relay, atau sejenisnya. Pin ini termasuk paling banyak digunakan saat membuat rangkaian.
    Untuk pin yang berlambang “~” artinya dapat digunakan untuk membangkitkan PWM (Pulse With Modulation) yang fungsinya bisa mengatur tegangan output. Biasanya digunakan untuk mengatur kecepatan kipas atau mengatur terangnya cahaya lampu.
  2. Pin AREF (Analog Reference), fungsi pin Arduino Uno yang satu ini untuk mengatur tegangan referensi eksternal yang biasanya berada di kisaran 0 sampai 5 volt.
  3. Pin SDA (Serial Data), berfungsi untuk menghantarkan data dari modul I2C atau yang sejenisnya.
  4. Pin SCL (Serial Clock), berfungsi untuk menghantarkan sinyal waktu (clock) dari modul I2C ke Arduino.


    Berikut merupakan tabel spesifikasi dari Arduino Uno :



- RAIN SENSOR
    Rain sensor merupakan sensor yang berfungsi untuk mendeteksi hujan turun atau tidak. Intinya sensor ini jika terkena air pada papan sensornya maka resistansinya akan berubah, semakin banyak semakin kecil dan sebaliknya. 

        Pada sensor hujan ini terdapat ic komparator yang dimana output dari sensor ini dapat berupa logika high dan low (on atau off). Serta pada modul sensor ini terdapat output yang berupa tegangan pula. Sehingga dapat dikoneksikan ke pin khusus Arduino yaitu Analog Digital Converter.
                                    Rumus Intensitas Curah Hujan
                          

Grafik Intensitas Curah Hujan

- WATER LEVEL SENSOR
 Water sensor adalah controller yang bisa mendeteksi volume air, tinggi air, serta kualitas air di dalam tangki, sungai, danau, dan sejenisnya dengan akurat dan mudah. Sensor ini merupakan perangkat yang bisa mematikan atau mengobarkan pompa air secara otomatis andai air mulai berakhir atau sudah nyaris penuh.


Tabel water temperature sensor




- PH METER SENSOR
PH sensor adalah perangkat atau sensor yang digunakan untuk mengukur tingkat keasaman atau kebasaan suatu larutan. pH adalah ukuran yang digunakan untuk menunjukkan tingkat keasaman atau kebasaan suatu larutan, di mana pH 7 dianggap netral, pH di bawah 7 menunjukkan larutan asam, dan pH di atas 7 menunjukkan larutan basa.

PH sensor biasanya terdiri dari elektroda yang sensitif terhadap ion hidrogen (H+). Elektroda tersebut terhubung dengan perangkat pengukur atau pengontrol yang menghasilkan pembacaan pH. Proses pengukuran pH melibatkan reaksi kimia antara elektroda pH dengan larutan yang diukur.

Cara kerja pH sensor dapat dijelaskan sebagai berikut:

1. Elektroda pH: Terdapat dua jenis elektroda pH yang umum digunakan, yaitu elektroda kaca dan elektroda referensi. Elektroda kaca menghasilkan respons terhadap ion hidrogen di dalam larutan, sedangkan elektroda referensi memberikan titik referensi atau perbandingan untuk mengukur pH secara akurat. Elektroda pH memiliki membran khusus yang memungkinkan hanya ion hidrogen yang berinteraksi dengan elektroda.

2. Proses pengukuran: Elektroda pH dicelupkan ke dalam larutan yang akan diukur pH-nya. Elektroda kaca menerima ion hidrogen dari larutan dan menghasilkan potensial listrik sebagai respons terhadap konsentrasi ion hidrogen. Elektroda referensi memberikan titik referensi untuk perbandingan potensial dan mengkompensasi perubahan suhu serta pengaruh ion-ion lainnya di dalam larutan.

3. Pembacaan pH: Perangkat pengukur pH menerima sinyal potensial dari elektroda pH dan mengubahnya menjadi pembacaan pH yang dapat dibaca. Umumnya, pembacaan pH ditampilkan pada layar perangkat pengukur atau dapat dihubungkan ke sistem kontrol untuk pengendalian pH.

PH sensor digunakan dalam berbagai aplikasi, termasuk industri makanan dan minuman, industri farmasi, pertanian, pemantauan kualitas air, dan laboratorium kimia. Informasi tentang tingkat pH larutan sangat penting karena dapat mempengaruhi reaksi kimia, kesehatan manusia, serta keberhasilan proses atau produk tertentu. Dengan menggunakan pH sensor, pengguna dapat memonitor dan mengontrol tingkat keasaman atau kebasaan larutan dengan akurat dan efisien.




ph sensor



grafik pH sensor



- ULTRASONIC SENSOR


    Sensor ultrasonik merupakan sensor yang menggunakan gelombang ultrasonik. Gelombang ultrasonik yaitu gelombang yang umum digunakan untuk mendeteksi keberadaan suatu benda dengan memperkirakan jarak antara sensor dan benda tersebut. Sensor ini berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik begitu pula sebaliknya.



    Sensor ultrasonik HC-SR04 merupakan sensor siap pakai yang berfungsi sebagai pengirim, penerima dan pengontrol gelombang ultrasonik. Sensor ini bisa digunakan untuk mengukur jarak benda dari 2 cm – 4 m dengan akurasi 3 mm. Sensor ultrasonik memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo. Pin Vcc digunakan sebagai listrik positif dan Gnd sebagai ground. Pin Trigger digunakan untuk trigger keluarnya sinyal dari sensor dan pin Echo untuk menangkap sinyal pantul dari benda.

 

    Cara menggunakan sensor ini yaitu ketika diberikan tegangan positif pada pin Trigger selama 10uS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40 kHz. Selanjutnya, sinyal akan diterima pada pin Echo. Untuk mengukur jarak benda yang memantulkan sinyal tersebut, maka selisih waktu ketika mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut.


Tabel Ultrasonic sensor (HC SR-04)


Grafk HC SR-04 Ultrasonic Sensor



- PIR SENSOR

 Sensor PIR atau disebut juga dengan Passive Infra Red merupakan sensor yang digunakan untuk mendeteksi adanya pancaran sinar infra merah dari suatu object. Sesuai dengan namanya sensor PIR bersifat pasif, yang berarti sensor ini tidak memancarkan sinar infra merah melainkan hanya dapat menerima radiasi sinar infra merah dari luar.
Sensor PIR sendiri memiliki dua slot di dalamnya, setiap slot terbuat dari bahan khusus 
-PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Di dalam sensor 
-PIR ini terdapat bagianbagian yang mempunyai perannya masingmasing, 
yaitu Fresnel Lens, IR Filter, Pyroelectric sensor, amplifier, dan comparator. 


        Pancaran infra merah masuk melalui lensa Fresnel dan mengenai sensor pyroelektrik, karena sinar infra merah mengandung energi panas maka sensor pyroelektrik akan menghasilkan arus listrik. Arus listrik inilah yang akan menimbulkan tegangan dan dibaca secara analog oleh sensor. Kemudian sinyal ini akan dikuatkan oleh penguat dan dibandingkan oleh komparator dengan tegangan referensi tertentu Untuk manusia sendiri memiliki suhu badan yang dapat menghasilkan pancaran infra merah dengan panjang gelombang antara 9-10 mikrometer (nilai standar 9,4 mikrometer), panjang gelombang tersebut dapat terdeteksi oleh sensor PIR. (Secara umum sensor PIR memang dirancang untuk mendeteksi manusia)
dimana sensor ini  membutuhkan tegangan masukan sebesar 5 Vdc
The PIR sensor sendiri memiliki dua slot di dalamnya, setiap slot terbuat dari bahan khusus
PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Di dalam sensor 
PIR ini terdapat bagianbagian yang mempunyai perannya masingmasing, 
yaitu Fresnel Lens, IR Filter, Pyroelectric sensor, amplifier, dan comparator. 
Seperti terlihat pada gambar 2 dibawahini. 
sensor PIR pada saat berlogika 1 dan 0. Pengujian ini juga diperlukan untuk mengetahui 
nilai tegangan output sensor passive infrared (PIR) ketika mendeteksi gerakan manusia dan tidak mendeteksi gerakan manusia. 
Cara melakukan pengujian ini adalah sensor harus mendapat tegangan input sebesar 5 Vdc




Gambar 2



            Grafik


    
    Rumus mencari kecepatan deteksi sensor,


V = S / t 



Tabel keluaran sensor PIR


- SEVEN SEGMENT

Piranti tampilan modern disusun sebagai pola 7-segmen atau dot matriks. Jenis 7segmen, sebagaimana namanya, menggunakan pola tujuh batang yang disusun membentuk angka 8 seperti ditunjukkan pada gambar 3.1. Menurut kesepakatan, huruf-huruf yang diperlihatkan dalam Gambar 3.1 ditetapkan untuk menandai segmen-segmen tersebut. Dengan menyalakan beberapa segmen yang sesuai akan dapat diperagakan digit-digit dari 0 sampai 9,  juga bentuk huruf A sampai F (heksadesimal).

Sinyal input dari switches tidak dapat langsung dikirimkan ke peraga 7segmen, sehingga harus menggunakan decoder BCD ke 7-segmen sebagai antar muka. Decoder ini terdiri dari gerbang-gerbang logika yang masukannya berupa digit BCD dan keluarannya berupa saluran-saluran untuk mengemudikan tampilan 7-segmen.



- LCD LM016L (16×2)


    LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.


    Teknologi Display LCD ini memungkinkan produk-produk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes).
    Tabel :

    Grafik :

- RELAY
                           

        Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.

Grafik



- MOTOR
       
     Motor listrik adalah alat untuk mengubah energi listrik menjadi energi mekanik. Alat yang berfungsi sebaliknya, mengubah energi mekanik menjadi energi listrik disebut generator atau dinamo. Motor listrik dapat ditemukan pada peralatan rumah tangga seperti kipas angin, mesin cuci, pompa air dan penyedot debu




- BUZZER

        Buzzer Listrik adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Pada umumnya, Buzzer yang merupakan sebuah perangkat audio ini sering digunakan pada rangkaian anti-maling, Alarm pada Jam Tangan, Bel Rumah, peringatan mundur pada Truk dan perangkat peringatan bahaya lainnya. Jenis Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric, hal ini dikarenakan Buzzer Piezoelectric memiliki berbagai kelebihan seperti lebih murah, relatif lebih ringan dan lebih mudah dalam menggabungkannya ke Rangkaian Elektronika lainnya. Buzzer yang termasuk dalam keluarga Transduser ini juga sering disebut dengan Beeper.


- POTENSIOMETER

        Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya. Gambar dibawah ini menunjukan Struktur Internal Potensiometer beserta bentuk dan Simbolnya.

        Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer sering digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai berikut :

  1. Sebagai pengatur Volume pada berbagai peralatan 
  2. Sebagai Pengatur Tegangan pada Rangkaian Power Supply
  3. Sebagai Pembagi Tegangan
  4. Aplikasi Switch TRIAC
  5. Digunakan sebagai Joystick pada Tranduser
  6. Sebagai Pengendali Level Sinyal

- IC L2934 (MOTOR DRIVER)


    IC L293d dikenal sebagai driver motor. Ini adalah perangkat operasi tegangan rendah seperti IC lainnya. IC lain mungkin memiliki fungsi yang sama seperti L293d tetapi tidak dapat memberikan tegangan tinggi ke motor. L293d menyediakan Arus Searah dua arah terus menerus ke Motor. Polaritas arus dapat berubah sewaktu-waktu tanpa mempengaruhi keseluruhan IC atau perangkat lain di rangkaian. L293d memiliki H-bridge internal yang dipasang untuk dua motor.
    H-Bridge adalah rangkaian listrik yang memungkinkan beban dua arah. Jembatan L293d dikendalikan oleh sinyal tegangan rendah eksternal. Ukurannya mungkin kecil, namun kapasitas output dayanya lebih tinggi dari ekspektasi kami. Ia dapat mengontrol kecepatan dan arah motor DC apa pun dengan rentang tegangan 4,5 – 36 Volt. Diodanya juga menyimpan perangkat pengontrol dan IC dari EMF belakang. Untuk mengontrol jumlah arus maksimal 600mA, “sink transistor Darlington” internal dipasang di dalamnya, yang dapat digunakan untuk mengontrol arus dalam jumlah besar dengan menyediakan arus dalam jumlah kecil. Ia juga memiliki “sumber pseudo-Darlington” internal yang memperkuat sinyal input untuk mengontrol motor DC tegangan tinggi tanpa intersepsi apa pun.



Konfigurasi Pin :
  • Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver menerima perintah untuk menggerakan motor DC.
  • Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC 
  • Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing driver yang dihubungkan ke motor DC 
  • Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor DC, dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol dirver dan VCC2 adalah jalur input sumber tegangan untuk motor DC yang dikendalikan. 
  • Pin GND (Ground) adalah jalu yang harus dihubungkan ke ground, pin GND ini ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah pendingin kecil.

Tabel : Electrical Characteristik L293D

    

Grafik :


- PCF8574
    Ekspander input/output (I/O) 8-bit ini untuk dua saluran bus dua arah (I2C) dirancang untuk 2,5-V hingga 6-V pengoperasian VCC. Perangkat PCF8574 menyediakan tujuan umum ekspansi I/O jarak jauh untuk sebagian besar mikrokontroler keluarga melalui I Antarmuka 2C [jam serial (SCL), data serial (SDA)].
                           
    Perangkat ini memiliki fitur I/O kuasi-dua arah 8-bit port (P0–P7), termasuk output terkunci dengan kemampuan penggerak arus tinggi untuk menggerakkan LED secara langsung. Setiap I/O kuasi-dua arah dapat digunakan sebagai input atauoutput tanpa menggunakan kontrol arah data sinyal. Saat dihidupkan, I/O tinggi. Dalam mode ini, hanya sumber arus ke VCC yang aktif.
                    




Tabel : Electrical Characteristik PCF8574


Grafik :



                        

5. Percobaan  [back]

a.) Prosedur  [back]
    1. Siapkan semua alat dan bahan yang diperlukan
    2. Disarankan agar membaca datasheet setiap komponen
    3. Cari kompnen yang diperlukan di library proteus
    4. Pasang dan simulasikan rangkaian tersebut


b.) Hardware dan diagram blok [back]
  • Hardware
    • Arduino UNO 
    • Rain Sensor
    • Water Level sensor
    • PH Sensor
    • Ultrasonic Sensor
    • PIR Sensor
    • Seven Segment
    • LCD LM016L
    • Seven Segment 
    • Buzzer
    • Motor
    • Potensiometer
    • L293D
    • PCF8574


c.) Rangkaian Simulasi dan Prinsip Kerja  [back]


- SAWAH (Rain Sensor, Water Level Sensor, PH Meter Sensor)
    Pada kontrol tanaman sawah menggunakan rain sensor water level sensor dan PH meter sensor. 
    Rain sensor digunakan untuk mendeteksi adanya hujan yang berfokus untuk menutup dan membuka motor pintu irigasi dengan output dua buah motor yang dihubungkan dengan IC l293D Apabila rain sensor mendeteksi adanya hujan berlogika 1 (HIGH) maka pintu rung irigasi akan otomatis tertutup dan ketika berlogika 0 (LOW) maka pintu irigasi akan membuka dan sawah akan tetap di aliri oleh air melalui irigasi sungai. 
    Kemudian untuk water level sensor digunakan untuk mendeteksi ketinggian air pada sawah dengan output berupa motor pompa pembuang air berlebih ketika air sawah tergenang. Apabila water level sensor mendeteksi adanya air yang berlebih pada sawah maka water level sensor akan aktif dan mengeluarkan tegangan pada pin A1 Arduino kemudian mikrokontroler akan memproses sehingga pompa pembuang air berlebih akan bekerja sehingga ketinggian air pada tanaman sawah akan tetap terkontrol sesuai dengan pengaturan air dengan hari setelah dilakukan penanaman padi. 
    Selanjunya PH meter sensor yang terhubung pada pin A2 Arduino berfungsi untuk menunjukkan kondisi PH pada tanah tanaman padi yang dihubungkan dengan output LCD yang menampilkan kondisi PH tanah tanaman padi dan juga motor pompa air penyemprotan vitamin penstabil PH. Apabila pH tanah yang ditampilkan pada LCD menunjukkan angka <5 yang menunjukkan PH dalam kondisi asam, maka mikrokontroler akan memproses mengaktifkan pin 6 pada Arduino dengan output pompa cairan ketika kondisi asam sehingga nantinya akan disemprotkan cairan penstabil PH kondisi asam dengan menambahkan cairan kapur dolomit. Sebaliknya, apabila pH tanah yang ditampilkan pada LCD menunjukkan angka >7 yang menunjukkan ph dalam kondisi basa, maka mikrokontroler akan memproses mengaktifkan pin 5 pada arduino dengan output cairan ketika kondisi basa sehingga nantinya akan disemprotkan cairan penstabil PH kondisi basa dengan menambahkan cairan belerang atau sulfur. Sehingga pH tanah akan dapat terkontrol untuk meningkatkan produktivitas tanaman padi di mana tanaman padi sendiri memiliki ph optimum berkisar antara 5,6 sampai 6,0.

- HAMA (Ultrasonic Sensor dan PIR Sensor)
    Untuk hama pada irigasi sawah menggunakan ultrasonic sensor untuk hama burung dan pir sensor untuk hama tikus. Kemudian ada Dipswitch sebagai on off pemilik sawah. Jadi sensor ultrasonik dan pir akan aktif jika dipswitch dalam kondisi on (HIGH). Untuk outputnya menggunakan seven segment dan buzzer. 
    Apabila pir sensor mendeteksi adanya hama tikus atau  sensor PIR berlogika 1 (HIGH) maka relay 1 akan aktif pada pin 3 Arduino dan buzzer untuk hama tikus akan mengeluarkan bunyi dengan frekuensi 5 sampai 60 khz di mana frekuensi yang dihasilkan tersebut akan dapat mengusir hama tikus. Kemudian seven segmen akan menampilkan angka 2 yang menunjukkan adanya hama tikus pada sawah.
    Apabila ultrasonik sensor mendeteksi adanya hama burung yang berjarak 100 cm dari sensor maka relay 2 akan aktif pada pin 6 Arduino dan buzzer untuk hama burung akan aktif dan mengeluarkan bunyi dengan frekuensi 20 khz di mana bunyi dengan frekuensi tersebut dapat mengusir hama burung pipit. Kemudian pada Seven segmen akan menampilkan angka 1 yang menunjukkan adanya hama burung pada tanaman sawah. 
Kemudian apabila tidak terdeteksi adanya hama burung dan hama tikus pada tanaman sawah maka buzer dalam kondisi off dan Seven segmen akan menunjukkan angka 0 dimana kondisi tersebut merupakan kondisi tidak ada hama pada tanaman sawah.



d.) Flowchart dan Listing Program  [back]

- Listing Program

CODING IRIGASI


                          IRIGASI
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display

#define rainPin 3
#define waterPin A1
#define phPin A2
#define relayPin 8
#define relay4 6
#define relay5 5
// Motor A connections
int Motor1in = 10;
int Motor1out = 9;
int Motor2in = 12;
int Motor2out = 11;
int rainThreshold = 500; // Adjust this value based on your sensor's reading
int waterValue = 0;

unsigned long int avgValue;  //Store the average value of the sensor feedback
float b;
int buf[10],temp;

void setup() {
  pinMode (rainPin, INPUT);
  pinMode (waterPin, INPUT);
  pinMode (phPin, INPUT);
  pinMode (relayPin, OUTPUT);
  pinMode (relay4, OUTPUT);
  pinMode (relay5, OUTPUT);
  Serial.begin(9600); // initialize serial communication at 9600 bits per second
  pinMode(Motor1in, OUTPUT);
  pinMode(Motor1out, OUTPUT);
  pinMode(Motor2in, OUTPUT);
  pinMode(Motor2out, OUTPUT);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("kondisi saat ini");
  delay(200);
}

void loop() {
  for(int i=0;i<10;i++)       //Get 10 sample value from the sensor for smooth the value
  {
    buf[i]=analogRead(phPin);
    delay(10);
  }
  for(int i=0;i<9;i++)        //sort the analog from small to large
  {
    for(int j=i+1;j<10;j++)
    {
      if(buf[i]>buf[j])
      {
        temp=buf[i];
        buf[i]=buf[j];
        buf[j]=temp;
      }
    }
  }
  avgValue=0;
  for(int i=2;i<8;i++)                      //take the average value of 6 center sample
    avgValue+=buf[i];
  float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
  phValue=3.5*phValue;                      //convert the millivolt into pH value
  Serial.print("    pH:");  
  Serial.print(phValue);
  Serial.println(" ");
  lcd.setCursor(0, 0);
  lcd.print("nilai ph =");
  lcd.setCursor(10, 0);
  lcd.print(phValue);

  if (phValue < 5) {
    digitalWrite(relay4, HIGH);
  } else {
    digitalWrite(relay4, LOW);
  }

  if (phValue > 7) {
    digitalWrite(relay5, HIGH);
  } else {
    digitalWrite(relay5, LOW);
  }

  int rainValue = digitalRead(rainPin);
    if (rainValue == HIGH) {
    digitalWrite(Motor1in, HIGH);
    digitalWrite(Motor1out, LOW);
    digitalWrite(Motor2in, LOW);
    digitalWrite(Motor2out, LOW);
    delay(100);
  } else {
    digitalWrite(Motor1in, LOW);
    digitalWrite(Motor1out, LOW);
    digitalWrite(Motor2in, HIGH);
    digitalWrite(Motor2out, LOW);
    delay(100);
  }


  waterValue = analogRead(waterPin); // read the value from the sensor
  Serial.println(waterValue); // print the sensor value
  delay(1000); // wait for a second

  if (waterValue > 100) {
    digitalWrite(relayPin, HIGH); // turn on the relay if water is detected
  } else {
    digitalWrite(relayPin, LOW); // turn off the relay if no water is detected
  }
}


Penjelasan Program Irigasi
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
    Program menggunakan dua library, yaitu Wire (untuk komunikasi I2C) dan LiquidCrystal_I2C (untuk mengendalikan LCD menggunakan I2C).


LiquidCrystal_I2C lcd(0x27, 16, 2);
    Objek lcd diinisialisasi untuk mengendalikan LCD dengan alamat I2C 0x27, dan ukuran 16x2.

#define rainPin 3
#define waterPin A1
#define phPin A2
#define relayPin 8
#define relay4 6
#define relay5 5
    Mendefinisikan pin untuk sensor hujan, sensor kelembaban tanah, sensor pH, dan relay.

int Motor1in = 10;
int Motor1out = 9;
int Motor2in = 12;
int Motor2out = 11;
int rainThreshold = 500; // Adjust this value based on your sensor's reading
int waterValue = 0;
    Mendefinisikan pin untuk mengendalikan motor.

unsigned long int avgValue;  //Store the average value of the sensor feedback
float b;
int buf[10],temp;
    Mendefinisikan ambang batas hujan, nilai sensor kelembaban tanah, variabel untuk pengolahan nilai sensor pH.


void setup() {
  pinMode (rainPin, INPUT);
  pinMode (waterPin, INPUT);
  pinMode (phPin, INPUT);
  pinMode (relayPin, OUTPUT);
  pinMode (relay4, OUTPUT);
  pinMode (relay5, OUTPUT);
  Serial.begin(9600); // initialize serial communication at 9600 bits per second
  pinMode(Motor1in, OUTPUT);
  pinMode(Motor1out, OUTPUT);
  pinMode(Motor2in, OUTPUT);
  pinMode(Motor2out, OUTPUT);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("kondisi saat ini");
  delay(200);
}
  • Fungsi setup: Mengatur mode pin, menginisialisasi komunikasi serial, motor, LCD, dan lainnya.

void loop() {
  for(int i=0;i<10;i++)       //Get 10 sample value from the sensor for smooth the value
  {
    buf[i]=analogRead(phPin);
    delay(10);
  }
  for(int i=0;i<9;i++)        //sort the analog from small to large
  {
    for(int j=i+1;j<10;j++)
    {
      if(buf[i]>buf[j])
      {
        temp=buf[i];
        buf[i]=buf[j];
        buf[j]=temp;
      }
    }
  }
  avgValue=0;
  for(int i=2;i<8;i++)                      //take the average value of 6 center sample
    avgValue+=buf[i];
  float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
  phValue=3.5*phValue;                      //convert the millivolt into pH value
  • Fungsi loop: Membaca nilai sensor pH, menghitung rata-rata, mengonversi nilai analog ke mV, lalu ke nilai pH.
 
  Serial.print("    pH:");  
  Serial.print(phValue);
  Serial.println(" ");
  lcd.setCursor(0, 0);
  lcd.print("nilai ph =");
  lcd.setCursor(10, 0);
  lcd.print(phValue);

  if (phValue < 5) {
    digitalWrite(relay4, HIGH);
  } else {
    digitalWrite(relay4, LOW);
  }

  if (phValue > 7) {
    digitalWrite(relay5, HIGH);
  } else {
    digitalWrite(relay5, LOW);
  }
  • Menampilkan nilai pH di Serial Monitor dan LCD.
  • Mengendalikan relay4 dan relay5 berdasarkan nilai pH.

int rainValue = digitalRead(rainPin);
    if (rainValue == HIGH) {
    digitalWrite(Motor1in, HIGH);
    digitalWrite(Motor1out, LOW);
    digitalWrite(Motor2in, LOW);
    digitalWrite(Motor2out, LOW);
    delay(100);
  } else {
    digitalWrite(Motor1in, LOW);
    digitalWrite(Motor1out, LOW);
    digitalWrite(Motor2in, HIGH);
    digitalWrite(Motor2out, LOW);
    delay(100);
  }


  waterValue = analogRead(waterPin); // read the value from the sensor
  Serial.println(waterValue); // print the sensor value
  delay(1000); // wait for a second

  if (waterValue > 100) {
    digitalWrite(relayPin, HIGH); // turn on the relay if water is detected
  } else {
    digitalWrite(relayPin, LOW); // turn off the relay if no water is detected
  }
}
  • Membaca nilai sensor hujan dan mengendalikan motor berdasarkan kondisi hujan.



CODING HAMA


                       HAMA
int trigPin = 5;    // TRIG pin
int echoPin = 4;    // ECHO pin
#define pirPin 2
#define dipPin A0
#define relay1 3
#define relay2 6

float duration_us, distance;

void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(dipPin, INPUT);
  pinMode(pirPin, INPUT);
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  //ultrasonic sensor
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration_us = pulseIn(echoPin, HIGH);
  distance = 0.017 * duration_us;

  Serial.print("distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(1000);

  //kondisi dipswitch
  int dip = analogRead(dipPin);
  Serial.println(dip);
  if (dip == 1023){
   
        //kondisi sensor ultrasonic
  if(distance <= 150){
    digitalWrite(relay2, HIGH);
       // write '1'
      digitalWrite(7, LOW);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      digitalWrite(13, LOW);

      Serial.println("Hama Burung");
  }

  int pir = digitalRead(pirPin);
  //kondisi sensor pir
  if(pir == HIGH){
    digitalWrite(relay1, HIGH);
      // write '2'
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, LOW);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      digitalWrite(12, LOW);
      digitalWrite(13, HIGH);

      Serial.println("Hama Tikus");
  }

    if(distance > 100 && pir == LOW){
    digitalWrite(relay2, LOW);
    digitalWrite(relay1, LOW);
    // write '0'
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      digitalWrite(12, HIGH);
      digitalWrite(13, LOW);

      Serial.println("Tidak ada Hama");
  }
  }
 
  if (dip == 0){
             // MATI
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      digitalWrite(13, LOW);
  }

 


}


Penjelasan Program Hama
 
int trigPin = 5;    // TRIG pin
int echoPin = 4;    // ECHO pin
#define pirPin 2
#define dipPin A0
#define relay1 3
#define relay2 6
    
  •     Mendefinisikan pin untuk sensor ultrasonik (TRIG dan ECHO), sensor PIR (Passive Infrared), dipswitch, dan dua relay

float duration_us, distance;
    
  •     Mendefinisikan variabel global untuk menyimpan durasi sinyal ultrasonik dan jarak yang diukur


void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(dipPin, INPUT);
  pinMode(pirPin, INPUT);
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}
  •   Fungsi setup: Mengatur komunikasi serial, mode pin untuk sensor dan relay.
void loop() {
  //ultrasonic sensor
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration_us = pulseIn(echoPin, HIGH);
  distance = 0.017 * duration_us;

  Serial.print("distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(1000);

  //kondisi dipswitch
  int dip = analogRead(dipPin);
  Serial.println(dip);
  if (dip == 1023){
   
 
  int pir = digitalRead(pirPin);
 
  • Fungsi loop:
  • Menggunakan sensor ultrasonik untuk mengukur jarak dan menampilkan nilai di Serial Monitor.
  • Membaca nilai dari dipswitch.
  • Jika dipswitch aktif (nilai analog 1023):


      //kondisi sensor ultrasonic
  if(distance <= 150){
    digitalWrite(relay2, HIGH);
       // write '1'
      digitalWrite(7, LOW);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      digitalWrite(13, LOW);

      Serial.println("Hama Burung");
  }
  • Mengecek kondisi sensor ultrasonik. Jika jarak <= 150 cm, mengaktifkan relay2 dan mengatur beberapa pin output sesuai dengan kondisi hama burung.


//kondisi sensor pir
  if(pir == HIGH){
    digitalWrite(relay1, HIGH);
      // write '2'
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, LOW);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      digitalWrite(12, LOW);
      digitalWrite(13, HIGH);

      Serial.println("Hama Tikus");
  }

    if(distance > 100 && pir == LOW){
    digitalWrite(relay2, LOW);
    digitalWrite(relay1, LOW);
    // write '0'
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      digitalWrite(12, HIGH);
      digitalWrite(13, LOW);

      Serial.println("Tidak ada Hama");
  }
  }
            
    Mengecek kondisi sensor PIR. Jika terdeteksi, mengaktifkan relay1
dan mengatur beberapa pin output sesuai dengan kondisi hama tikus.
  • Jika jarak > 100 dan sensor PIR tidak terdeteksi, mematikan relay2 dan relay1, serta mengatur beberapa pin output sesuai dengan tidak adanya hama.


if (dip == 0){
             // MATI
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      digitalWrite(13, LOW);
  }
}
  • Jika dipswitch non-aktif (nilai analog 0), mematikan semua relay dan mengatur beberapa pin output sebagai kondisi mati.

  
e.) Vidio demo  [back]


 

f.) Kondisi  [back]
    
 APLIKASI KONTROL IRIGASI SAWAH DENGAN MENGGUNAKAN RAIN SENSOR, PH METER SENSOR, WATER LEVEL SENSOR, ULTRASONIC SENSOR, PIR SENSOR DAN OUPUT MOTOR (PEMBUKA/PENUTUP PINTU IRIGASI), LCD (TAMPILAN PH), MOTOR (POMPA PUPUK CAIR SESUAI KONDISI PH), SEVEN SEGMENT, BUZZER (UNTUK HAMA PADA SAWAH)
  
g.) Vidio Simulasi  [back]


   
h.) Download File  [back]
1. Download File Rangkaian Di Sini
2. Download Video Simulasi Di Sini
3. Download Kode Program :
    - Program Irigasi Irigasi Di Sini
    - Program Hama Sawah Di Sini
4. Download Flowchart Di Sini
5. Download Datasheet Rain Sensor Di Sini
6. Download Datasheet Water Level Di Sini
7. Download Datasheet pH Meter Sensor Di Sini
8. Download Datasheet Ultrasonic Sensor Di Sini
9. Download Datasheet Arduino UNO Di Sini
10. Download Datasheet PIR Sensor Di Sini
11. Download Datasheet LCD LM016L Di Sini
12. Download Library Rain Sensor Di Sini
13. Download Library Water Level Sensor Di Sini
14. Download Library pH Meter Sensor Di Sini
15. Download Library Ultrasonic Sensor Di Sini
16. Download Library PIR Sensor Di Sini
17. Download Library Arduino UNO Di Sini
18. Download Datasheet Komponen :
    - Datasheet Baterai Di Sini
    - Datasheet Relay Di Sini
    - Datasheet Resistor Di Sini
    - Datasheet Motor Di Sini
    - Datasheet Dioda Di Sini
    - Datasheet Seven Segment Di Sini
    - Datasheet Motor Driver L293D Di Sini
    - Datasheet PCF8574 Di Sini
19. Download File HTML Di Sini

Tidak ada komentar:

Posting Komentar