M4 Project Demo


 

Sistem otomatisasi budidaya gurame




1. Pendahuluan [back]

       Budidaya ikan gurame merupakan salah satu sektor perikanan yang sangat potensial di Indonesia, mengingat tingginya permintaan pasar dan nilai ekonomis ikan ini. Meskipun demikian, budidaya gurame sering menghadapi berbagai tantangan seperti pengendalian kualitas air, pemberian pakan yang tepat waktu, dan pemantauan kondisi lingkungan kolam. Tantangan-tantangan ini dapat menghambat produktivitas dan efisiensi budidaya jika tidak dikelola dengan baik. 

    Untuk mengatasi masalah tersebut, pengembangan sistem otomatisasi budidaya gurame menjadi sangat penting. Sistem ini dirancang untuk mengotomatiskan berbagai aspek manajemen kolam ikan, mulai dari pengaturan kualitas air, kontrol ketinggian air, penerangan kolam, hingga pemberian pakan secara otomatis. Dengan menggunakan berbagai jenis sensor dan teknologi canggih, sistem otomatisasi ini dapat memantau dan mengendalikan kondisi kolam secara real-time, sehingga menciptakan lingkungan yang optimal bagi pertumbuhan dan kesehatan ikan gurame.



2. Tujuan 
[back]

a. Mengetahui Rangkaian Simulasi Aplikasi Kontrol Otomatis Budidaya Gurame Menggunakan Mikrokontroller Arduino Uno dan Berbagai Sensor
Mengembangkan rangkaian simulasi yang mengintegrasikan mikrokontroller Arduino Uno dengan berbagai sensor seperti rain sensor, ultrasonic sensor, sensor cahaya (LDR), infrared sensor, dan pH sensor untuk mengontrol berbagai aspek dalam budidaya gurame secara otomatis.

b. Mengetahui Rangkaian Simulasi Kontrol Otomatis Budidaya Gurame Menggunakan Software Proteus
Melakukan simulasi rangkaian kontrol otomatis budidaya gurame dengan menggunakan software Proteus untuk memastikan desain dan fungsionalitas sistem berjalan sesuai dengan yang diharapkan sebelum implementasi nyata.

c. Memenuhi Project Demo Modul 4 Praktikum Mikroprosesor dan Mikrokontroller
    Menyelesaikan tugas praktikum modul 4 dengan melakukan demonstrasi sistem otomatisasi budidaya gurame, menunjukkan aplikasi praktis penggunaan mikrokontroller dan sensor dalam meningkatkan efisiensi dan efektivitas budidaya.

3. Alat dan Bahan  [back]

A. Alat 

1. Mikrokontroller (Arduino Uno)
Spesifikasi :

Microcontroller                                          ATmega328P

Operating Voltage                                      5 V

Input Voltage (recommended)                   7 – 12 V

Input Voltage (limit)                                  6 – 20 V

Digital I/O Pins                                         14 (of which 6 provide PWM output)

PWM Digital I/O Pins                               6

Analog Input Pins                                      6

DC Current per I/O Pin                             20 mA

DC Current for 3.3V Pin                           50 mA

Flash Memory                                            32 KB of which 0.5 KB used by bootloader

SRAM                                                        2 KB

EEPROM                                                   1 KB

Clock Speed                                               16 MHz


2. Baterai 

Spesifikasi :

Model Number

1222 SW1 Kotak

Unit

1pc

Classification

Super Heavy Duty

Color

Hitam

Chemistry

Zinc Carbon

Battery Capacity

400 mAh

Battery Terminal Type

Button Top

Packaging Quantity

Bulk 2 pcs

Berat (Kg)

0.1



3. LCD (Liquid Crystal Display)
Spesifikasi :

·       Tegangan pengoperasian layar ini berkisar antara 4,7V hingga 5,3V

·       Bezel layarnya berukuran 72 x 25 mm

·       Arus operasi adalah 1mA tanpa lampu latar

·       Ukuran PCB modul adalah 80L x 36W x 10H mm

·       pengontrol HD47780

·       Warna LED untuk lampu latar adalah hijau atau biru

·       Jumlah kolom – 16

·       Jumlah baris – 2

·       Jumlah pin LCD – 16

·       Karakter – 32

·       Ia bekerja dalam mode 4-bit dan 8-bit

·       Kotak piksel setiap karakter berukuran 5x8 piksel

·       Ukuran font karakter adalah 0,125 Lebar x 0,200 tinggi


4. Adaptor 12V 2A

Spefisikasi

·                12Volt / 2Amp switching power supply (UL)

·                Input voltage: 100-240V AC 50/60Hz

·                Output voltage: 12v DC 2Amp

·                Connector: 5.5mm OD, 2.1mm ID, 10mm Long

·                Cord length: 1.5m


5. Micro Water Pump 12V (Pompa Air)

Spesifikasi Micro Water Pump 365B-7:

· Tegangan Kerja: 12V DC, yang biasanya dapat dihubungkan ke sumber daya seperti baterai 12V atau adaptor DC

· Desain Kecil: Memiliki desain yang kecil dan ringkas, sehingga mudah diintegrasikan dalam proyek-proyek miniatur atau aplikasi portabel.

·    Material: Umumnya terbuat dari bahan tahan korosi untuk keamanan dan keawetan pompa.

·  Kinerja: Meskipun ukurannya kecil, pompa ini dapat memberikan aliran air yang cukup untuk aplikasi kecil hingga menengah.

·  Kabel dan Konektor: Dilengkapi dengan kabel dan konektor untuk memudahkan penghubungan ke sumber daya atau kontroler

6. Motor Servo

Spesifikasi




B. Bahan
  1. Ultrasonic Sensor
  2. pH Sensor
  3. Rain Sensor
  4. Infrared Sensor
  5. LDR Sensor (Light Dependent Resistor)
  6. LED (merah)
  7. IC PCF8574
  8. Resistor 220 Ω
  9. Resistor 1000 Ω
  10. Jumper Cable
  11. Breadboard
1. Ultrasonic Sensor

Spesifikasi :

Operating Voltage

DC 5V

Operating Cuurent Standby

<2 mA

Operating Current

15 mA

Operating Frequency

40 KHz

Maximum Range

400 cm (4 m)

Minimun Range

2 cm

Ranging Accuracy

3mm

Measuring Angel

15 degree

Trigger Input Signal

10 mikroSecond TTL pulse

Dimension

45 x 20 x 15 mm




2. pH Sensor

Spesifikasi

PH Probe Sensor Pinout

TO – Temperature output

DO – 3.3V pH limit trigger

PO – PH analog output

Gnd – Gnd for PH probe

Gnd – Gnd for board

VCC – 5V DC

POT 1 – Analog reading offset (Nearest to BNC connector)

POT 2 – PH limit setting

3. Rain Sensor

Spesifikasi :

·       Modul sensor ini menggunakan bahan dua sisi berkualitas baik.

·       Anti-konduktivitas & oksidasi dengan penggunaan jangka panjang

·       Luas sensor ini berukuran 5cm x 4cm dan dapat dibuat dengan pelat nikel di bagian sampingnya

·       Sensitivitasnya dapat diatur dengan potensiometer

·       Tegangan yang dibutuhkan adalah 5V

·       Ukuran PCB kecil adalah 3,2cm x 1,4cm

·       Untuk memudahkan pemasangan, menggunakan lubang baut

·       Ia menggunakan komparator LM393 dengan tegangan lebar

·       Output dari komparator adalah bentuk gelombang bersih dan kapasitas penggerak di atas 15mA

4. Infrared Sensor


Nama

Sensor Infrared Proximity

Tipe

Module Sensor

Banyak Pin

3 Pin

Tegangan Masukan

3-5 Volt

Konsumsi Arus

23 mA saat 3.0V dan 43 mA saat 5.0V

Jarak pembacaan

2 - 30 cm (diatur dengan potensiometer)

Keluaran Sensor

Digital LOW

Lampu LED indikator

Ada


5. LDR Sensor


·       Supply : 3.3 V – 5 V (arduino available)

·        Output Type: Digital Output (0 and 1) 

·       Inverse output

·       Include IC LM393 voltage comparator

·       Sensitivitasnya dapat diatur 

·       Dimensi PCB size: 3.2 cm x 1.4 cm

·       Input Voltage: DC 3.3V - 5V

·       Output: Digital - Sensitivitas bisa diatur, dan analog

·       Ukuran PCB : 33 mm x 15 mm 


6. LED


Tegangan kerja / jatuh tegangan pada sebuah menurut warna yang dihasilkan:
  1. Infra merah : 1,6 V
  2. Merah : 1,8 V – 2,1 V
  3. Oranye : 2,2 V
  4. Kuning : 2,4 V
  5. Hijau : 2,6 V
  6. Biru : 3,0 V – 3,5 V
  7. Putih : 3,0 – 3,6 V
  8. Ultraviolet : 3,5 V

7. IC PCF8574




9. Resistor 220 ohm dan 1K ohm


Tegangan kerja / jatuh tegangan pada sebuah menurut warna yang dihasilkan:
  1. Infra merah : 1,6 V
  2. Merah : 1,8 V – 2,1 V
  3. Oranye : 2,2 V
  4. Kuning : 2,4 V
  5. Hijau : 2,6 V
  6. Biru : 3,0 V – 3,5 V
  7. Putih : 3,0 – 3,6 V
  8. Ultraviolet : 3,5 V

10. Jumper Cable



Spesifikasi

·       Length: 20cm

·       Male to female socket, male to male, and female to female

·       5 different colors:

o   Red

o   Yellow

o   Green

o   White

o   Black

·       Jumpers are made from 26 AWG wires

·       Material: Plastic


12. 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)


4. Dasar Teori [back]

PWM (Pulse Width Modulation)

PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. 

Duty Cycle adalah perbandingan antara waktu ON (lebar pulsa High) dengan perioda. Duty Cycle biasanya dinyatakan dalam bentuk persen (%). 



Gambar 1. Duty Cycle

·       Duty Cycle = tON / ttotal

·       tON = Waktu ON atau Waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1) 

·       tOFF = Waktu OFF atau Waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0) 

·       ttotal = Waktu satu siklus atau penjumlahan antara tON dengan tOFF atau disebut juga dengan “periode satu gelombang” 

Pada board Arduino Uno, pin yang memiliki simbol tilde (~) seperti pin 3, 5, 6, 9, 10, dan 11 dapat digunakan untuk PWM. Pin-pin ini juga dapat difungsikan sebagai input atau output analog. Untuk mengatur PWM pada pin tersebut, gunakan perintah analogWrite().


PWM pada Arduino bekerja dengan frekuensi 500Hz, yang berarti ada 500 siklus per detik. Setiap siklus dapat diberi nilai antara 0 hingga 255. Nilai 0 berarti pin tersebut akan tetap 0 volt sepanjang siklus, sedangkan nilai 255 membuat pin selalu 5 volt selama siklus. Misalnya, nilai 127 (sekitar 50% dari 255) akan membuat pin 5 volt untuk setengah siklus dan 0 volt untuk setengah siklus berikutnya. Jika nilai adalah 64 (sekitar 25% dari 255), maka pin akan 5 volt selama 1/4 siklus dan 0 volt selama 3/4 siklus, dan ini diulang 500 kali dalam 1 detik.


Gambar 2. Siklus Sinyal PWM pada Arduino

ADC (Analog Digital Converter)

ADC atau Analog to Digital Converter adalah komponen elektronik yang berfungsi sebagai penghubung antara sinyal analog dan sistem digital. Tugas utama ADC adalah mengubah sinyal analog yang masuk menjadi kode-kode digital yang dapat diproses lebih lanjut oleh sistem digital. Ada dua aspek penting dalam operasional ADC, yaitu kecepatan sampling dan resolusi.


Kecepatan sampling mengindikasikan seberapa sering ADC dapat mengambil dan mengonversi sinyal analog ke dalam bentuk digital dalam satu periode waktu tertentu, umumnya diukur dalam sample per second (SPS). Resolusi mengukur tingkat detail atau ketelitian konversi ADC dalam menghasilkan nilai digital. Pada Arduino, resolusi yang umumnya digunakan adalah 10 bit, yang berarti rentang nilai digital yang dihasilkan adalah dari 0 hingga 1023.


Arduino menggunakan tegangan referensi 5 volt untuk ADC-nya, sehingga ADC mampu menangani sinyal analog dengan rentang tegangan dari 0 hingga 5 volt. Pada board Arduino seperti Arduino Uno, pin analog input ditandai dengan kode A (misalnya A0 sampai A5). Untuk membaca data dari sinyal input analog pada Arduino, digunakan fungsi analogRead(pin);

 INTERUPT

Interupsi adalah proses dalam sistem mikrokontroler yang menghentikan prosea program utama akibat terjadinya pemicu tertentu dari suatu sumber interupsi dan memaksa sistem mikrokontroler untuk mengeksekusi blok program layanan interupsi. Bila terjadi interupsi, mikroprosesor akan menghentikan dahulu apa yang sedang dikerjakannya dan mengerjakan permintaan khusus tersebut.

 Microcontroller 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)   1. Power USB: Fungsi dari port USB pada modul Arduino mencakup tiga hal utama: sebagai sumber daya untuk menyediakan tegangan listrik ke Arduino, sebagai jalan untuk memasukkan program dari komputer ke Arduino, dan sebagai media untuk komunikasi serial antara Arduino dengan komputer atau sebaliknya.


2. Crystal Oscillator: Crystal oscillator berfungsi sebagai komponen utama yang menghasilkan dan mengirimkan sinyal detak ke mikrokontroler Arduino, memungkinkannya untuk beroperasi dengan tepat dan sinkron setiap siklusnya.


