LA mikro

 


Modul 4
Smart Ricefield : Sistem Kendali Irigasi Sawah Otomatis

1. Pendahuluan[Kembali]

Air merupakan salah satu sumber daya alam yang sangat penting dalam sektor pertanian. Namun, permasalahan umum yang sering dihadapi petani adalah ketidaktepatan dalam penyiraman tanaman, baik dari segi jumlah maupun waktu penyiraman. Pengairan secara manual tidak hanya memakan waktu dan tenaga, tetapi juga berisiko menyebabkan pemborosan air atau kekurangan air bagi tanaman, yang pada akhirnya dapat menurunkan produktivitas pertanian.

Dengan kemajuan teknologi, sistem otomasi menjadi solusi untuk meningkatkan efisiensi dan efektivitas dalam proses irigasi. Sistem otomasi irigasi memungkinkan pengairan dilakukan secara otomatis berdasarkan parameter tertentu, seperti kelembapan tanah, suhu lingkungan, atau waktu tertentu yang telah dijadwalkan. Selain meningkatkan efisiensi penggunaan air, sistem ini juga dapat membantu petani dalam mengelola waktu dan sumber daya secara lebih baik.

2. Tujuan[Kembali]
  1. Mengoptimalkan penggunaan air dalam kegiatan irigasi agar tidak terjadi pemborosan atau kekurangan air.
  2. Meningkatkan efisiensi kerja petani dengan mengurangi keterlibatan manual dalam proses penyiraman tanaman.
  3. Meningkatkan hasil pertanian dengan menjaga kelembapan tanah pada level yang ideal untuk pertumbuhan tanaman.
  4. Mengembangkan sistem otomatisasi berbasis teknologi (seperti mikrokontroler dan sensor kelembapan tanah) untuk mendukung pertanian cerdas (smart farming).
  5. Memberikan solusi yang terjangkau dan mudah diterapkan di lahan pertanian skala kecil hingga menengah.

3. Alat dan Bahan[Kembali]

        1. STM32F103C8T6



spesifikasi




        2. Rapsberry Pi Pico



Spesifikasi 



        3. BJT NPN

Spesifikasi 

   Type Designator: BD139
   Material of Transistor: Si
   Polarity: NPN
   Maximum Collector Power Dissipation (Pc): 12 W
   Maximum Collector-Base Voltage |Vcb|: 80 V
   Maximum Collector-Emitter Voltage |Vce|: 80 V
   Maximum Emitter-Base Voltage |Veb|: 5 V
   Maximum Collector Current |Ic max|: 1 A
   Max. Operating Junction Temperature (Tj): 150 °C
   Transition Frequency (ft): 50 MHz
   Forward Current Transfer Ratio (hFE), MIN: 40




        4. Kabel Jampe


        5. HC-SR04 Sensor


Spesifikasi
  • Tegangan kerja: 5V DC
  • Arus kerja: 15mA
  • Jangkauan Maksimum: 4 m
  • Jangkauan Minimum: 2 cm
  • Sudut pengukuran: 15 derajat
  • Sinyal masukan pemicu: pulsa TTL 10 us
  • Resolusi: 1 cm
  • Frekuensi Ultrasonik: 40 kHz
  • Dimensi: 45 * 20 * 15 mm


        6. Rain Sensor


Spesifikasi :

- Catu Daya : 5 V
- Output Arus : 100 mA
- Output Sinyal : TTL
- Sensitifitas : Dapat disesuaikan sesuai kebutuhan dengan potensiometer
- Dilengkapi indikator LED
- Sensor dan panel kontrol dipisah untuk mendapatkan kinerja yang optimal
- Dimensi Panel Kontrol : 30 x 16 mm
- Dimensi Sensor : 54 x 40 mm


       7. ACS712


Spesifikasi
Supply Voltage: 4.5V~5.5V DC
Measure Current Range: -20A~ 20A
Sensitivity: 180mV/A ~190mV/A, Typical: 185mV/A
Modul: ACS712
Chipset: ACS712ELC-5A
Tegangan: 5V
Bahan: PCB
Ukuran papan PCB: 27,4 (mm) x11,8 (mm)

       8. Soil Moisture Resistive Sensor



