LAPORAN M4 uP & uC
- Dapatkan link
- X
- Aplikasi Lainnya
MODUL 4
Sistem Cerdas Monitoring Kandang Ayam Otomatis
Peternakan ayam merupakan salah satu sektor penting dalam industri agrikultur yang berperan besar dalam memenuhi kebutuhan protein masyarakat Indonesia. Untuk menjaga produktivitas dan kesehatan ayam, lingkungan kandang harus tetap berada dalam kondisi optimal. Faktor-faktor seperti suhu, kelembapan, pencahayaan, kualitas udara, dan ketersediaan pakan memiliki pengaruh signifikan terhadap pertumbuhan dan kesejahteraan ayam. Sayangnya, pemantauan kondisi kandang secara manual masih banyak dilakukan oleh peternak, yang tidak hanya memakan waktu dan tenaga, tetapi juga rawan terhadap keterlambatan respons terhadap perubahan lingkungan yang berpotensi merugikan.
Permasalahan tersebut mendorong perlunya sistem pemantauan otomatis yang dapat bekerja secara real-time, akurat, dan responsif terhadap perubahan kondisi di dalam kandang. Teknologi mikrokontroler menjadi solusi ideal karena mampu menjalankan fungsi monitoring dan kontrol secara terus-menerus dengan intervensi minimal dari manusia. Oleh karena itu, dirancanglah sebuah sistem cerdas berbasis Raspberry Pi Pico yang mampu memantau kondisi kandang ayam secara otomatis untuk meningkatkan efisiensi dan efektivitas manajemen peternakan.
Sistem ini terdiri dari dua Raspberry Pi Pico yang berfungsi secara terintegrasi. Raspberry Pi Pico pertama bertugas membaca data dari sensor LDR untuk pencahayaan, sensor MQ-2 untuk kualitas udara (gas berbahaya), serta menampilkan informasi pada LCD I2C. Data yang diperoleh kemudian dikirim melalui komunikasi UART ke Raspberry Pi Pico kedua. Raspberry Pi Pico kedua menerima data dari sensor DHT22 (untuk suhu dan kelembapan) serta load cell (untuk mendeteksi berat pakan), sekaligus mengontrol berbagai aktuator berupa kipas, pemanas, atau dispenser pakan berdasarkan parameter yang diterima.
Dengan hadirnya sistem ini, manajemen kandang ayam menjadi lebih efisien dan terotomatisasi. Lingkungan kandang dapat dijaga tetap ideal tanpa perlu pengawasan manual yang terus-menerus. Inovasi ini merupakan wujud nyata penerapan konsep Internet of Things (IoT) dan otomatisasi dalam sektor peternakan, yang tidak hanya mendukung peningkatan produktivitas dan kesejahteraan hewan, tetapi juga mempersiapkan industri peternakan untuk bersaing di era revolusi industri 4.0.
Tujuan dari rancangan yang dilakukan yaitu:
a. Memenuhi syarat untuk modul 4 Praktikum Mikroprosesor & Mikrokontroler.
b. Membuat sistem monitoring kandang ayam berbasis Raspberry Pi Pico secara otomatis.
c. Mengurangi pengerjaan secara manual terhadap pemantauan kondisi ternak ayam.
2. Bread board
3. Solder
4. Sensor DHT22
5. Sensor MQ2
6. Sensor Loadcell
7. Sensor LDR
8. LCD 16x2 I2C
9. Motor DC
10. Baterai 1500 mAh
11. Kotak Baterai 18650 x 3
12. Jumper
13. LED
14. Resistor
15. Servo motor
b. Bahan
1. Double Tip
2. Kardus
1. ADC (Analog to
Digital Converter)
ADC atau Analog to Digital Converter merupakan
salah satu perangkat elektronika yang digunakan sebagai penghubung dalam
pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini
adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi
sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu
diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi.
Kecepatan sampling menyatakan seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt. Pada Arduino, menggunakan pin analog input yang diawali dengan kode A (A0- A5 pada Arduino Uno). Fungsi untuk mengambil data sinyal input analog menggunakan analogRead(pin);.
2. Mikrokontroler
Raspberry Pi Pico adalah papan rangkaian elektronik yang di dalamnya terdapat komponen utama chip mikrokontroler RP2040, yang dirancang dan diproduksi oleh Raspberry Pi Foundatio. Tidak seperti komputer mini raspberry Pi lainnya yang menjalankan sistem operasi seperti Linux, Pico dirancang untuk tugas-tugas yang lebih sederhana dan langsung (embedded system), seperti membaca sensor, mengontrol perangkat, atau melakukan pengolahan data pada tingkat hardware. Adapun spesifikasi dari Raspberry Pi Pico adalah sebagai berikut:
Gambar 1. Arduino Uno
Microcontroller |
RP2040 |
Operating Voltage |
3.3 V |
Input Voltage (recommended) |
5 V via USB |
Input Voltage (limit) |
1.8–5.5 V |
Digital I/O Pins |
26 GPIO pins |
PWM Digital I/O Pins |
16 |
Analog Input Pins |
3 |
DC Current per I/O Pin |
16 mA |
DC Current for 3.3V Pin |
300mA |
Flash Memory |
2 MB on-board QSPI Flash |
SRAM |
264 KB |
Clock Speed |
Hingga 133 MHz |
3. Komunikasi
3.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,
kemudian ditransfer secara parallel ke data bus penerima.
3.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 mikrokontroler
maupun antara mikrokontroler 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.
4. Sensor
4.1. Sensor LDR
Sensor LDR (Light Dependent Resistor) adalah sensor yang mengubah intensitas cahaya menjadi resistansi listrik. Artinya, resistansi sensor akan berubah-ubah tergantung pada seberapa banyak cahaya yang diterimanya. Saat cahaya redup, resistansi LDR tinggi, sedangkan saat cahaya terang, resistansi LDR rendah. Sensor LDR disini digunakan untuk mendeteksi cahaya yang terdapat pada kandang ayam, LDR juga dihubungkan dengan LCD agar status suhu kandang dapat ditampilkan. Jika cahaya yang terdeteksi kurang dari 100 lux maka LED kuning hidup dan LCD menampilkan "cahaya matahari kurang", kemudian jika mendeteksi cahaya matahari lebih dari 100 lux maka LED kuning mati dan LCD menampilkan "cahaya cukup".
Spesifikasinya
meliputi
- Tegangan Operasi: 3.3 - 5V DC
- Waktu Respons: 20ms (rise) dan 30ms (down)
- Metode output:
Output analog: 0-4.5V
- Suhu Operasional: 30 ~ 70
- Berat: 5g
Kurva
karakteristik: Cahaya dan resistansi
4.2. Sensor MQ2
Sensor MQ2 adalah sensor gas yang dirancang untuk mendeteksi keberadaan gas yang mudah terbakar dan asap di udara. Sensor ini sering digunakan dalam berbagai aplikasi seperti deteksi kebocoran gas, sistem peringatan kebakaran, dan pemantauan kualitas udara. MQ2 termasuk dalam keluarga sensor MQ yang menggunakan prinsip chemiresistor, dimana resistansi sensor berubah ketika terpapar gas tertentu.Cara Kerja Sensor MQ2 Sensor MQ2 bekerja dengan mendeteksi perubahan resistansi pada elemen sensornya ketika terpapar gas, terutama gas yang mudah terbakar dan asap. Ketika gas terdeteksi, terjadi reaksi kimia pada permukaan sensor yang menyebabkan perubahan resistansi. Perubahan resistansi ini kemudian diubah menjadi sinyal analog yang dapat dibaca oleh mikrokontroler untuk memberikan informasi tentang keberadaan dan konsentrasi gas.
Sensor gas dan asap ini mendeteksi konsentrasi gas yang mudah terbakar di udara serta asap dan output membaca sebagai tegangan analog. Sensor dapat mengukur konsentrasi gas mudah terbakar dari 300 sampai 10.000 sensor ppm. Dapat beroperasi pada suhu dari -20 sampai 50 ° C dan mengkonsumsi kurang dari 150 mA pada 5V. Dibawah ini merupakan gambar bentuk, internal sensor MQ-2.
Sensor MQ-2 terdapat 2 masukan tegangan yakni VH dan VC. VH digunakan untuk tegangan pada pemanas (Heater) internal dan Vc merupakan tegangan sumber serta memiliki keluaran yang menghasilkan tegangan berupa tegangan analog. Berikut konfigurasi dari sensor MQ-S :
1. Pin 1 merupakan heater internal yang terhubung dengan ground.
2. Pin 2 merupakan tegangan sumber (VC) dimana Vc < 24 VDC.
3. Pin 3 (VH) digunakan untuk tegangan pada pemanas (heater internal) dimana VH = 5VDC.
4. Pin 4 merupakan output yang akan menghasilkan tegangan analog.
Sensor MQ2 bekerja dengan mendeteksi perubahan resistansi pada elemen sensornya ketika terpapar gas, terutama gas yang mudah terbakar dan asap. Ketika gas terdeteksi, terjadi reaksi kimia pada permukaan sensor yang menyebabkan perubahan resistansi. Perubahan resistansi ini kemudian diubah menjadi sinyal analog yang dapat dibaca oleh mikrokontroler untuk memberikan informasi tentang keberadaan dan konsentrasi gas.
Sensor gas dan asap ini mendeteksi konsentrasi gas yang mudah terbakar di udara serta asap dan output membaca sebagai tegangan analog. Sensor dapat mengukur konsentrasi gas mudah terbakar dari 300 sampai 10.000 sensor ppm. Dapat beroperasi pada suhu dari -20 sampai 50 ° C dan mengkonsumsi kurang dari 150 mA pada 5V. Dibawah ini merupakan gambar bentuk, internal sensor MQ-2.
Sensor MQ-2 terdapat 2 masukan tegangan yakni VH dan VC. VH digunakan untuk tegangan pada pemanas (Heater) internal dan Vc merupakan tegangan sumber serta memiliki keluaran yang menghasilkan tegangan berupa tegangan analog. Berikut konfigurasi dari sensor MQ-S :
1. Pin 1 merupakan heater internal yang terhubung dengan ground.
2. Pin 2 merupakan tegangan sumber (VC) dimana Vc < 24 VDC.
3. Pin 3 (VH) digunakan untuk tegangan pada pemanas (heater internal) dimana VH = 5VDC.
4. Pin 4 merupakan output yang akan menghasilkan tegangan analog.
4.3. Sensor DHT22
Sensor DHT22 merupakan sensor yang digunakan untuk mengukur suhu dan kelembaban udara. Sensor DHT22 memiliki tingkat stabilitas dan keandalan tinggi dalam jangka panjang. Sensor DHT22 menggunakan sensor kelembaban bersifat resistif dan sensor suhu berbasis NTC yang terhubung pada mikrokontroler 8 bit. Sehingga sensor DHT22 memiliki kualitas yang sangat baik, kemampuan antri-gangguan, respon yang cepat serta biaya yang terjangkau.
Interface serial kawat tunggal membuat integrasi sistem cepat dan mudah. Ukurannya yang kecil, konsumsi daya yang rendah dan up-to-20 meteran transmisi sinyal menjadikannya pilihan terbaik untuk berbagai aplikasi. Komponen ini memiliki 4-pin baris tunggal pin paket sehingga akan lebih mudah untuk dihubungkan. Sensor DHT22 memberi nilai kelembaban dan suhu yang sangat tepat dan memastikan keandalan tinggi dan stabilitas jangka panjang. Sensor ini memiliki komponen pengukuran kelembaban tipe resistif dan komponen pengukuran suhu tipe NTC dengan inbuilt mikrokontroler 8-bit yang memiliki respons cepat dan hemat biaya
5.
LCD
LCD (Liquid-Crystal Display) atau Penampil
Kristal Cair adalah layar panel datar atau perangkat optik elektronik
termodulasi yang menggunakan sifat modulasi cahaya dari kristal cair (liquid
crystal) yang dikombinasikan dengan polarizer. Kristal cair tidak memancarkan
cahaya secara langsung, melainkan menggunakan lampu latar atau reflektor untuk
menghasilkan gambar berwarna atau monokrom.
Spesifikasi
:
•
Format tampilan : 16 x 2
karakter
•
Pengontrol bawaan : ST
7066 (atau setara)
•
Siklus kerja : 1/16
•
5 x 8 titik termasuk
kursor
•
Supply + 5 V (juga
tersedia untuk + 3 V)
•
LED dapat digerakkan oleh
pin 1, pin 2, pin 15, pin 16 atau A dan K
• N.V. opsional untuk supply + 3 V
6. Breadboard
Breadboard Arduino adalah sejenis papan roti yang biasanya digunakan untuk membuat prototype rangkaian elektronik. Beberapa orang kadang menyebutnya project board atau bahkan protoboard (prototype board). Pada dasarnya breadboard adalah board yang digunakan untuk membuat rangkaian elektronik tanpa harus merepotkan pengguna untuk menyolder. Biasanya papan breadboard ini digunakan untuk membuat rangkaian elektronik sementara untuk tujuan uji coba atau prototype.Fungsi Breadboard :
Kegunaan breadboard yaitu sebagai media penghantar (konduktor listrik) sekaligus tempat kabel jumper dilekatkan. Sehingga
arus dari satu komponen bisa terdistribusi dengan baik sesuai keinginan
ke komponen lain tanpa harus merepotkan pengguna untuk melakukan
penyolderan atau melakukan bongkar pasang.
Salah satu kelebihan tersendiri dari penggunaan breadboard adalah komponen-komponen yang telah dirakit tak akan rusak dan mudah untuk dibongkar pasang. Ini karena papan breadboard merupakan papan tanpa solder (solderless).

