SISTEM KONTROL PENYIMPANAN JAGUNG OTOMATIS
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.
- raspberry pi pico
- sensor Infrared
Sistem sensor infra merah pada dasarnya menggunakan infra merah sebagai media untuk komunikasi data antara receiver dan transmitter. Sistem akan bekerja jika sinar infra merah yang dipancarkan terhalang oleh suatu benda yang mengakibatkan sinar infra merah tersebut tidak dapat terdeteksi oleh penerima.
Sensor IR sendiri memiliki karakteristik sebagai
berikut:
1. Sensor IR secara khusus menyaring cahaya IR, tapi tidak terlalu baik
untuk mendeteksi cahaya tampak.
2. Sensor IR memiliki demulator (bagian yang memisahkan sinyal informasi
(yang berisi data atau pesan) dari sinyal pembawa yang diterima sehingga
informasi tersebut dapat diterima dengan baik) yang digunakan untuk
mencari IR yang ter-modulasi (merupakan bagian yang mengubah sinyal
informasi ke dalam sinyal pembawa (carrier) dan siap untuk dikirimkan)
pada rentang frekuensi 38 KHz. Lampu LED IR yang hanya menyala terus
menerus tidak akan terdeteksi oleh receiver, melainkan harus PWM
Blinking/Flicking (berkedip secara konstan dalam kurun waktu beberapa
milidetik) pada rentang 38 KHz.
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.
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
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.
3. Jalur warna hijau digunakan untuk menempatkan pin digital dari pico untuk dihubungkan ke 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.
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 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:
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.
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 HTML klik disini Rangkaian Simulasi input klik disini Rangkaian Simulasi Output klik disini Video Simulasi klik disini Download Datasheet Sensor BH1750 klik disini Download Datasheet Sensor Suhu klik disini Download Datasheet Sensor IR klik disini
Download Datasheet IC Rasberry Pi Pico klik disini
Download Datasheet LED klik disini
- Rangkaian Simulasi input klik disiniDownload HTML klik disiniRangkaian Simulasi Output klik disiniVideo Simulasi klik disiniDownload Datasheet Sensor BH1750 klik disiniDownload Datasheet Sensor Suhu klik disiniDownload Datasheet Sensor IR klik disini
Download Datasheet IC Rasberry Pi Pico klik disini
Download Datasheet LED klik disini
Tidak ada komentar:
Posting Komentar