3. Voltage Regulator: Komponen ini bertugas untuk menstabilkan tegangan listrik yang masuk ke Arduino, sehingga Arduino dapat bekerja secara stabil meskipun tegangan masukan berfluktuasi.


4. Power Jack: Power jack pada modul Arduino berperan sebagai alternatif lain selain USB untuk menyediakan tegangan listrik ke Arduino, jika pengguna tidak ingin menggunakan kabel USB.


5. Pin Reset: Pin reset berfungsi untuk mengatur ulang Arduino, memulai program dari awal. Proses penggunaannya melibatkan menghubungkan pin reset ini langsung ke ground.


6. Pin Tegangan 3,3 Volt: Pin ini berfungsi sebagai sumber tegangan positif 3,3 volt untuk komponen yang membutuhkan tegangan operasional pada tingkat tersebut.


7. Pin Tegangan 5 Volt: Sebagai sumber tegangan positif 5 volt, pin ini umumnya disebut juga sebagai pin VCC, digunakan untuk memberikan daya kepada komponen yang memerlukan tegangan 5 volt.


8. Pin Ground (GND): Fungsi dari pin GND adalah sebagai koneksi negatif pada setiap komponen yang terhubung ke Arduino, memastikan bahwa tegangan dapat mengalir dengan baik dalam sirkuit.


9. Pin Penambah Tegangan (VIN): Pin ini berfungsi sebagai pintu masuk tambahan untuk suplai daya eksternal sebesar 5 volt ke Arduino, alternatif lain selain menggunakan USB atau power jack.


10. Pin Analog: Pin ini berfungsi untuk membaca tegangan atau sinyal analog dari berbagai jenis sensor dan mengonversinya menjadi nilai digital yang dapat diproses oleh mikrokontroler Arduino.


11. Main Microcontroller: Mikrokontroler utama di Arduino berperan sebagai pusat pengendalian yang mengatur operasi semua pin-pinnnya.


12. Tombol Reset: Komponen ini berfungsi sebagai mekanisme tambahan untuk mengulang program dari awal dengan menekan tombol secara fisik.


13. Pin ICSP (In-Circuit Serial Programming): Pin ini digunakan untuk memprogram mikrokontroler seperti Atmega328 secara langsung melalui jalur USB yang disediakan oleh mikrokontroler Atmega16U2.


14. Lampu Indikator Power: Lampu ini berfungsi sebagai penanda visual bahwa Arduino telah menerima suplai tegangan listrik yang cukup untuk beroperasi.


15. Lampu TX (Transmit): Lampu ini memberi indikasi bahwa Arduino sedang mengirim data dalam proses komunikasi serial.


16. Lampu RX (Receive): Lampu ini memberi indikasi bahwa Arduino sedang menerima data dalam proses komunikasi serial.


17. Pin Input/Output Digital: Pin ini berfungsi untuk membaca nilai logika 1 atau 0 dari perangkat eksternal atau mengendalikan komponen output seperti LED atau relay. Pin ini termasuk yang paling sering digunakan dalam pembuatan rangkaian.


18. Pin AREF (Analog Reference): Pin ini memungkinkan pengguna untuk mengatur tegangan referensi eksternal yang digunakan dalam pengukuran analog pada Arduino Uno, biasanya dalam rentang 0 hingga 5 volt.


19. Pin SDA (Serial Data): Pin ini berfungsi sebagai saluran untuk mengirim data serial antara Arduino dengan modul I2C atau perangkat serupa.


20. Pin SCL (Serial Clock): Pin ini mengirimkan sinyal clock yang digunakan untuk sinkronisasi komunikasi serial antara Arduino dengan modul I2C atau sejenisnya.

   

KOMUNIKASI ARDUINO

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


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 2) Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega 328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, 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.

Cara Kerja Komunikasi SPI :


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

 

3 3) Inter Integrated Circuit (I2C)

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 I2C :


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.


INFARARED SENSOR

Sensor IR adalah perangkat elektronik yang mendeteksi radiasi IR yang menimpanya. Sensor jarak(digunakan pada ponsel layar sentuh dan robot penghindar tepi), sensor kontras (digunakan pada robot yang mengikuti garis), dan penghitung/sensor penghalang (digunakan untuk menghitung barang dan alarm pencuri) adalah beberapa aplikasi yang melibatkan sensor IR.

Cara Kerja Infrared Sensor

Prinsip dasar dari sensor inframerah yang digunakan untuk mendeteksi benda adalah dengan cara mengirimkan sinyal inframerah menggunakan IR transmitter, kemudian sinyal tersebut dipantulkan oleh permukaan benda yang kemudian diterima oleh IR receiver.


Penggunaan warna hitam dan putih pada IR transmitter dan IR receiver adalah standar umum di mana warna hitam menyerap atau menangkap radiasi inframerah, sementara warna putih memantulkan sebagian besar radiasi inframerah yang jatuh di atasnya. Berdasarkan konsep ini, kedua LED IR (transmitter) dan fotodioda (receiver) ditempatkan berdekatan. Ketika IR transmitter memancarkan radiasi inframerah, radiasi tersebut harus dipantulkan kembali ke fotodioda setelah memantul dari objek yang dikenai. Permukaan objek dapat diklasifikasikan menjadi reflektif dan non-reflektif. Jika objek memiliki permukaan reflektif seperti warna putih atau cerah lainnya, sebagian besar radiasi inframerah akan dipantulkan kembali ke fotodioda. Berdasarkan intensitas radiasi inframerah yang dipantulkan, arus akan mengalir melalui fotodioda.


Namun, jika objek memiliki permukaan non-reflektif seperti warna hitam atau gelap, objek tersebut akan menyerap hampir seluruh radiasi inframerah yang dipancarkan oleh IR LED. Karena tidak ada radiasi yang dipantulkan, fotodioda tidak menerima radiasi yang cukup untuk menghasilkan arus. Dalam kondisi ini, fotodioda tetap memiliki hambatan yang tinggi, dan tidak ada arus yang mengalir melaluinya, mirip dengan kondisi di mana tidak ada objek yang terdeteksi.


Konfigurasi Pin

 


Pin konfigurasi dari penerima inframerah atau IR receiver tipe TSOP meliputi output (Out), Vs (VCC +5 volt DC), dan Ground (GND). Sensor ini, yang dikenal sebagai TSOP (TEMIC Semiconductors Optoelectronics Photomodules), memiliki fitur-fitur utama seperti fotodiode dan penguat yang terintegrasi dalam satu chip. Selain itu, sensor ini memiliki keluaran yang aktif rendah, konsumsi daya yang rendah, dan kompatibilitas dengan logika TTL dan CMOS.


