FRANSISCUS
ASISI ANDHIKA DARMAWAN 2210951014
SALMA
SALSABILA 2210952002
MUHAMMAD
ADRIYAN 2210953018
Jagung merupakan salah satu komoditas
pertanian penting yang memerlukan penanganan pasca panen yang tepat untuk
menjaga kualitas dan mencegah kerugian. Kualitas jagung setelah panen sangat
dipengaruhi oleh kondisi lingkungan penyimpanan, seperti suhu, kelembapan, dan
paparan cahaya. Penyimpanan yang tidak optimal dapat menyebabkan pertumbuhan
jamur, serangan hama, penurunan nutrisi, hingga kerugian finansial bagi petani.
Di banyak fasilitas penyimpanan jagung
skala kecil, seringkali belum terdapat sistem monitoring dan kontrol lingkungan
yang otomatis. Petani masih mengandalkan metode tradisional yang kurang efisien
dan rentan terhadap perubahan cuaca. Hal ini dapat menyebabkan penurunan
kualitas jagung secara signifikan dan membatasi potensi pasar.
Dalam era pertanian modern yang
menekankan pada efisiensi dan keberlanjutan, penggunaan teknologi berbasis
mikrokontroler menjadi solusi yang dapat menjawab tantangan tersebut. Dengan memanfaatkan berbagai sensor,
seperti sensor suhu dan kelembapan DHT22, sensor cahaya BH1750, dan sensor
inframerah (IR Obstacle Sensor) yang terintegrasi ke dalam sistem
mikrokontroler Raspberry Pi Pico, kondisi lingkungan penyimpanan jagung dapat
dipantau secara otomatis dan real-time.
Lebih
dari itu, sistem juga dapat dihubungkan dengan aktuator seperti motor untuk
menggerakkan kipas ventilasi, serta lampu pijar pemanas yang dikontrol oleh
relay. Ini memungkinkan sistem untuk secara otomatis menyesuaikan
kondisi lingkungan (menyalakan pemanas, atau mengatur ventilasi) jika kualitas
lingkungan penyimpanan berada di luar batas aman yang optimal untuk jagung.
Penerapan sistem ini sangat relevan bagi industri pertanian skala kecil yang umumnya memiliki keterbatasan biaya, tenaga kerja, dan akses terhadap teknologi canggih. Dengan sistem yang sederhana namun efektif, petani dapat menjaga kualitas jagung pasca panen, meminimalisir risiko kerusakan, serta meningkatkan nilai jual dan keberlanjutan hasil panen. Oleh karena itu, diperlukan sebuah inovasi berupa Sistem Penyimpanan Jagung Pasca Panen Otomatis, yang tidak hanya mampu mengukur parameter penting lingkungan, tetapi juga dapat mengambil tindakan korektif secara otomatis untuk menjamin kualitas jagung yang disimpan.
Tujuan:
1. Merancang
dan mengimplementasikan sistem otomatis berbasis Raspberry Pi Pico untuk
memantau kondisi lingkungan penyimpanan jagung (suhu, kelembapan,dan intensitas cahaya) secara real-time
menggunakan sensor DHT22, BH1750, dan IR Obstacle Sensor.
2. Mengembangkan
mekanisme pengendalian otomatis yang dapat mengaktifkan aktuator (kipas,
lampu pijar pemanas) berdasarkan ambang batas lingkungan yang ditentukan,
guna menjaga kondisi optimal untuk penyimpanan jagung pasca panen.
3. Mengintegrasikan sistem keamanan (IR Obstacle Sensor) untuk mendeteksi keberadaan manusia dan menonaktifkan aktuator sementara demi keselamatan.
4. Menampilkan informasi kondisi lingkungan dan status aktuator secara real-time melalui LCD Display
a.
Sensor
Suhu dan Kelembapan DHT22
·
Fungsi:
Mengukur suhu dan kelembapan udara dalam ruangan penyimpanan.
·
Spesifikasi:
Tegangan Catu Daya :
3.3 – 6 V DC
Rentang Suhu : -40 hingga +80 ℃
Rentang Kelembapan : 0 – 100 %RH
Akurasi Suhu : ±0.5 ℃ (pada 25 ℃)
Akurasi Kelembapan : ±2 %RH (pada 25 ℃)
Resolusi : 0.1 ℃ / 0.1 %RH
Waktu Respon : ≤ 5 detik
Periode Sampling : ≥ 2 detik
Antarmuka : Digital 1-wire
Ukuran Modul : ±15.1 x 25 x 7.7 mm
b.
Sensor
Cahaya BH1750
·
Fungsi:
Mengukur intensitas cahaya matahari yang masuk ke ruangan.
· Spesifikasi:
Tegangan Catu Daya : 3.0 – 5.0 V DC
Kisaran Pengukuran : 1 – 65.535 lux
Akurasi : ±20%
Resolusi : 1 lux
Antarmuka : I2C (alamat default 0x23 atau 0x5C)
Waktu Konversi : 16 ms (low res), 120 ms (high res)
Jenis Output : Digital
Konsumsi Arus : 0.12 mA (mode aktif),
0.01 µA (mode power-down)
Ukuran Modul : ±18 x 15 mm
c. Sensor Infrared (IR Obstacle Sensor)
·
Fungsi:
Deteksi keberadaan manusia atau tumpukan jagung.
·
Spesifikasi
Tegangan Catu Daya : 3.3 – 5.0 V DC
Jarak Deteksi : 2 – 30 cm
(tergantung permukaan objek)
Tipe Output : Digital (0
dan 1)
Waktu Respon : Cepat (< 2
ms)
Sudut Deteksi : ±35°
Penyesuaian Jarak :
Potensiometer (trimpot)
Antarmuka : 3 pin (VCC, GND,
OUT)
Konsumsi Arus : ~20 mA
Panjang Gelombang IR : ±940 nm
Ukuran Modul : ±48 x 14 x 8 mm
d. Lampu Pijar Pemanas
· Fungsi: Pemanas tambahan saat suhu tidak mencukupi
e.
LCD Display (I2C 16x2 atau OLED 128x64)
·
Fungsi: Menampilkan informasi kondisi ruangan.
· Spesifikasi:
Blue
backlight : I2C
Display
Format : 16 Characters x 4 lines
Supply
voltage : 5V
Backlit : Blue with White char
color
Supply
voltage : 5V
Pcb Size : 60mmx99mm
Contrast
Adjust : Potentiometer
Backlight
Adjust : Jumper
Menampilkan sebanyak 32 karakter yang terdiri dari 2 baris dan tiap baris dapat menampilkan 16 karakter.
f.
Raspberry
Pi Pico
g. Kipas
h.
Breadboard
j. Kabel Jumper
Input
1.
Sensor
Suhu dan Kelembapan DHT22
Sensor membaca suhu dan kelembapan secara digital. Jika suhu < 30°C atau kelembapan > 70%, maka lampu pijar pemanas akan menyala untuk mempercepat pengeringan (dalam konteks penyimpanan, ini akan diinterpretasikan sebagai kondisi yang memerlukan pemanasan)
2. Sensor Cahaya BH1750
Sensor mengubah intensitas cahaya menjadi sinyal digital. Bila <10.000 lux, maka atap transparan dibuka untuk memaksimalkan panas alami. Bila >30.000 lux, atap ditutup sebagian agar tidak terlalu panas.Sensor water level
3. Sensor Infrared (IR Obstacle Sensor)
Sensor memancarkan sinar infrared dan menangkap pantulannya. Bila ada objek/makhluk hidup dalam jarak dekat, sensor akan mengirim sinyal HIGH. Sistem akan berhenti otomatis dan aktuator dimatikan sementara demi keselamatan.
Output
1. Lampu Pijar Pemanas
Bila suhu
<30°C atau sedang hujan, relay aktif dan menyalakan lampu. Gunakan relay 1
channel atau SSR agar tahan lama dan aman untuk arus besar.
2. Kipas
3. LCD
LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. LCD (Liquid Crystal Display) bisa menampilkan suatu gambar/karakter dikarenakan terdapat banyak sekali titik cahaya (piksel) yang terdiri dari satu buah kristal cair sebagai titik cahaya. LCD 16x2 dapat menampilkan sebanyak 32 karakter yang terdiri dari 2 baris dan tiap baris dapat menampilkan 16 karakter. Bentuk fisik LCD 16x2 dapat dilihat pada gambar dibawah ini.
Bagian-bagian LCD atau Liquid
Crystal Display diantaranya adalah :
•
Lapisan
Terpolarisasi 1 (Polarizing Film 1)
•
Elektroda
Positif (Positive Electrode)
•
Lapisan
Kristal Cair (Liquid Cristal Layer)
•
Elektroda
Negatif (Negative Electrode)
•
Lapisan
Terpolarisasi 2 (Polarizing film 2)
•
Backlight
atau Cermin (Backlight or Mirror)
Dibawah
ini adalah gambar struktur dasar sebuah LCD :
Gambar
15. Struktur LCD
4. 4. Breadboard
Breadboard Arduino merupakan papan yang digunakan
untuk membuat prototype rangkaian elektronik. Breadboard berfungsi sebagai
konduktor listrik sekaligus tempat melekatkan kabel jumper atau header pin male
agar arus listrik dari komponen satu ke komponen lainnya bisa saling
terdistribusi dengan baik sesuai. Jika menggunakan breadboard, maka
komponen-komponen yang telah dirakit tidak akan rusak dan mudah untuk dibongkar
pasang. Hal ini dikarenakan papan breadboard merupakan papan tanpa solder
(solderless). Bentuk fisik dari breadboard dapat dilihat pada gambar berikut.
Gambar 17. Breadboard
Prinsip kerja
breadboard ialah menghubungkan antara satu lubang dengan lubang yang lain, maka
di bagian bawah lubang tersebut terdapat logam konduktor listrik yang
diposisikan secara khusus. Hal ini berguna untuk memudahkan pengguna dalam
membuat rangkaian.
Gambar 1 8. Jalur koneksi pada breadboard
Berdasarkan gambar di atas,
terdapat beberapa jalur koneksi pada breadboard antara lain:
1.
Jalur
warna merah digunakan untuk menempatkan pin 5V atau kutub positif dari pico
untuk dihubungkan ke kutub positif komponen lain.
2.
Jalur
warna biru digunakan untuk menempatkan pin GND atau kutub negatif dari pico
untuk dihubungkan ke kutub negatif komponen lain.
1. Mikrokontroller
Mikrokontroler adalah sebuah system
microprocessor Dimana didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan
peralatan internal lainnya yang sudah saling terhubung dan terorganisasi
(teralamati), dikemas dalam satu chip yang siap pakai. Seperti umumnya
komputer, mikrokontroler sebagai alat yang mengerjakan perintah-perintah yang diberikan
kepadanya.
Pada mikrokontroller seorang
programmer dapat memasukkan program ke dalam mikrokontroler sehingga berfungsi
sesuai dengan yang diinginkan oleh pengguna. Artinya, bagian terpenting dan
utama dari suatu sistem komputerisasi adalah program itu sendiri yang dibuat
oleh seorang programmer. Program ini memerintahkan komputer untuk melakukan
jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih
kompleks yang diinginkan oleh programmer. Salah satu kelebihan mikrokontroler
adalah kesederhanaan dan ukurannya yang relatif kecil.
Gambar
26. Prinsip kerja mikrokontroller
Gambar 27. Struktur dan diagram blok Mikrokontroler
Berikut ini merupakan struktur dan
diagram blok mikrokontroler beserta penjelasan tentang bagian-bagian utamanya:
a.
CPU
CPU
merupakan otak dari mikrokontroler. CPU bertanggung jawab untuk mengolah data
dan eksekusi perintah yang masuk.
b.
Serial
Port (Port Serial)
Serial port menyediakan
berbagai antarmuka serial antara mikrokontroler dan periferal lain seperti port
paralel.
c.
Memori
(Penyimpanan)
Memori ini bertugas
untuk menyimpan data. Data tersebut merupakan data yang sudah diolah (output)
atau data yang belum diolah (input). memori yang umum dipakai adalah Random
Access Memory (RAM) dan Read Only Mmemory (ROM).Penyimpanan ini berupa RAM dan
ROM. ROM digunakan untuk menyimpan data dalam jangka waktu yang lama. Sedangkan
RAM digunakan untuk menyimpan data sementara selama program berjalan sampai
akhirnya dipindahkan ke ROM.
d.
Port
Input/Output Paralel
Port input/output
paralel digunakan untuk mendorong atau menghubungkan berbagai perangkat.
Kegunaan komponen ini adalah menerima input dari perangkat eksternal dan
mengirimkannya ke perangkat pemroses. Nantinya hasil pengolahan data akan
dikirimkan output ke perangkat eksternal.
e.
DAC
(Digital to Analog Converter)
DAC
(Digital to Analog Converter) melakukan operasi pembalikan konversi ADC (Analog
to Digital Converter). DAC mengubah sinyal digital menjadi format analog. DAC
ini biasanya digunakan untuk mengendalikan perangkat analog seperti motor DC
dan lain sebagainya.
f.
Interrupt
Control (Kontrol Interupsi)
Interrupt Control (Kontrol Interupsi) bertugas untuk mengendalikan penundaan terhadap pemrograman mikrokontroler. Bagianinterrupt control (kontrol interupsi) ni dapat dioperasikan secara internal ataupun eksternal.
g.
Special
Functioning Block (Blok Fungsi Khusus)
Special
functioning block merupakan bagian tambahan yang dibuat mempunyai fungsi
khusus. Biasanya blok ini ditemukan pada arsitektur mikrokontroler di mesin
robotika. Tidak semua perangkat menggunakan bagian ini.
h.
Timer
and Counter (Pengatur Waktu dan Penghitung)
Timer/counter
ini digunakan untuk mengukur waktu dan alat penghitungan. RTC memiliki tugas
untuk menyimpan waktu dan tanggal saat proses dilakukan.
2.
Analog
to Digital Converter (ADC)
ADC adalah suatu metode untuk
konversi sinyal analog menjadi sinyal digital. Biasanya sinyal analog yang
dikonversi berupa tegangan (Volt) dan dirubah menjadi sinyal digital seperti
kode biner 0 dan 1.
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.
Rangkaian
ADC memiliki dua karakter prinsip, yaitu kecepatan sampling dan resolusi.
Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog
dikonversikan ke bentuk sinyal digital pada selang waktu tertentu yang
dinyatakan dalam sample per second (SPS). Sedangkan resolusi suatu ADC
menentukan ketelitian nilai hasil konversi yang berhubungan dengan jumlah bit
yang dimilikinya. Sehingga semakin besar jumlah bit suatu ADC makan akan
memberikan ketelitian nilai hasil konversi yang lebih baik. Pada Arduino,
resolusi yang dimiliki adalah 10bit atau rentang nilai digital antara 0 - 1023.
Pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti
ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt.
Arduino Uno mempunyai 6 pin input analog yang berlabel A0 sampai A5 dimana
masingmasing pin tersebut memberikan 10bit resolusi.
3. 3. PWM,
ADC, INTERRUPT, & MILLIS
a.
PWM
Pulse
Width Modulation (PWM) secara umum adalah sebuah cara memanipulasi lebar sinyal
yang dinyatakan dengan pulsa dalam suatu perioda, untuk mendapatkan tegangan
rata-rata yang berbeda. 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 22. Duty Cycle
Duty
Cycle = 𝑡𝑂𝑁
𝑡𝑡𝑜𝑡𝑎𝑙
§ 𝑡𝑜𝑛 = Waktu ON atau Waktu dimana
tegangan keluaran berada pada posisi tinggi (highatau 1)
§ 𝑡𝑜𝑓𝑓 = Waktu OFF atau Waktu dimana
tegangan keluaran berada pada posisi rendah(low atau 0)
§ 𝑡𝑡𝑜𝑡𝑎𝑙= Waktu satu siklus atau
penjumlahan antara tON dengan tOFF atau disebut juga dengan periode satu
gelombang.
Pada Raspberry Pi Pico,
terdapat blok PWM yang terdiri dari 8 unit (slice), dan masing-masing slice
dapat mengendalikan dua sinyal PWM atau mengukur frekuensi serta duty cycle
dari sinyal input. Dengan total 16 output PWM yang dapat dikontrol, semua 30 pin
GPIO bisa digunakan untuk PWM. Setiap slice memiliki fitur utama seperti
penghitung 16-bit, pembagi clock presisi, dua output independen dengan duty
cycle 0–100%, serta mode pengukuran frekuensi dan duty cycle. PWM pada
Raspberry Pi Pico juga mendukung pengaturan fase secara presisi serta dapat
diaktifkan atau dinonaktifkan secara bersamaan melalui satu register kontrol
global, sehingga memungkinkan sinkronisasi beberapa output untuk aplikasi yang
lebih kompleks.
b.
ADC
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.
Raspberry Pi Pico memiliki empat ADC (Analog-to-Digital Converter) 12-bit dengan metode SAR, tetapi hanya tiga kanal yang dapat digunakan secara eksternal, yaitu ADC0, ADC1, dan ADC2, yang terhubung ke pin GP26, GP27, dan GP28. Kanal keempat (ADC4) digunakan secara internal untuk membaca suhu dari sensor suhu bawaan. Konversi ADC dapat dilakukan dalam tiga mode: polling, interrupt, dan FIFO dengan DMA. Kecepatan konversi ADC adalah 2μs per sampel atau 500 ribu sampel per detik (500kS/s). Mikrocontroller RP2040 berjalan pada frekuensi 48MHz yang berasal dari USB PLL, dan setiap konversi ADC membutuhkan 96 siklus CPU, sehingga waktu samplingnya adalah 2μs per sampel.
c.
Millis
Raspberry
Pi Pico yang sering diprogram menggunakan MicroPython, fungsi utime.ticks_ms()
menyediakan fungsionalitas yang sepadan. Fungsi ini mengembalikan nilai
penghitung milidetik yang bersifat monotonik (terus bertambah) sejak sistem
dimulai atau modul utime dimuat. Sama seperti millis() dan HAL_GetTick(), nilai
ticks_ms() juga akan mengalami wrap-around (kembali ke nol) setelah mencapai
batasnya, sehingga penggunaan fungsi utime.ticks_diff() menjadi penting untuk
perhitungan selisih waktu yang akurat dan aman terhadap overflow. Dengan
demikian, utime.ticks_ms() memungkinkan implementasi pola penjadwalan dan delay
non-blocking yang serupa untuk menciptakan aplikasi yang responsif di
lingkungan MicroPython.
4. Communication
a.
UART
Pada
project yang kami buat, kami menggunakan komunikasi UART untuk 2 arduino.
Komunikasi UART 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:
Gambar 24. 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.
b.
I2C
(Inter-Integrated Circuit)
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
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.
- Pi Pico 1
- Pi Pico 2
Download Datasheet IC Rasberry Pi Pico klik disini
Download Datasheet LED klik disini
Tidak ada komentar:
Posting Komentar