Spesifikasi
    • Catu Daya : 3 ~ 5V
    • Pin : VCC (5V), GND, DO (Antarmuka Digital), dan A0 (Antarmuka Analog)
    • Dimensi Probe : 60 x 30mm
    • Dimensi PCB : 30 x 16mm

       9. OLED 



Spesifikasi :
- High resolution: 128 * 64
- Viewing angle:> 160
- Supports many control chip: Fully compatible with FOR Arduino, 51 Series, MSP430 Series, STM32 / 2, CSR IC, etc.
- Ultra-low power consumption: full screen lit 0.08W
- Voltage: 3V ~ 5V DC
- Working Temperature: -30 c ~ 70 c
- Module Size: 27.0MM * 27.0MM * 4.1MM
- I2C/IIC Interface, need 2 IO only.
- Driver IC: SSD1306

       10. Motor Pompa Air
Specifications:
       11. Resistor

Spesifikasi :
  • Resistance (ohms)          : 10K, 500K
  • Power (Watts)                 : 0.25W, 1/4W
  • Tolerance                        : -+ 5%
  • Packaging                       : Bulk
  • Composition                    : Carbon Film
  • Temperature Coefficient  : 350 ppm/C
  • Lead free status              : Lead free
  • RoHS status                    : RoHS Compliant

    

     

       

4. Dasar Teori[Kembali]

 
       1. Universal Asynchronous Receiver Transmitter (UART)

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 periperal.

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.

        2. Pulse Width Modulation (PWM)
    PWM (Pulse Width Modulation) adalah teknik modulasi yang mengubah lebar pulsa (duty cycle) sementara amplitudo dan frekuensi tetap konstan. Satu siklus pulsa terdiri dari kondisi high dan transisi ke kondisi low. Lebar pulsa PWM sebanding dengan amplitudo sinyal asli yang belum dimodulasi. Duty cycle adalah rasio antara waktu ON (lebar pulsa High) dan periode total, biasanya dinyatakan dalam persentase (%).
duty cycle pwm


Keterangan :
t_ON = waktu ON atau waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1)
t_OFF = waktu OFF atau waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0)
t_total = waktu satu siklus atau penjumlahan antara t_ON dengan t_OFF atau disebut juga dengan “periode satu gelombang”

Pada board Arduino Uno, pin yang dapat digunakan untuk PWM adalah pin yang ditandai dengan tanda tilde (~), yaitu pin 3, 5, 6, 9, 10, dan 11. Pin-pin ini dapat berfungsi sebagai input atau output analog. Untuk menggunakan PWM pada pin tersebut, gunakan perintah analogWrite().
PWM pada Arduino beroperasi pada frekuensi 500Hz, yang berarti ada 500 siklus per detik. Setiap siklus dapat diberi nilai antara 0 hingga 255. Jika nilai 0 diberikan, pin tersebut akan selalu berada pada 0 volt. Jika nilai 255 diberikan, pin akan selalu berada pada 5 volt. Memberikan nilai 127 (setengah dari 255 atau 50%) akan membuat pin berada pada 5 volt selama setengah siklus dan 0 volt selama setengah siklus lainnya. Memberikan nilai 64 (25% dari 255) akan membuat pin berada pada 5 volt selama 1/4 siklus dan 0 volt selama 3/4 siklus, dan ini terjadi 500 kali dalam satu detik.

        3. Inter Integrated Circuit (12C)

Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan 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. 

Cara Kerja Komunikasi 12C
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 telah diterima receiver.

        4STM32F103C8T6

STM32F103C8T6 merupakan salah satu jenis mikrokontroler dari keluarga STM32 yang diproduksi oleh STMicroelectronics. Mikrokontroler ini termasuk dalam seri STM32F1 dan berbasis pada inti prosesor ARM Cortex-M3 32-bit. Dengan kecepatan clock hingga 72 MHz, STM32F103C8T6 menawarkan performa yang tinggi serta efisiensi dalam konsumsi daya, menjadikannya sangat populer dalam berbagai aplikasi sistem tertanam (embedded system). Mikrokontroler ini dilengkapi dengan memori flash sebesar 64 KB dan SRAM sebesar 20 KB, serta mendukung hingga 37 pin input/output (GPIO) yang dapat dikonfigurasi sesuai kebutuhan pengguna.

Selain itu, STM32F103C8T6 memiliki beragam fitur pendukung seperti ADC 12-bit hingga 10 kanal, beberapa jenis komunikasi serial seperti UART, SPI, dan I2C, serta dilengkapi juga dengan USB 2.0 Full-Speed. Mikrokontroler ini memiliki beberapa timer yang bisa digunakan untuk berbagai keperluan, seperti pengendalian motor, pengukuran waktu, atau pembuatan sinyal PWM. Arsitektur yang digunakan juga sudah mendukung sistem interrupt dengan menggunakan NVIC (Nested Vectored Interrupt Controller), sehingga respon terhadap kejadian eksternal bisa dilakukan secara efisien.

Dalam proses pengembangannya, STM32F103C8T6 dapat diprogram menggunakan beberapa platform seperti STM32CubeIDE, Keil uVision, ataupun PlatformIO, dan bisa diakses melalui programmer seperti ST-Link V2 atau USB to Serial menggunakan bootloader. Untuk mempermudah pemrograman, STMicroelectronics menyediakan library seperti HAL (Hardware Abstraction Layer) dan LL (Low Layer) yang mempermudah akses ke fitur-fitur perangkat keras.
Spesifikasi

Fitur-Fitur Utama

  • USB 2.0 Full-Speed

  • 12-bit ADC hingga 10 channel

  • DMA Controller

  • Up to 7 timers (PWM, encoder interface, input capture, output compare)

  • Real-Time Clock (RTC)

  • Nested Vectored Interrupt Controller (NVIC)

  • LED Power Indicator


        5. Rapsberry Pi Pico



Raspberry Pi Pico merupakan papan mikrokontroler berbasis chip RP2040 yang dikembangkan oleh Raspberry Pi Foundation. Tidak seperti produk Raspberry Pi lainnya yang merupakan komputer mini, Raspberry Pi Pico lebih mirip dengan platform mikrokontroler seperti Arduino, yang dirancang untuk mengontrol perangkat keras secara langsung dan efisien. Chip utama RP2040 memiliki dua inti prosesor ARM Cortex-M0+ yang berjalan hingga 133 MHz, serta dilengkapi dengan 264 KB SRAM dan 2 MB flash memory, yang membuatnya cukup kuat untuk berbagai aplikasi sistem tertanam (embedded system).

Raspberry Pi Pico memiliki 26 pin GPIO multifungsi, yang dapat digunakan untuk berbagai fungsi seperti digital input/output, PWM, I2C, SPI, UART, dan ADC 12-bit sebanyak tiga kanal. Mikrokontroler ini mendukung pemrograman menggunakan bahasa C/C++ melalui SDK resmi dari Raspberry Pi, dan juga mendukung MicroPython, yang sangat memudahkan pemula untuk mulai belajar pemrograman mikrokontroler. Pemrograman dilakukan melalui antarmuka USB yang juga berfungsi sebagai port komunikasi serial, sehingga pengguna hanya perlu menghubungkan Pico ke komputer menggunakan kabel USB untuk memprogramnya.

Spesifikasi

        6. BJT NPN 

Transistor Bipolar Junction (BJT) adalah salah satu jenis transistor yang digunakan secara luas dalam rangkaian elektronik sebagai penguat, saklar, dan pengendali sinyal. Disebut "bipolar" karena melibatkan dua jenis pembawa muatan, yaitu elektron dan hole (muatan positif). BJT terdiri atas tiga lapisan semikonduktor yang membentuk dua sambungan PN, dan diklasifikasikan menjadi dua jenis, yaitu NPN dan PNP. Pada transistor jenis NPN, susunan semikonduktornya adalah N–P–N, di mana lapisan P berfungsi sebagai basis, sedangkan dua lapisan N bertindak sebagai emitter dan kolektor.