TSOP, sebagai detector atau penerima inframerah, telah dipasangi filter frekuensi 30-56 kHz. Filter ini memungkinkan sensor untuk secara langsung mengubah sinyal frekuensi yang diterima menjadi logika 0 dan 1. Ketika TSOP menerima frekuensi pembawa (carrier), keluaran pinnya akan berada pada logika 0. Sebaliknya, jika TSOP tidak mendeteksi frekuensi pembawa tersebut, keluaran dari sensor inframerah TSOP akan berada pada logika 1.

Grafik Respon Infrared Sensor



         RAIN SENSOR

Sensor hujan adalah salah satu jenis perangkat switching yang digunakan untuk mendeteksi curah hujan. Cara kerjanya seperti saklar dan prinsip kerja sensor ini adalah, setiap kali terjadi hujan maka saklar akan tertutup normal. Modul sensor hujan mencangkup garis berlapis nikel dan bekerja berdasarkan prinsip resistensi. Modul sensor ini memungkinkan untuk mengukur kelembapan melalui pin keluaran analog & memberikan keluaran digital saat ambang batas kelembapan terlampaui.




   Cara Kerja Rain Sensor :

         Modul ini serupa dengan IC LM393 karena mengandung modul elektronik dan PCB. PCB digunakan di sini untuk mengumpulkan tetesan air hujan. Saat hujan jatuh di PCB, ini menciptakan jalur resistansi paralel yang diukur melalui penguat operasional. Sensor ini menggunakan teknologi resistif dan menunjukkan resistansi berdasarkan tingkat kelembapan, dengan resistansi lebih tinggi saat kering dan lebih rendah saat basah.

Sensor ini akan mengalami perubahan resistansi ketika terkena air di PCB-nya, dengan resistansi menurun seiring bertambahnya air dan sebaliknya. Modul ini juga dilengkapi dengan IC komparator yang berfungsi untuk menghasilkan sinyal logika 'on' dan 'off' berdasarkan kondisi sensor.

Konfigurasi Pin :


Konfigurasi pin sensor ini ditunjukkan di bawah ini. Sensor ini mencakup empat pin yang meliputi berikut ini

·       Pin1 (VCC): Ini adalah pin 5V DC

·       Pin2 (GND): ini adalah pin GND (ground).

·       Pin3 (DO): Ini adalah pin keluaran rendah/tinggi

·       Pin4 (AO): Ini adalah pin keluaran analog

Grafik Respon Sensor Hujan :





                     WATER PH SENSOR

Senso     Sensor pH merupakan salah satu alat yang penting untuk mengukur pH dan biasa digunakan dalam pemantauan kualitas air. Sensor jenis ini mampu mengukur alkalinitas dan keasaman dalam air dan larutan lainnya. Jika digunakan dengan benar, sensor pH dapat menjamin keamanan dan kualitas produk dan proses yang terjadi di air limbah atau pabrik.

Cara Kerja Water pH Sensor

Sensor pH air bekerja utamanya melalui sensor probe yang terbuat dari elektroda kaca, di mana elektroda kaca ini berisi larutan HCl di ujungnya. Sensor probe ini mengukur ion H3O+ dalam larutan untuk menentukan pH dari larutan atau cairan tersebut. Elektroda sensor yang sensitif terhadap perubahan impedansi menggunakan lapisan kaca, memungkinkan sensor untuk memberikan pembacaan yang stabil dan responsif baik pada suhu tinggi maupun rendah dari larutan.

Mikrokontroler dapat membaca nilai pH dari sensor ini melalui antarmuka PH 2.0 yang tersedia pada modul sensor pH air. Sensor pH ini cocok digunakan untuk monitoring pH cairan dalam jangka waktu yang panjang, karena mampu memberikan pembacaan yang akurat dan konsisten.

Konfigurasi Pin

Grafik Respon 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 adalah sensor yang telah dirancang siap pakai untuk fungsi sebagai pengirim, penerima, dan pengontrol gelombang ultrasonik. Sensor ini dapat digunakan untuk mengukur jarak antara objek dan sensor dalam rentang 2 cm hingga 4 m dengan akurasi hingga 3 mm. Sensor ultrasonik ini terdiri dari empat pin utama: Vcc untuk sumber daya positif, Gnd untuk ground, Trigger untuk memulai pengiriman sinyal ultrasonik, dan Echo untuk menangkap sinyal pantulan dari objek.


Penggunaan sensor ini dimulai dengan memberikan tegangan positif pada pin Trigger selama 10 mikrodetik, yang mengakibatkan sensor mengirimkan serangkaian sinyal ultrasonik dengan frekuensi 40 kHz sebanyak 8 kali. Sinyal ini kemudian dipantulkan oleh objek dan diterima kembali oleh sensor melalui pin Echo. Dengan mengukur selisih waktu antara saat pengiriman dan penerimaan sinyal ultrasonik, sensor ini dapat menghitung jarak ke objek yang memantulkan sinyal tersebut.

Konfigurasi Pin

Grafk HC SR-04 Ultrasonic Sensor


 

LDR SENSOR

Sensor Cahaya LDR (Light Dependent Resistor) adalah salah satu jenis resistor yang dapat mengalami perubahan resistansinya apabila mengalami perubahan penerimaan cahaya. Modul sensor cahaya bekerja manghasilkan output yang mendeteksi nilai intensitas cahaya. Perangkat ini sangat cocok digunakan untuk project yang berhubungan dengan cahaya seperti nyala mati lampu.

Cara Kerja

LDR (Light Dependent Resistor) digunakan dalam berbagai rangkaian elektronika untuk mengontrol aliran listrik dengan mengubah resistansi berdasarkan intensitas cahaya yang diterima. Ketika cahaya yang diterima oleh LDR semakin banyak, resistansinya akan menurun. Sebaliknya, jika cahaya yang diterima sedikit, resistansinya akan meningkat.

Konfigurasi Pin

·       VCC: Tegangan 3.3V-5V eksternal (dapat langsung dihubungkan ke 5V MCU dan 3.3V MCU)

·       GND: GND Eksternal

·       D0 TTL : antarmuka output papan digital kecil (0 dan 1)

·       VCC Light : lampu indikator sensor aktif

·       D0 Output light : lampu indikator ketika ouput signal LOW/HIGH

·       Potensio : menaikkan atau menurunkan sensifitas sensor

Grafik Respon Sensor

1

 MOTOR SERVO

Motor servo adalah jenis motor DC dengan sistem umpan balik tertutup yang terdiri dari sebuah motor DC, serangkaian gear, rangkaian kontrol, dan juga potensiometer. Jadi motor servo sebenarnya tak berdiri sendiri, melainkan didukung oleh komponen-komponen lain yang berada dalam satu paket.


Berikut ini beberapa kelebihan dan kekurangan motor servo.

1.  Kelebihan Motor Servo

a.  Daya yang dihasilkan sebanding dengan berat atau ukuran motor.

b.  Penggunaan arus listrik sebanding dengan beban.

c.  Tidak bergetar saat digunakan.

d.  Tidak mengeluarkan suara berisik saat dalam kecepatan tinggi.

e.  Resolusi dan akurasi dapat diubah dengan mudah.

2.  Kekurangan Motor Servo

a.  Harga relatif lebih mahal dibanding motor DC lainnya.

b.  Bentuknya cukup besar karena satu paket.

Prinsip Kerja Motor Servo

Prinsip kerja motor servo sebenarnya mirip dengan motor DC lainnya, tetapi motor servo memiliki kemampuan untuk berputar dalam dua arah, searah maupun berlawanan arah jarum jam. Untuk mengontrol sudut putaran motor servo, pulsa yang masuk ke motor tersebut diatur.


Motor servo bekerja secara optimal ketika pin kontrolnya menerima sinyal PWM dengan frekuensi 50 Hz. Pada frekuensi ini, posisi netral motor servo tercapai saat duty cycle Ton berada pada 1,5 ms. Posisi ini menempatkan rotor motor di tengah-tengah, yang setara dengan sudut nol derajat.


Ketika Ton duty cycle kurang dari 1,5 ms, rotor motor servo akan berputar berlawanan arah jarum jam. Sebaliknya, jika Ton duty cycle lebih dari 1,5 ms, rotor akan berputar searah jarum jam. Diagram atau skema pengendalian pulsa motor servo dapat dilihat sebagai referensi untuk pemrograman atau pengaturan motor servo.


MICRO WATER PUMP 12V 

Micro water pump 365B-7 adalah pompa air kecil yang beroperasi pada tegangan 12V. Ini adalah pompa air elektrik yang dirancang untuk aplikasi yang memerlukan sirkulasi atau pemompaan cairan. Berikut adalah beberapa informasi umum tentang micro water pump 365B-7.

Cara Penggunaan

·     Hubungkan Kabel: Hubungkan kabel pompa ke sumber daya 12V DC yang sesuai.

·    Letakkan dalam Cairan: Tempatkan pompa dalam cairan yang ingin dipompa, seperti dalam wadah air atau proyek sirkulasi air.

·     Kontrol Aliran (Opsional):

Jika diperlukan, gunakan katup atau pengatur aliran untuk mengontrol laju aliran air. 

LCD (LIQUID CRYSTAL DISPLAY)

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). Berikut merupakan tabel internal pin connection dari LED:

Konfigurasi Pin


LCD memiliki 16 pin (kaki) yaitu :

§  VSS, dihubungkan ke ground

§  VCC, dihubungkan pada tegangan sumber 5 volt, karena LCD bekerja pada tegangan 5 volt.

§  VEE, dihubungkan ke potensiometer atau trimpot untuk mengatur gelap terangnya layar LCD. Pin ini disambungkan ke ground jika menginginkan layar LCD terang maksimal.

§  Register Select(RS), dihubungkan ke mikrokontroler berfungsi mengontrol mode LCD. Jika RS diberikan logika 0 artinya LCD disetting untuk menerima perintah. Jika RS diberikan logika 1 artinya LCD disetting untuk menerima data.

§  Read/Write(RW), dihubungkan ke mikrokontroler berfungsi mengontrol mode LCD. Jika RW diberikan logika 1 mikrokontroler akan membaca data pada memori LCD. Jika RW diberikan logika 0, mikrokontroler akan menuliskan data pada LCD. Pin RW seringkali digroundkan untuk memberikan nilai 0, jika difungsikan sebagai display saja.

§  Enable, dihubungkan dengan mikrokontroler sebagai toggle pengiriman data dan perintah ke LCD

§  Pin D0 – D7, merupakan pin data, untuk mengirimkan data yang akan ditampilkan pada LCD. Tedapat dua mode penyambungan LCD berkaitan dengan pin ini. Mode 8 bit, menggunakan keseluruhan pin data. Mode 4 bit, menggunakan 4 pin data saja yaitu: D4, D5, D6 dan D7.

§  LED, untuk backlight. Jika diinginkan menyalakan backlight maka LED+ dihubungkan ke tegangan 5 Volt dan LED- dihubungkan ke ground.

Cara Kerja

Prinsip dasar kerja LCD melibatkan penyaluran cahaya melalui lapisan-lapisan dalam modul. Modul-modul ini dapat mengatur dan menyelaraskan diri mereka sendiri pada sudut 90 derajat, yang memungkinkan lembaran polarisasi untuk membiarkan cahaya melewatinya. Molekul-molekul dalam LCD bertugas untuk mengelola data pada setiap piksel. Tiap piksel menggunakan teknik penyerapan cahaya untuk menghasilkan gambar atau angka yang ditampilkan. Untuk menampilkan nilai atau gambar tersebut, posisi molekul dalam LCD harus disesuaikan dengan sudut cahaya.

Pengalihan cahaya ini penting untuk memastikan data yang ditampilkan dapat dilihat dengan jelas oleh mata manusia di mana pun cahaya diserap. Data ini disalurkan ke molekul dalam LCD dan akan tetap ada di sana sampai molekul tersebut diubah kembali.

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


Baterai dalam sistem PV mengalami berulang kali siklus pengisian dan pengosongan selama umur pakainya. Siklus hidup (cycle life) baterai adalah banyaknya pengisian dan pengosongan hingga kapasitas baterai turun (melemah) dan tersisa 80% dari kapasitas nominalnya. Pabrik baterai biasanya mencantumkan siklus hidup pada spesifikasi teknis baterai. Mencantumkan satu nilai siklus hidup (cycle life) sebenarnya terlalu menyederhanakan informasi, karena siklus hidup baterai juga tergantung pada suhu baterai.

Dari grafik di atas, terlihat pada suhu operasional baterai yang lebih rendah, siklus hidup baterai lebih lama. Siklus hidup baterai juga tergantung dari DoD, artinya baterai yang dikosongkan hanya 50% dari kapasitasnya, berumur lebih lama jika dikosongkan hingga 80%, namun membuat sistem menjadi lebih mahal, karena membutuhkan kapasitas baterai lebih besar untuk mengakomodasi kebutuhan yang sama.

 

IC PCF8574 

Merupakan modul expansion board untuk mengatur hingga 8 pin I/O. menggunakan komunikasi secara I2C, artinya dengan 2 pin (SDA/SCL) maka kita dapat mengatur hingga 8 pin yg dapat dijadikan input output. modul ini juga dapat di cascade, hingga 8 modul atau hingga 64 pin input output..

Konfigurasi Pin 



1.       Pin 16 IC ini berupa VCC yang dapat beroperasi pada tegangan 2.5V hingga 6V

2.       Pin 8 adalah GND

3.       Pin 4~7 dan 9~12 adalah pin I/O P0 hingga P7 8-Paralel (artinya Anda dapat menggunakan semua 8 pin sekaligus). Masing-masing pin I/O dua arah ini dapat digunakan sebagai input atau output tanpa menggunakan sinyal kontrol arah data. Saat dihidupkan, semua pin I/O ini berada pada kondisi HIGH.

4.       Pin 15 untuk input atau output data serial I2C (Hubungkan ke VCC melalui resistor pull-up) dan

5.       Pin 14 untuk input jam I2C (Hubungkan ke VCC melalui resistor pull-up)

6.       Pin 1, 2, dan 3 atau A0, A1 dan A2 memungkinkan kita menentukan alamat kemunculan PCF8574 pada bus I2C dengan mengubahnya menjadi TINGGI. Alamat defaultnya adalah 0x20. Secara default semua pin ini di-ground atau LOW. Resistor pull-up tidak diperlukan untuk pin ini.

7.       Pin 13 untuk Output Interupsi. Hubungkan ke VCC menggunakan resistor pull-up.

·         IC ini memiliki Konsumsi "Arus Siaga Rendah" yang sangat hanya 10μA.

·         SDA, SLC dan pin Interrupt semuanya harus ditarik menggunakan resistor pull-up

·         Ada varian kedua dari IC ini yang tersedia di pasaran yang disebut PCF8574A. Perbedaan utamanya adalah skema pengalamatannya. Empat bit pertama dari alamat 7-bit PCF8574 adalah 0100, dan untuk PCF8574A adalah 0111. Tiga bit terbawah adalah pengaturan pada pin perangkat A2, A1, dan A0.

·         PCF8574 dan PCF8574A memiliki arus tenggelam maksimum 25mA. Dalam aplikasi yang memerlukan drive tambahan, dua pin port dapat dihubungkan bersama untuk menyerap arus hingga 50mA.

ADAPTOR 12V 2 A DC

Adaptor adalah sebuah perangkat berupa rangkaian elektronika untuk mengubah tegangan listrik yang besar menjadi tegangan listrik lebih kecil, atau rangkaian untuk mengubah arus bolak-balik (arus AC) menjadi arus searah (arus DC). Adaptor / power supplay merupakan komponen inti dari peralatan elektronik. Adaptor digunakan untuk menurunkan tegangan AC 22 Volt menjadi kecil antara 3 volt sampai 12 volt sesuai kebutuhan alat elektronika. 

Komponen  

    
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.


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.

Berikut merupakan grafik pengukuran tegangan pada driver relay kondisi sensor aktif:

    
RESISTOR

Resistor merupakan salah satu komponen yang digunakan dalam sebuah sirkuit atau rangkaian elektronik. Resistor berfungsi sebagai resistansi/ hambatan yang mampu mengatur atau mengendalikan tegangan dan arus listrik rangkaian. Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan hukum Ohm : 


V = I.R

R = V/R




BATERAI 9V

Baterai kotak, atau sеring disеbut batеrai 9V adalah jеnis batеrai yang umum digunakan dalam bеrbagai pеrangkat еlеktronik, tеrmasuk rеmotе control, alarm, mainan, dan instrumеn musik. Batеrai ini mеnghasilkan tеgangan 9 volt, yang mеmbuatnya idеal untuk pеrangkat yang mеmbutuhkan daya yang cukup bеsar.  

Cara Kerja

Batеrai kotak 9V adalаh batеrai yang mеmiliki tеgangan konsisten sеpanjang waktunya, artinya tеgangan yang dihasilkan tidak bеrugah. Batеrai ini tеrdiri dari еnam sеl voltasе kеcil yang tеrbеrikut sеcara sеri. Tiap sеl mеnghasilkan tеgangan 1,5 volt, sеhingga total tеgangan yang dihasilkan oleh batеrai kotak 9V adalah 9 volt.

Prinsip kerja batеrai kotak 9V didasarkan pada rеaksi kimia antara logam dan еlеktrolit. Dalam batеrai alkalinе, logam yang digunakan adalah sеng, sеdangkan еlеktrolitnya tеrdiri dari campuran air dan amonium klorida. Sеdangkan dalam batеrai karbon-zinc, logam yang digunakan adalah karbon, dеngan еlеktrolit yang sama, yaitu campuran air dan amonium klorida.

Proses Pengisian: Proses pengubahan energi listrik menjadi energi kimia

Jika baterai dihubungkan dengan beban maka, elektronnya akan mengalir ke elektroda positif (PbO2) dengan melalui beban dari elektroda negatif (Pb), kemudian ion-ion negatifnya akan mengalir ke elektroda positif serta ion-ion positifnya akan mengalir ke elektroda negatif. Arus listrik juga dapat mengalir disebabkan adanya elektron yang kemudian bergerak ke serta atau dari elektroda sel dengan melalui reaksi ion antara molekul elektroda dengan molekul elektrolit sehingga memberikan jalan bagi elektron untuk mengalir.

Proses Pengosongan : Proses pengubahan energi kimia menjadi energi listrik

Proses ini merupakan proses kebalikan dari proses pengosongan dimana arus listrik dialirkan yang arahnya berlawanan dengan arus yang terjadi pada saat pengosongan. Pada proses ini, kemudian setiap molekul air akan terurai. Ion oksigen yang bebas bersatu dengan tiap atom Pb pada plat positif ini kemudian akan membentuk timah peroxida (PbO2).

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

Pada rangkaian Sistem Otomatisasi Budaya Gurame ini, untuk komunikasi arduino Master dan Slave menggunakan komunikasi UART menggunakan pin Rx dan Tx untuk transfer data, dimana pin Tx Master dihubungkan dengan Rx Slave dan Rx Master dihubungkan dengan Tx Slave. Kemudian pin sensor sebagai inputan dihubungkan dengan pin pada arduiono master dan output dihubungkan pada pin arduino slave seperti yang di deklarasikan pada program.

Pada Arduino Master masing-masing sensor sebagai inputan, outputnya dihubungkan pada pin yang ada pada arduino yaitu, untuk LDR Sensor dihubungkan pada pin A0 Master, pH Sensor dihubungkan pada pin A2 Master, IR Sensor dihubungkan pada pin P2 Master, Ultrasonic Sensor dihubungkan pada pin P11 trigger dan P12 Echo master, Rain sensor dihubungkan pada pin P10 master. 

Pada Arduino Slave masing-masing pin dihubungkan dengan outputan sistem otomatisasi kolam gurame dan indicator lain seperti LED, motor servo, LED, Pompa dan LCD dengan I2C. Masing-masing output pada pin digital arduino master yaitu, LED merah untuk output dari LDR Sensor. Motor servo untuk output dari sensor pH di pin P9 motor cairan asam dan pin P10 motor cairan basa master. Motor servo sebagai output dari sensor infarred terhubung sebagai motor pakan di pin 3 arduino. Lalu sensor rain juga mengalurkan output berupa motor servo yang terhubung pada pin 7 master.  Sedangkan ultrasonic akan mengelurkan output berupa pompa yang tersambung pada motor drain di pin 6 arduino master. Selanjutnya LCD dengan I2C dihubungkan dengan pin SCL dan SDA pada masing-masing pin arduino slave.

Setelah itu dilakukan perakitan dan penguploadan program pada mikrokontroller sesuai dengan kondisi yang sudah ditentukan sebelumnya untuk project Smar Garage System ini.


     b.) Hardware [back]

  • Arduino Uno
  • IR Sensor
  • Rain Sensor
  • pH Sensor
  • Ultrasonic Sensor
  • LDR Sensor
  • Motor Servo
  • Water Pump 12V
  • LED
  • LCD (Liquid Crystal Display)
  • Baterai
  • Relay

Prototype


Percobaan Sensor Ultrasonic

Kalibrasi Sensor pH

Asistensi 1 percobaan IR, LDR, dan Rain Sensor



     c.) Rangkaian Simulasi dan Prinsip Kerja  [back]
  • Rangkaian Simulasi :
  • Prinsip Kerja:

Sistem otomatisasi untuk budidaya gurame ini didesain untuk mengoptimalkan perawatan kolam dengan menggunakan berbagai sensor yang bekerja bersama-sama untuk memantau dan mengontrol kondisi lingkungan secara real-time. Sensor hujan berperan penting dalam mendeteksi kondisi cuaca untuk mengatur penutupan atap kolam. Ketika sensor ini mendeteksi hujan, motor servo akan menutup atap kolam secara otomatis untuk mencegah masuknya air hujan, yang membantu menjaga stabilitas kolam. Sebaliknya, saat cuaca cerah kembali dan tidak ada hujan, motor servo akan membuka atap kolam untuk memungkinkan sirkulasi udara dan sinar matahari yang diperlukan oleh ikan.

Sensor ultrasonik digunakan untuk mengukur ketinggian air dalam kolam secara terus-menerus. Jika tinggi air di bawah batas optimal (lebih dari 5 cm), pompa air akan diaktifkan untuk menambahkan air ke kolam hingga mencapai level yang diinginkan. Setelah ketinggian air kembali ke level yang ditetapkan (kurang dari 5 cm), pompa air akan dimatikan untuk menghindari pengisian berlebihan yang dapat mengganggu kondisi kolam.

Sensor cahaya (LDR) digunakan untuk mengatur pencahayaan kolam. Sensor ini mendeteksi intensitas cahaya di sekitar kolam. Ketika intensitas cahaya rendah (≤ 500), sensor akan mengaktifkan lampu LED untuk memberikan pencahayaan tambahan yang membantu aktivitas ikan, terutama di malam hari atau saat cuaca mendung. Sebaliknya, jika intensitas cahaya tinggi (> 500), LED akan dimatikan untuk menghemat energi.

Sensor infrared memiliki peran khusus dalam mendeteksi gerakan ikan di kolam. Ketika sensor mendeteksi gerakan ikan, motor servo akan diaktifkan untuk menaburkan pakan secara otomatis. Hal ini memastikan bahwa ikan mendapatkan pakan secara teratur dan sesuai kebutuhan, tanpa perlu campur tangan manusia secara langsung, yang meningkatkan efisiensi dalam pemeliharaan.

Sensor pH digunakan untuk memonitor dan mengontrol tingkat keasaman air dalam kolam. Tingkat pH yang optimal sangat penting untuk kesehatan ikan gurame. Sensor ini terus memantau pH air dan mengambil tindakan sesuai jika pH terlalu rendah (≤ 6.5) atau terlalu tinggi (≥ 7.5), dengan mengatur penambahan cairan basa atau asam menggunakan motor servo.

Keseluruhan sistem sensor dan aktuator ini bekerja secara terintegrasi dan otomatis untuk memastikan kondisi kolam budidaya gurame selalu optimal. Penggunaan teknologi otomatisasi ini tidak hanya meningkatkan efisiensi dalam pengelolaan kolam, tetapi juga memastikan kesejahteraan ikan dengan memonitor dan menyesuaikan kondisi lingkungan secara terus-menerus. Hal ini membuat budidaya gurame menjadi lebih mudah, terkontrol, dan produktif.


     d.) Flowchart dan Listing Program  [back]

Flowchart:

A. Master


B. Slave



Listing Program:

- MASTER
#include <Servo.h>

#define IR_SENSOR_PIN 2 // Ubah pin sensor infrared sesuai dengan yang Anda gunakan
#define LDR_SENSOR_PIN A0 // Pin untuk sensor LDR
#define LED_PIN 4 // Pin untuk output LED

#define PH_SENSOR_PIN A2
#define ULTRASONIC_TRIGGER_PIN 11
#define ULTRASONIC_ECHO_PIN 12

#define MOTOR_DRAIN_PIN 6
#define MOTOR_FAN_PIN 5
#define MOTOR_ACID_PIN 9
#define MOTOR_BASE_PIN 8
#define FEEDER_MOTOR_PIN 3

#define RAIN_SENSOR_PIN 10 // Pin untuk sensor hujan
#define RAIN_MOTOR_PIN 7   // Pin untuk motor yang dikendalikan oleh sensor hujan
#define ATAP_KOLAM_PIN 7   // Pin untuk motor servo Atap Kolam

Servo atapKolam; // Buat objek Servo untuk mengendalikan motor servo Atap Kolam
Servo feederMotor; // Buat objek Servo untuk mengendalikan motor servo Feeder

int lastRainValue = LOW; // Menyimpan nilai terakhir dari sensor hujan

void setup() {
  pinMode(IR_SENSOR_PIN, INPUT_PULLUP); // Menggunakan INPUT_PULLUP untuk mengaktifkan resistor pull-up internal
  pinMode(LDR_SENSOR_PIN, INPUT); // Set pin LDR sebagai input
  pinMode(LED_PIN, OUTPUT); // Set pin LED sebagai output
  pinMode(PH_SENSOR_PIN, INPUT);
  pinMode(ULTRASONIC_TRIGGER_PIN, OUTPUT);
  pinMode(ULTRASONIC_ECHO_PIN, INPUT);
 
  pinMode(MOTOR_DRAIN_PIN, OUTPUT);
  pinMode(MOTOR_FAN_PIN, OUTPUT);
  pinMode(MOTOR_ACID_PIN, OUTPUT);
  pinMode(MOTOR_BASE_PIN, OUTPUT);
 
  pinMode(RAIN_SENSOR_PIN, INPUT); // Set pin sensor hujan sebagai input
  pinMode(RAIN_MOTOR_PIN, OUTPUT); // Set pin motor hujan sebagai output

  atapKolam.attach(ATAP_KOLAM_PIN); // Menghubungkan motor servo ke pin Atap Kolam
  feederMotor.attach(FEEDER_MOTOR_PIN); // Menghubungkan motor servo ke pin Feeder

  Serial.begin(9600);
}

void loop() {
  // Baca nilai sensor
  int irValue = digitalRead(IR_SENSOR_PIN); // Baca nilai sensor infrared
  int ldrValue = analogRead(LDR_SENSOR_PIN); // Baca nilai sensor LDR
  float phValue = analogRead(PH_SENSOR_PIN) * 0.0136852394916911;
  int ultrasonicDistance = getUltrasonicDistance();
  int rainValue = digitalRead(RAIN_SENSOR_PIN); // Baca nilai sensor hujan

  // Kirim nilai sensor ke slave
  sendSensorDataToSlave(irValue, ldrValue, phValue, ultrasonicDistance, rainValue);

  // Kontrol motor berdasarkan nilai pH
  if (phValue <= 6.5) {
    digitalWrite(MOTOR_BASE_PIN, HIGH); // Aktifkan motor cairan basa
    digitalWrite(MOTOR_ACID_PIN, LOW);  // Matikan motor cairan asam
  }
  else if (phValue >= 7.5) {
    digitalWrite(MOTOR_BASE_PIN, LOW);  // Matikan motor cairan basa
    digitalWrite(MOTOR_ACID_PIN, HIGH); // Aktifkan motor cairan asam
  }
  else {
    digitalWrite(MOTOR_ACID_PIN, LOW);  // Matikan motor cairan asam
    digitalWrite(MOTOR_BASE_PIN, LOW);  // Matikan motor cairan basa
  }

  // Kontrol motor drain berdasarkan jarak ultrasonik
  if (ultrasonicDistance >= 5) { // Ubah kondisi menjadi >= 5 cm
    digitalWrite(MOTOR_DRAIN_PIN, HIGH); // Aktifkan motor drain jika jarak lebih besar atau sama dengan 183
  } else {
    digitalWrite(MOTOR_DRAIN_PIN, LOW); // Matikan motor drain jika jarak lebih kecil dari 183
  }

  // Kontrol motor feeder berdasarkan sensor infrared
  if (irValue == HIGH) {
    feederMotor.write(90); // Putar servo feeder ke 90 derajat
  } else {
    feederMotor.write(0); // Kembalikan servo feeder ke posisi awal (0 derajat)
  }

  // Kendalikan motor hujan berdasarkan sensor hujan
  if (rainValue == HIGH) { // Jika terdeteksi hujan
    digitalWrite(RAIN_MOTOR_PIN, HIGH);
    if (lastRainValue != HIGH) { // Jika nilai sensor hujan berubah menjadi HIGH
      atapKolam.write(90); // Putar servo untuk menutup atap kolam
    }
  } else {
    digitalWrite(RAIN_MOTOR_PIN, LOW);
    if (lastRainValue != LOW) { // Jika nilai sensor hujan berubah menjadi LOW
      atapKolam.write(0); // Putar servo untuk membuka atap kolam
    }
  }

  // Simpan nilai terakhir dari sensor hujan
  lastRainValue = rainValue;

  // Kendalikan LED berdasarkan nilai LDR
  if (ldrValue > 500) {
    digitalWrite(LED_PIN, HIGH); // Matikan LED jika nilai LDR di atas 500
  } else {
    digitalWrite(LED_PIN, LOW); // Nyalakan LED jika nilai LDR di bawah atau sama dengan 500
  }

  delay(250); // Delay untuk menghindari pembacaan yang berlebihan
}

int getUltrasonicDistance() {
  digitalWrite(ULTRASONIC_TRIGGER_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(ULTRASONIC_TRIGGER_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(ULTRASONIC_TRIGGER_PIN, LOW);
  return pulseIn(ULTRASONIC_ECHO_PIN, HIGH) / 58;
}

void sendSensorDataToSlave(int ir, int ldr, float ph, int distance, int rain) {
  // Komunikasi UART dengan Arduino Slave
  Serial.write((uint8_t*)&ir, sizeof(ir));
  Serial.write((uint8_t*)&ldr, sizeof(ldr));
  Serial.write((uint8_t*)&ph, sizeof(ph));
  Serial.write((uint8_t*)&distance, sizeof(distance));
  Serial.write((uint8_t*)&rain, sizeof(rain));
}



- SLAVE
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD: 0x27, dengan ukuran 16x2
int ledPin = 13; // Pin untuk output LED, sesuaikan dengan kebutuhan

void setup() {
  lcd.init();
  lcd.backlight(); // Nyalakan backlight LCD
  pinMode(ledPin, OUTPUT); // Set pin LED sebagai output
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() >= sizeof(int) * 3 + sizeof(float) + sizeof(int)) { // Pastikan sudah menerima semua data
    int ir, ldr, rain;
    float ph;
    int distance;

    Serial.readBytes((byte*)&ir, sizeof(int));
    Serial.readBytes((byte*)&ldr, sizeof(int));
    Serial.readBytes((byte*)&ph, sizeof(float));
    Serial.readBytes((byte*)&distance, sizeof(int));
    Serial.readBytes((byte*)&rain, sizeof(int));

    // Tampilkan nilai sensor pada LCD
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("IR: ");
    lcd.print(ir ? "Detected" : "Not Detected");
    lcd.setCursor(0, 1);
    lcd.print("pH: ");
    lcd.print(ph);
    delay(500);

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("LDR: ");
    lcd.print(ldr);
    lcd.setCursor(0, 1);
    lcd.print("Distance: ");
    lcd.print(distance);
    lcd.print(" cm");
    delay(1000);

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Rain: ");
    lcd.print(rain ? "Yes" : "No");
    delay(1000);

    // Kendalikan LED berdasarkan nilai
    if (ldr > 500) {
      digitalWrite(ledPin, LOW); // Nyalakan LED jika nilai LDR di atas 500
    } else {
      digitalWrite(ledPin, HIGH); // Matikan LED jika nilai LDR di bawah atau sama dengan 500
    }
  }
}

     e.) Vidio demo  [back]
 


   
     f.) Download File  [back]
1. Download File Rangkaian Di sini
2. Download Video Percobaan Di Sini
3. Download Kode Program :
    - Program Master Di sini Di sini
    - Program Slave Di siniDi sini
4. Download Flowchart Di Sini Di Sini 
5. Download Datasheet LDR Sensor Di Sini
6. Download Datasheet IR Sensor Di Sini Di Sini
7. Download Datasheet pH Sensor Di SiniDi Sini
8. Download Datasheet Ultrasonic Sensor Di Sini
9. Download Datasheet Rain Sensor Di SiniDi Sini
10. Download Datasheet Arduino UNO Di Sini
11. Download Datasheet LCD LM016L Di Sini
12. Download Library LDR Sensor Di Sini
13. Download Library IR Sensor Di Sini
14. Download Library pH Sensor Di Sini
15. Download Library Ultrasonic Sensor Di SiniDi Sini
16. Download Library Rain Sensor Di SiniDi 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 Servo Di Sini
19. Download Softcopy Laporan Di Sini Di Sini 
20. Download File HTML Di Sini

UTS 3

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan 5. Video 6. Download File...