Cara Kerja Breadboard :
Breadboard bisa dideskripsikan sebagai papan yang memiliki lubang koneksi berdasarkan pola tertentu. Untuk
menghubungkan antara satu lubang dengan lubang yang lain, maka di
bagian bawah lubang tersebut terdapat logam konduktor listrik yang
diposisikan secara khusus. Ini berguna untuk memudahkan pengguna dalam membuat rangkaian. Logam konduktor yang ada di dalam breadboard umumnya seperti ini:

Kira-kira posisi logam jalur breadboard bisa digambarkan sebagai berikut:

Berdasarkan gambar di atas, fungsi dari masing-masing jalur koneksi pada breadboard dengan keterangan warnanya yaitu sebagai berikut:
- Jalur warna merah, digunakan untuk menempatkan pin 5V atau kutub positif dari arduino untuk dihubungkan ke kutub positif komponen lain.
- Jalur warna biru, digunakan untuk menempatkan pin GND atau kutub negatif dari arduino untuk dihubungkan ke kutub negatif komponen lain.
- Jalur warna hijau, digunakan untuk menempatkan pin digital dari Arduino untuk dihubungkan ke komponen lain.
Selain itu, di bagian tengah papan breadboard terdapat
ruang kosong yang masing-masing pinggirannya terdapat ujung jalur
vertikal. Fungsi dari ruang kosong ini adalah untuk menancapkan
langsung ic component.
Jenis-jenis Breadboard
Beberapa ukuran breadboard yang tersedia di pasaran antara lain:
- Mini Breadboard, yaitu jenis yang paling kecil diantara semua breadboard dan memiliki sekitar 170 titik koneksi.