Transistor NPN memiliki tiga terminal utama, yaitu emitter, basis, dan kolektor. Emitter berfungsi untuk mengalirkan elektron, basis berperan sebagai pengendali arus, dan kolektor bertugas mengumpulkan elektron. Agar transistor jenis NPN dapat beroperasi dalam mode aktif, tegangan antara basis dan emitter (V_BE) harus sekitar 0,7 volt agar basis menjadi forward bias terhadap emitter, sedangkan kolektor harus reverse bias terhadap basis. Ketika kondisi ini terpenuhi, arus kecil yang masuk ke basis akan mengontrol arus yang jauh lebih besar dari kolektor ke emitter. Hubungan arus ini dirumuskan dengan IC=βIBI_C = \beta \cdot I_B, di mana β\beta adalah penguatan arus transistor.

Transistor NPN dapat bekerja dalam tiga mode utama, yaitu mode cut-off (transistor mati), mode aktif (penguatan sinyal), dan mode saturasi (saklar menyala penuh). Dalam mode cut-off, arus basis tidak mengalir sehingga tidak ada arus kolektor-emitter. Dalam mode aktif, transistor berfungsi sebagai penguat arus. Sementara itu, dalam mode saturasi, transistor bertindak sebagai saklar tertutup dan arus maksimum mengalir dari kolektor ke emitter. Transistor NPN banyak digunakan dalam rangkaian elektronik digital karena kemampuannya bekerja dengan sinyal logika positif, serta keunggulannya dalam mengendalikan beban seperti LED, motor, atau relay dengan efisien.

        7. HC-SR04



HC-SR04 adalah sebuah sensor ultrasonik yang digunakan untuk mengukur jarak antara sensor dan suatu objek dengan memanfaatkan gelombang suara berfrekuensi tinggi di luar jangkauan pendengaran manusia. Sensor ini bekerja berdasarkan prinsip pantulan gelombang ultrasonik (echo), mirip seperti sistem sonar pada kelelawar. HC-SR04 memiliki empat pin utama, yaitu VCC, GND, Trigger, dan Echo. Untuk melakukan pengukuran, mikrokontroler seperti Arduino atau STM32 akan mengirimkan pulsa logika tinggi ke pin Trigger selama minimal 10 mikrodetik. Setelah itu, sensor akan mengirimkan gelombang ultrasonik dengan frekuensi sekitar 40 kHz ke arah objek.

Jika gelombang tersebut mengenai objek di depan sensor, maka gelombang akan dipantulkan kembali dan diterima oleh bagian penerima sensor. Pin Echo kemudian menghasilkan sinyal logika tinggi selama waktu yang sama dengan waktu tempuh bolak-balik gelombang ultrasonik tersebut. Dengan mengukur durasi pulsa pada pin Echo dan mengetahui kecepatan gelombang suara di udara (sekitar 343 meter per detik pada suhu ruang), maka jarak antara sensor dan objek dapat dihitung dengan rumus:



Spesifikasi:
  • Tegangan kerja: 5V DC
  • Arus kerja: 15mA
  • Jangkauan Maksimum: 4 m
  • Jangkauan Minimum: 2 cm
  • Sudut pengukuran: 15 derajat
  • Sinyal masukan pemicu: pulsa TTL 10 us
  • Resolusi: 1 cm
  • Frekuensi Ultrasonik: 40 kHz
  • Dimensi: 45 * 20 * 15 mm
Pinout Sensor HC-SR04:
  • Pin1 (VCC) :  5V DC  
  • Pin2 (Trigger) : Ini adalah pin trigger yang memberi sinyal high selama 10 mikrodetik
  • Pin3 (Echo) : Ini adalah pin echo yang menghasilkan pulsa high dengan durasi yang sesuai.
  • Ping4(GND) : Ini adalah ground. 



berikut adalah timing diagram dari sensor infrared:





        8. Rain Sensor

Rain sensor atau sensor hujan adalah perangkat elektronik yang digunakan untuk mendeteksi keberadaan dan intensitas air hujan. Sensor ini umumnya terdiri dari sebuah plat konduktif dengan pola jejak tembaga yang terbuka (seperti jaring), yang bekerja berdasarkan prinsip perubahan resistansi. Saat plat sensor dalam kondisi kering, resistansinya tinggi sehingga arus listrik tidak mudah mengalir. Namun, ketika tetesan air hujan membasahi permukaan sensor, air (sebagai penghantar) menyebabkan penurunan resistansi sehingga arus dapat mengalir lebih mudah antara jalur-jalur konduktif tersebut. Perubahan ini dapat dideteksi sebagai sinyal analog atau digital tergantung jenis output sensor yang digunakan.

Pada sistem yang menggunakan sinyal analog, output dari rain sensor biasanya dihubungkan ke pin ADC (Analog to Digital Converter) pada mikrokontroler. Nilai tegangan analog yang terbaca mencerminkan tingkat kekeringan atau kebasahan sensor: nilai tinggi menunjukkan kondisi kering, dan nilai rendah menandakan adanya air hujan. Sensor ini dapat dikalibrasi dengan menetapkan batas minimum dan maksimum nilai ADC untuk mengonversi data menjadi persentase tingkat kelembaban atau intensitas hujan.




berikut adalah grafik respon dari sensor Rain:


Spesifikasi :

- Catu Daya : 5 V
- Output Arus : 100 mA
- Output Sinyal : TTL
- Sensitifitas : Dapat disesuaikan sesuai kebutuhan dengan potensiometer
- Dilengkapi indikator LED
- Sensor dan panel kontrol dipisah untuk mendapatkan kinerja yang optimal
- Dimensi Panel Kontrol : 30 x 16 mm
- Dimensi Sensor : 54 x 40 mm

Pinout Sensor Rain:
  • Pin1 (VCC) : 3.3V DC hingga 5V DC  
  • Pin2 (GND) : Ini adalah pin ground  
  • Pin3 (A0) : Ini adalah pin analog output
  • Ping4(D0) : Ini adalah pin digital output. 

        9. ACS712

ACS712 adalah sensor arus berbasis efek Hall yang digunakan untuk mengukur arus listrik baik arus searah (DC) maupun arus bolak-balik (AC). Sensor ini diproduksi oleh Allegro Microsystems dan sangat populer dalam berbagai aplikasi elektronika karena kemampuannya mengukur arus secara non-invasif, yaitu tanpa perlu memutus rangkaian arus utama secara langsung. Sensor ACS712 bekerja dengan mendeteksi medan magnet yang dihasilkan oleh arus listrik yang mengalir melalui jalur internal sensor, dan mengubahnya menjadi tegangan analog yang proporsional terhadap besarnya arus tersebut.

Sensor ini tersedia dalam beberapa varian tergantung dari rentang arus yang dapat diukur, yaitu ±5 A, ±20 A, dan ±30 A. Output dari sensor ini berupa tegangan analog yang berkisar antara 0 hingga 5 volt, dengan tegangan tengah (offset) pada kondisi tanpa arus sekitar 2.5 volt. Ketika arus mengalir melalui sensor, tegangan output akan berubah secara proporsional terhadap arah dan besar arus. Misalnya, jika arus mengalir dalam satu arah (positif), tegangan akan naik di atas 2.5 V; jika dalam arah sebaliknya (negatif), tegangan akan turun di bawah 2.5 V.

berikut adalah grafik respon dari sensor sound:


Spesifikasi
Supply Voltage: 4.5V~5.5V DC
Measure Current Range: -20A~ 20A
Sensitivity: 180mV/A ~190mV/A, Typical: 185mV/A
Modul: ACS712
Chipset: ACS712ELC-5A
Tegangan: 5V
Bahan: PCB
Ukuran papan PCB: 27,4 (mm) x11,8 (mm)

Pinout Sensor Sound:
  • Pin1 (VCC) : 3.3V DC hingga 5V DC  
  • Pin2 (GND) : Ini adalah pin ground  
  • Pin3 (OUT) : Ini adalah pin output. 

        10. Soil Moisture Sensor

Sensor kelembaban tanah tipe resistif adalah perangkat elektronik sederhana yang digunakan untuk mendeteksi tingkat kelembaban atau kandungan air dalam tanah. Prinsip kerja sensor ini didasarkan pada perubahan resistansi listrik antara dua elektroda logam yang ditanam ke dalam tanah. Ketika tanah dalam keadaan basah, kandungan air yang tinggi membuat tanah menjadSi lebih konduktif, sehingga resistansi antara elektroda menjadi rendah. Sebaliknya, ketika tanah kering, resistansi meningkat karena air yang bersifat konduktif berkurang. Perubahan resistansi ini kemudian diubah menjadi sinyal tegangan yang bisa dibaca oleh mikrokontroler seperti Arduino atau STM32.

Sensor ini biasanya terdiri dari dua bagian: probe tanah (elektroda) dan modul pembaca. Modul memiliki dua output: analog (A0) dan digital (D0). Output analog menghasilkan tegangan proporsional dengan tingkat kelembaban, sedangkan output digital memberikan sinyal logika HIGH atau LOW berdasarkan ambang batas yang bisa diatur melalui potensiometer pada modul. Sensor ini beroperasi dengan tegangan 3.3–5V, dan sangat mudah digunakan dalam sistem penyiraman otomatis, monitoring pertanian, atau proyek berbasis Internet of Things (IoT).

berikut adalah grafik respon dari soil moisture sensor :
Spesifikasi
    • Catu Daya : 3 ~ 5V
    • Pin : VCC (5V), GND, DO (Antarmuka Digital), dan A0 (Antarmuka Analog)
    • Dimensi Probe : 60 x 30mm
    • Dimensi PCB : 30 x 16mm
Pinout Sensor Rain:
  • Pin1 (VCC) : 3.3V DC hingga 5V DC  
  • Pin2 (GND) : Ini adalah pin ground  
  • Pin3 (A0) : Ini adalah pin analog output
  • Ping4(D0) : Ini adalah pin digital output. 






        11.  OLED

OLED (Organic Light Emitting Diode) adalah teknologi tampilan yang memanfaatkan lapisan tipis bahan organik yang dapat memancarkan cahaya ketika diberi tegangan listrik. Berbeda dengan layar LCD yang membutuhkan lampu latar (backlight), setiap piksel pada OLED dapat menyala sendiri (self-emissive), sehingga menghasilkan tampilan dengan kontras tinggi, warna tajam, dan konsumsi daya yang rendah, terutama saat menampilkan warna gelap atau hitam.

Pada aplikasi mikrokontroler seperti Arduino atau STM32, OLED yang umum digunakan adalah modul OLED berbasis driver SSD1306 berukuran 0.96 inci dengan resolusi 128x64 piksel. Modul ini berkomunikasi menggunakan antarmuka I2C atau SPI, dan mampu menampilkan teks, grafik, hingga animasi sederhana. Untuk menampilkan data, biasanya digunakan pustaka (library) seperti Adafruit_SSD1306 dan Adafruit_GFX, yang menyediakan berbagai fungsi untuk menggambar bentuk, menulis teks, serta mengatur posisi piksel.


Spesifikasi :
- High resolution: 128 * 64
- Viewing angle:> 160
- Supports many control chip: STM32 / 2, CSR IC, etc.
- Ultra-low power consumption: full screen lit 0.08W
- Voltage: 3V ~ 5V DC
- Working Temperature: -30 c ~ 70 c
- Module Size: 27.0MM * 27.0MM * 4.1MM
- I2C/IIC Interface, need 2 IO only.
- Driver IC: SSD1306

Pinout Sensor Rain:
  • Pin1 (VCC) : 3.3V DC hingga 5V DC  
  • Pin2 (GND) : Ini adalah pin ground  
  • Pin3 (SCL) : Ini adalah jalur komunikasi I2C
  • Pin4(SDA) : Ini adalah jalur data untuk komunikasi I2C
        12. Motor Pompa Air

Motor pompa air adalah perangkat elektromekanis yang digunakan untuk mengalirkan atau memindahkan air dari satu tempat ke tempat lain dengan memanfaatkan prinsip kerja motor listrik sebagai penggerak utama. Pompa air terdiri dari dua bagian utama: motor listrik dan unit pompa (impeller atau rotor). Motor mengubah energi listrik menjadi energi mekanik berupa putaran poros, yang kemudian menggerakkan impeller untuk menciptakan perbedaan tekanan sehingga air dapat terdorong keluar melalui saluran keluaran (output). Pompa air kecil yang umum digunakan dalam proyek elektronika atau otomasi berbasis mikrokontroler biasanya menggunakan motor DC sebagai penggeraknya.

Jenis pompa air yang sering digunakan dalam skala kecil adalah pompa air submersible (terendam) atau pompa mini DC, yang biasanya bekerja pada tegangan 3–12 volt. Motor jenis ini mudah dikendalikan menggunakan sakelar, transistor, atau driver motor seperti L298N atau MOSFET, serta dapat diintegrasikan ke sistem kontrol otomatis seperti sistem penyiraman tanaman otomatis. Kinerja pompa dapat dikontrol menggunakan sinyal PWM untuk mengatur kecepatan motor dan debit air yang dihasilkan.




Specifications:

      13. Kabel Jumper

Jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan berfungsi sebagai penghubung dua komponen yang melibatkan Arduino tanpa memerlukan solder

14.  Resistor


Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

Seperti yang dikatakan sebelumnya, nilai Resistor yang berbentuk Axial adalah diwakili oleh Warna-warna yang terdapat di tubuh (body) Resistor itu sendiri dalam bentuk Gelang. Umumnya terdapat 4 Gelang di tubuh Resistor, tetapi ada juga yang 5 Gelang.

Gelang warna Emas dan Perak biasanya terletak agak jauh dari gelang warna lainnya sebagai tanda gelang terakhir. Gelang Terakhirnya ini juga merupakan nilai toleransi pada nilai Resistor yang bersangkutan.

Tabel dibawah ini adalah warna-warna yang terdapat di Tubuh Resistor :

Tabel Kode Warna Resistor
Perhitungan untuk Resistor dengan 4 Gelang warna 


Cara menghitung nilai resistor 4 gelang

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan Jumlah nol dari kode warna Gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10n) Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 4 : Perak = Toleransi 10%
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.

Perhitungan untuk Resistor dengan 5 Gelang warna :

Cara Menghitung Nilai Resistor 5 Gelang Warna

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan angka langsung dari kode warna Gelang ke-3
Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n) Merupakan Toleransi dari nilai Resistor tersebut

Contoh :
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 5 : Perak = Toleransi 10%

Contoh-contoh perhitungan lainnya :
Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi
Kuning, Ungu, Orange, Perak → 47 * 10³ = 47.000 Ohm atau 47 Kilo Ohm dengan 10% toleransi

Cara menghitung Toleransi :
2.200 Ohm dengan Toleransi 5% =
2200 – 5% = 2.090
2200 + 5% = 2.310
ini artinya nilai Resistor tersebut akan berkisar antara 2.090 Ohm ~ 2.310 Ohm
Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi


5. Percobaan [Kembali]

a. Prosedur[Kembali]
  1. Siapkan semua alat dan komponen yang dibutuhhkan
  2. Rangkai semua komponen.
  3. Buka programpada arduino IDE dan upload pada arduino Master dan Slave.
  4. Setelah selesai proses upoad, jalan kan rangkaian sesuai dengan prinsip kerja yang telah dibuat.
  5. Selesai
     

b. Hardware[Kembali]



c. Rangkaian Simulasi dan Prinsip Kerja[Kembali]




Prinsip Kerja

Sistem ini dirancang untuk melakukan monitoring dan pengendalian irigasi secara otomatis berbasis mikrokontroler Raspberry Pi Pico dan STM32. Raspberry Pi Pico bertindak sebagai unit pengumpul data dari berbagai sensor, sedangkan STM32 berfungsi sebagai pengendali aktuator berupa pompa air dan menampilkan data pada OLED berdasarkan data yang dikirim melalui komunikasi UART. Sistem ini mengandalkan empat jenis sensor utama, yaitu sensor kelembaban tanah, sensor hujan, sensor ketinggian air (ultrasonik), dan sensor arus, untuk mengambil keputusan penyiraman secara cerdas dan efisien.

Sensor kelembaban tanah (soil moisture sensor) berfungsi untuk mendeteksi kadar air di dalam media tanam. Sensor ini bekerja dengan prinsip perubahan resistansi; saat tanah basah, resistansinya rendah dan menghasilkan nilai ADC yang kecil, sedangkan saat tanah kering, resistansinya meningkat dan nilai ADC menjadi lebih tinggi. Sensor dihubungkan ke pin ADC1 pada Raspberry Pi Pico dan nilai yang diperoleh dikalibrasi terhadap nilai minimum dan maksimum (SOIL_ADC_MIN dan SOIL_ADC_MAX) untuk dikonversi ke dalam bentuk persentase kelembaban tanah. Nilai ini menjadi parameter utama dalam menentukan kebutuhan penyiraman.

Sensor hujan (rain sensor) juga bekerja berdasarkan prinsip resistif, di mana plat sensor akan mengubah nilai resistansi saat terkena air hujan. Sensor ini terhubung ke pin ADC0 dan dikalibrasi dengan nilai RAIN_ADC_MIN dan RAIN_ADC_MAX agar outputnya dapat direpresentasikan dalam bentuk persentase. Jika nilai kelembaban hujan melebihi ambang batas tertentu, sistem akan menganggap bahwa kondisi sedang hujan, dan proses penyiraman akan dibatalkan meskipun tanah dalam keadaan kering.

Untuk mengetahui volume air yang tersedia di dalam penampungan, digunakan sensor ultrasonik HCSR04. Sensor ini mengukur jarak permukaan air dari bagian atas tabung dengan memancarkan gelombang ultrasonik dan menghitung waktu pantulan yang kembali ke sensor. Data yang diperoleh diubah menjadi satuan sentimeter dan digunakan untuk menghitung tinggi air aktual di dalam tabung dengan mengurangkan nilai jarak dari tinggi tabung (TINGGI_TABUNG_CM). Jika air dalam tabung tidak mencukupi (misalnya kurang dari 5 cm), maka pompa tidak akan dinyalakan untuk menghindari kerusakan akibat kekeringan.

Sensor arus ACS712 digunakan untuk memantau apakah pompa benar-benar menyala saat diberikan tegangan. Sensor ini menghasilkan output tegangan proporsional terhadap arus yang mengalir. Nilai tegangan dibaca dari ADC2 pada Raspberry Pi Pico dan dikonversi menjadi satuan miliampere (mA) dengan mempertimbangkan nilai tegangan saat tidak ada arus (TEGANGAN_NOL_ACS) serta sensitivitas sensor (SENSITIVITAS, yaitu 185 mV/A untuk versi 5A). Jika nilai arus yang terdeteksi sangat rendah (<100 mA), maka sistem menganggap bahwa motor tidak beroperasi dengan baik. Dalam kondisi ini, sistem akan mengalihkan pengaktifan ke motor cadangan.

Semua nilai hasil pembacaan sensor dikirimkan melalui komunikasi UART ke mikrokontroler STM32 dalam bentuk string terformat (H:<tinggi_air>,R:<hujan>,S:<tanah>,C:<arus>). STM32 kemudian menguraikan data ini dan melakukan pengambilan keputusan berdasarkan logika sebagai berikut: jika tanah kering, air mencukupi, dan tidak sedang hujan, maka motor 1 akan diaktifkan. Jika setelah 10 detik motor 1 tidak menunjukkan arus yang memadai (menandakan gagal beroperasi), maka sistem secara otomatis akan mengaktifkan motor 2 sebagai cadangan. Seluruh informasi status sistem dan data sensor ditampilkan secara real-time pada layar OLED, termasuk informasi kelembaban tanah, tinggi air, status hujan, serta status pompa yang aktif.


d. Flowchart[Kembali]








e. Video Demo[Kembali]

Video Demo


f. Download File[Kembali]
Video Demo klik disini
Video Demo revisi klik disini 
Codingan STM32 klik disini
Codingan Rapsberry klik disini
Datasheet sensor ultrasonik klik disini
Datasheet sensor acs712 klik disini
Datasheet sensor rain klik disini
Datasheet soil moisture klik disini
Datasheet motor pompa air klik disini
Datasheet resistor klik disini
Datasheet oled klik disini
Datasheet resistor klik disini
Datasheet BJT NPN klik disini
Datasheet STM32 klik disini
Datasheet Rapsberry Pi Pico klik disini