- Medium Breadboard, yaitu jenis breadboard ukuran sedang yang kadang juga disebut half breadboard karena
memiliki ukuran dan jumlah titik koneksinya setengah dari jumlah titik
koneksi breadboard ukuran besar. Yaitu 400 titik koneksi.

- Large Breadboard, yaitu jenis yang ukurannya paling besar diantara semua jenis breadboard dan memiliki sekitar 830 titik koneksi.

Fungsi Breadboard :
Kegunaan breadboard yaitu sebagai media penghantar (konduktor listrik) sekaligus tempat kabel jumper dilekatkan. Sehingga arus dari satu komponen bisa terdistribusi dengan baik sesuai keinginan ke komponen lain tanpa harus merepotkan pengguna untuk melakukan penyolderan atau melakukan bongkar pasang.Salah satu kelebihan tersendiri dari penggunaan breadboard adalah komponen-komponen yang telah dirakit tak akan rusak dan mudah untuk dibongkar pasang. Ini karena papan breadboard merupakan papan tanpa solder (solderless).

Cara Kerja Breadboard :
Breadboard bisa dideskripsikan sebagai papan yang memiliki lubang koneksi berdasarkan pola tertentu. Untuk menghubungkan antara satu lubang dengan lubang yang lain, maka di bagian bawah lubang tersebut terdapat logam konduktor listrik yang diposisikan secara khusus. Ini berguna untuk memudahkan pengguna dalam membuat rangkaian. Logam konduktor yang ada di dalam breadboard umumnya seperti ini:
Kira-kira posisi logam jalur breadboard bisa digambarkan sebagai berikut:

Berdasarkan gambar di atas, fungsi dari masing-masing jalur koneksi pada breadboard dengan keterangan warnanya yaitu sebagai berikut:
- Jalur warna merah, digunakan untuk menempatkan pin 5V atau kutub positif dari arduino untuk dihubungkan ke kutub positif komponen lain.
- Jalur warna biru, digunakan untuk menempatkan pin GND atau kutub negatif dari arduino untuk dihubungkan ke kutub negatif komponen lain.
- Jalur warna hijau, digunakan untuk menempatkan pin digital dari Arduino untuk dihubungkan ke komponen lain.
Jenis-jenis Breadboard
Beberapa ukuran breadboard yang tersedia di pasaran antara lain:- Mini Breadboard, yaitu jenis yang paling kecil diantara semua breadboard dan memiliki sekitar 170 titik koneksi.

- Medium Breadboard, yaitu jenis breadboard ukuran sedang yang kadang juga disebut half breadboard karena memiliki ukuran dan jumlah titik koneksinya setengah dari jumlah titik koneksi breadboard ukuran besar. Yaitu 400 titik koneksi.

- Large Breadboard, yaitu jenis yang ukurannya paling besar diantara semua jenis breadboard dan memiliki sekitar 830 titik koneksi.

8.
Baterai
Baterai merupakan alat listrik-kimiawi yang
menyimpan energi serta mengeluarkan tenaganya dalam bentuk listrik. Baterai
ialah perangkat yang mampu menghasilkan tegangan DC, yaitu dengan cara mengubah
energi kimia yang terkandung di dalamnya menjadi energi listrik melalui suatu
reaksi elektrokimia, Redoks (Reduksi – Oksidasi). Baterai yang biasa dijual
(disposable/sekali pakai) ini mempunyai tegangan listrik 1,5 volt. Baterai ada
yang berbentuk tabung ataupun kotak.
9.
Motor DC 3V
Motor DC 3V adalah motor listrik yang beroperasi pada tegangan 3 volt dan menggunakan arus searah (DC) untuk menghasilkan gerakan mekanis. Motor ini mengubah energi listrik menjadi energi kinetik, yang memungkinkan perputaran poros. Motor DC 3V sering digunakan dalam berbagai aplikasi, termasuk proyek-proyek sains, mainan, dan perangkat elektronik kecil.
Spesifikasi:
Tegangan Kerja | 1.5V – 6V |
Tegangan Nominal | 3V |
Arus Tanpa Beban | ~70 – 250 mA |
Arus Saat Beban | ~300 – 1.000 mA |
Kecepatan Tanpa Beban | ~6.000 – 12.000 RPM @3V |
Torsi Output | ~10 – 30 g·cm @3V |
Daya Output | ~0.3 – 1.5 Watt |
Arah Putaran | CW / CCW (tergantung polaritas) |
Dimensi Motor | Sekitar 25 x 20 x 15 mm |
Berat | ±15 gram |
Diameter Shaft (poros) | 2 mm |
Panjang Shaft | ±8 – 10 mm |
Tipe Konstruksi | Brushed DC Motor |
10. Servo motor
Motor servo bekerja berdasarkan sistem kontrol loop tertutup, yang berarti mereka menggunakan umpan balik posisi untuk memastikan gerakan sesuai dengan perintah yang diberikan. Motor servo menerima sinyal kontrol (biasanya berupa sinyal PWM) yang menentukan posisi target, kemudian motor akan bergerak dan mempertahankan posisinya sesuai dengan sinyal tersebut.
Spesifikasi:
Tipe: | Micro Servo Motor (SG90) |
Tegangan Operasional: | 4.8V – 6V (umumnya bisa dari 3V berjalan tapi lemah) |
Tegangan Minimum: | 3V (tidak direkomendasikan untuk beban berat) |
Torsi Maksimal: | ~1.8 kg·cm @ 4.8V |
Sudut Putaran: | 0° – 180° (kontrol PWM) |
Waktu Respons: | ~0.1 s/60° @ 4.8V |
Arus Tanpa Beban | : ~100 – 250 mA |
Arus Saat Beban: | ~300 – 500 mA |
Tipe: Kendali | Sinyal PWM 50Hz (1 – 2 ms pulse) |
Berat: | ±9 gram |
Ukuran: | ±22.8 x 12.2 x 28.5 mm |
Gearbox: | Plastik (untuk SG90), Metal (versi MG90S) |
Kabel: | 3 kabel: VCC (Merah), GND (Coklat), Sinyal (Oranye) |
- Download library yang diperlukan pada bagian download dalam blog.
- Buka proteus yang sudah diinstal untuk membuat rangkaian.
- Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.
- Buka Arduino IDE yang sudah diinstal.
- Di Arduino IDE, pergi ke menu "File" > "Preferences".Pastikan opsi
- "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.
- Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.
- Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.
- Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.
- Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.
- Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.
- Jalankan simulasi di Proteus.
Rangkaian ini terdiri dari beberapa
sensor yang masing-masing memiliki fungsi spesifik untuk mengontrol dan
memonitor kondisi lingkungan dan tanaman mangga. Sensor DHT11, yang terhubung
ke pin digital 4 pada Arduino Master, mengukur suhu dan kelembaban udara dengan
membaca data setiap 2 detik, yang kemudian ditampilkan pada LCD I2C dan
dikirimkan ke Arduino Slave. Sensor kelembaban tanah yang terhubung ke pin
analog A3 pada Arduino Master mengukur kadar air dalam tanah dengan mendeteksi
perubahan resistansi. Sensor hujan, terhubung ke pin digital 3, mendeteksi
keberadaan air hujan berdasarkan perubahan resistansi ketika air mengenai
sensor. Sensor LDR, terhubung ke pin analog A0, mengukur intensitas cahaya
dengan mengubah resistansi sesuai jumlah cahaya yang diterima. Sensor Infrared,
terhubung ke pin digital 8, mendeteksi keberadaan hama atau predator dan
mengirimkan sinyal ke Arduino Master. Arduino Master menampilkan nilai suhu
dalam derajat Celsius dan kelembaban dalam persen pada LCD, serta mengirimkan data
dari semua sensor ke Arduino Slave melalui komunikasi serial. Arduino Slave,
yang menerima data ini, mengontrol buzzer pada pin 5, Motor DC 1 pada pin 4,
Motor DC 2 pada pin 3, dan LED pada pin 2. Buzzer dan Motor DC 1 diaktifkan
ketika sensor Infrared mendeteksi hama atau predator. Motor DC 2
diaktifkan untuk menyiram tanaman jika nilai kelembaban tanah kurang dari 1000
dan sensor hujan tidak mendeteksi hujan. LED menyala ketika intensitas cahaya
tinggi (nilai dari sensor LDR lebih dari 600). Secara keseluruhan, sistem ini
berfungsi untuk memonitor dan mengontrol kondisi lingkungan secara otomatis,
memastikan tanaman mangga mendapatkan perawatan optimal.
- Flowchart
- Listing Program
A. Sender
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <DHT.h>
#define DHTPIN 4
// Pin untuk sensor DHT11 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE);
// Ganti 0x27 dengan alamat I2C yang ditemukan dari
I2C scanner LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned long previousMillis = 0; const long interval = 2000; // Interval waktu untuk
bergantian (2 detik)
void setup() {
Serial.begin(9600); // Inisialisasi komunikasi serial dht.begin();
lcd.init(); //
Menggunakan init() untuk menginisialisasi LCD
lcd.backlight(); }
void loop() { unsigned
long currentMillis = millis(); if
(currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; //
Tampilkan suhu dan kelembaban float h =
dht.readHumidity(); float t =
dht.readTemperature();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");
// Membaca
data sensor lainnya int Infrared
= digitalRead(8); // Pin 8 untuk sensor Infrared int
soilMoisture = analogRead(A3); // Pin A0 untuk sensor soil moisture int
rainSensor = digitalRead(3); // Pin 2 untuk sensor rain int ldr =
analogRead(A0); // Pin A1 untuk sensor LDR
//
Mengirim data ke Arduino 2
Serial.print(Infrared);
Serial.print(",");
Serial.print(soilMoisture);
Serial.print(",");
Serial.print(rainSensor);
Serial.print(",");
Serial.println(ldr); }
delay(5000);
// Mengatur frekuensi pembacaan sensor } |
B. Receiver
#define
BUZZER_PIN 5 // Pin untuk Buzzer #define
MOTOR1_PIN 4 // Pin untuk Motor DC 1 #define
MOTOR2_PIN 3 // Pin untuk Motor DC 2 #define
LED_PIN 2 // Pin untuk LED
void
setup() { Serial.begin(9600); // Inisialisasi
komunikasi serial pinMode(BUZZER_PIN, OUTPUT); pinMode(MOTOR1_PIN, OUTPUT); pinMode(MOTOR2_PIN, OUTPUT); pinMode(LED_PIN, OUTPUT); } void
loop() { if (Serial.available() > 0) { String data =
Serial.readStringUntil('\n'); int splitIndex1 = data.indexOf(','); int splitIndex2 = data.indexOf(',',
splitIndex1 + 1); int splitIndex3 = data.indexOf(',',
splitIndex2 + 1);
int Infrared = data.substring(0,
splitIndex1).toInt(); int soilMoisture =
data.substring(splitIndex1 + 1, splitIndex2).toInt(); int rainSensor =
data.substring(splitIndex2 + 1, splitIndex3).toInt(); int ldr = data.substring(splitIndex3 +
1).toInt();
// Logika untuk Buzzer dan Motor DC 1 if (Infrared == HIGH) { digitalWrite(BUZZER_PIN, HIGH); digitalWrite(MOTOR1_PIN, HIGH); } else { digitalWrite(BUZZER_PIN, LOW); digitalWrite(MOTOR1_PIN, LOW); }
// Logika untuk Motor DC 2 if (soilMoisture > 300 &&
rainSensor == LOW) { digitalWrite(MOTOR2_PIN, HIGH); } else { digitalWrite(MOTOR2_PIN, LOW); }
// Logika untuk LED if (ldr > 600) { digitalWrite(LED_PIN, HIGH); } else { digitalWrite(LED_PIN, LOW); } } } |
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar