Tugas Pendahuluan Percobaan 1 Kondisi 3
a. Baca terlebih dahulu kondisi yang akan diambil
b. Buka aplikasi yang digunakan, misalnya menggunakan wokwi
yang bisa dibuka pada web
c. Setelah membuka wokwi pilih Pi Pico, lalu micropython
d. Setelah itu siapkan komponen - komponen yang dibutuhkan,
seperti Raspberry Pi Pico, Sensor LDR, Buzzer, resistor, dan LED
e. Hubungkan komponen - komponen menjadi rangkaian yang
sesuai dengan kondisi
f. Buat codingan atau program phyton untuk menjalankan
rangkaian tersebut
g. Lalu simulasikan rangkaian
h. Selesai
Raspberry Pi Pico adalah sebuah mikrokontroler kecil dan murah yang dirancang oleh Raspberry Pi Foundation. Berbeda dengan Raspberry Pi versi sebelumnya yang berbentuk mini PC, Raspberry Pi Pico lebih mirip seperti Arduino, yaitu sebuah papan sirkuit kecil yang khusus digunakan untuk mengendalikan berbagai perangkat elektronik dan sensor.
Raspberry Pi Pico menggunakan chip RP2040 buatan Raspberry Pi sendiri, yang merupakan otak dari papan ini. Chip ini berbasis dual-core ARM Cortex-M0+ yang cukup cepat untuk berbagai aplikasi sederhana hingga menengah, mulai dari sistem kontrol, sensor, hingga proyek-proyek robotika.
Sensor LDR (Light Dependent Resistor) adalah resistor yang nilai hambatannya berubah sesuai dengan intensitas cahaya yang dipancarkan kepadanya. Dengan kata lain, LDR berfungsi sebagai detektor cahaya atau pengukur besaran cahaya
B. Blok Diagram
Rangkaian ini dirancang untuk mendeteksi perubahan intensitas cahaya di lingkungan sekitar menggunakan sensor cahaya LDR (Light Dependent Resistor) yang dipasang pada sebuah modul yang memiliki dua keluaran, yaitu analog (AO) dan digital (DO). Sensor LDR ini bekerja dengan prinsip bahwa nilai resistansinya berubah tergantung pada jumlah cahaya yang diterimanya: semakin terang cahaya, maka resistansinya semakin kecil, dan sebaliknya. Dalam rangkaian ini, keluaran analog dari modul LDR (pin AO) dihubungkan ke pin ADC GP28 pada papan mikrokontroler Raspberry Pi Pico untuk memungkinkan pembacaan nilai intensitas cahaya secara kuantitatif dalam bentuk tegangan analog yang kemudian dikonversi menjadi data digital melalui proses ADC (Analog to Digital Converter). Selain itu, pin digital dari modul LDR (DO) juga dihubungkan ke pin GP0 Raspberry Pi Pico, namun tidak dimanfaatkan dalam program. Modul sensor ini mendapatkan suplai tegangan 3.3V dari pin VCC dan terhubung ke GND (ground) untuk menyelesaikan sirkuit.
Raspberry Pi Pico bertindak sebagai pusat kendali yang membaca nilai intensitas cahaya dari pin GP28 dan melakukan pengolahan data untuk membandingkannya dengan nilai normal (lux normal) yang disimpan pertama kali saat program dijalankan. Jika selama proses pemantauan ditemukan bahwa nilai lux saat ini meningkat 200lux dari nilai normal, maka sistem akan merespons dengan memberikan peringatan melalui dua komponen output, yaitu buzzer dan LED. Buzzer yang digunakan dalam rangkaian ini dihubungkan ke pin GP15 dari Raspberry Pi Pico dan dikontrol menggunakan sinyal PWM (Pulse Width Modulation) dengan frekuensi 500hz dan duty cycle sebesar 45% (nilai PWM 29490 dari 65535), yang menghasilkan suara peringatan sebagai alarm. Sementara itu, LED merah yang berfungsi sebagai indikator visual juga diaktifkan melalui pin GP6. LED ini dipasang secara seri dengan resistor pembatas arus untuk mencegah kerusakan akibat arus berlebih, dan kemudian terhubung ke ground. Raspberry Pi Pico akan membuat LED berkedip dengan pola 4 detik menyala dan 4 detik mati secara bergantian selama kondisi gelap tersebut berlangsung.
Rangkaian ini mendapatkan catu daya dari Raspberry Pi Pico yang disuplai melalui koneksi USB, dan seluruh sistem bekerja dalam logika kendali sederhana yang memanfaatkan pembacaan analog sensor LDR untuk mendeteksi perubahan cahaya lingkungan. Dengan kombinasi LED dan buzzer sebagai keluaran, sistem ini efektif digunakan sebagai perangkat peringatan terhadap kondisi pencahayaan yang tidak normal, misalnya sebagai indikator kegagalan penerangan, alarm keamanan, atau bagian dari sistem monitoring otomatis berbasis cahaya. Prinsip kerja keseluruhan dari rangkaian ini menggambarkan interaksi antara sensor input, pengolahan logika mikrokontroler, dan aktivasi output berbasis kondisi lingkungan yang terdeteksi.
Prinsip Kerja Kode
Prinsip kerja dari kode yang digunakan pada tugas pendahuluan ini adalah untuk membaca dan memproses data dari sensor cahaya LDR, kemudian memberikan respon berupa nyala LED berkedip dan bunyi buzzer apabila terdeteksi penurunan intensitas cahaya secara signifikan dibandingkan kondisi awal (normal). Program ini ditulis menggunakan MicroPython dan dijalankan pada papan mikrokontroler Raspberry Pi Pico.
Pertama-tama, dilakukan inisialisasi pada semua pin yang digunakan. Pin GP28 dikonfigurasi sebagai input analog untuk membaca nilai dari sensor LDR (melalui pin AO), pin GP0 juga disiapkan sebagai input digital dari pin DO LDR, tetapi sebenarnya tidak digunakan dalam logika program. Kemudian, pin GP6 diset sebagai output digital untuk mengontrol LED, dan pin GP15 disiapkan sebagai output PWM untuk mengontrol intensitas bunyi buzzer. Buzzer diatur pada frekuensi awal sebesar 1000 Hz, namun duty cycle-nya (tingkat nyalanya) diset ke nol terlebih dahulu agar tidak langsung berbunyi saat program dijalankan.
Selanjutnya, terdapat fungsi adc_to_lux() yang bertugas mengubah nilai pembacaan ADC dari rentang 0–65535 menjadi estimasi nilai intensitas cahaya dalam satuan lux. Fungsi ini menggunakan formula linier untuk mengkonversi nilai ADC menjadi rentang lux antara 10 hingga 910 lux. Kemudian dalam loop utama program (while True:
), Raspberry Pi Pico membaca nilai analog dari pin GP28 menggunakan fungsi read_u16()
, dan nilai ini langsung diubah menjadi lux menggunakan fungsi yang telah dibuat sebelumnya.
Pada awalnya, nilai intensitas cahaya (lux) pertama yang dibaca akan disimpan sebagai nilai lux_normal, yang menjadi acuan pembanding selama proses pemantauan. Nilai ini hanya disimpan sekali, sehingga setiap perubahan berikutnya dibandingkan dengan nilai awal tersebut. Jika terdeteksi bahwa nilai lux saat ini naik lebih dari 200 lux dibandingkan nilai normal (dengan lux > lux_normal - 490.2289
), maka program akan mengaktifkan dua perangkat output sekaligus: buzzer akan dibunyikan dengan duty cycle 45% (nilai 29490 dari 65535) dan LED akan berkedip. LED berkedip dikontrol oleh variabel led_should_blink, yang diaktifkan saat kondisi gelap terdeteksi. Mekanisme kedipan LED dibuat dengan menghitung waktu saat ini dalam satuan detik (menggunakan utime.time() % 8
) untuk menghasilkan pola 4 detik nyala dan 4 detik mati secara berulang. Selama 4 detik pertama dari siklus 8 detik, LED akan toggle (berkedip) setiap 0.5 detik, sedangkan selama 4 detik sisanya LED dimatikan.
Apabila kondisi pencahayaan kembali normal (lux dibawah dari 200 ), maka program akan mematikan buzzer dengan duty cycle nol (buzzer.duty_u16(0)
) dan juga mematikan LED serta menghentikan kedipan dengan mengatur variabel led_should_blink
menjadi False
.
Dengan struktur tersebut, program ini bekerja secara terus-menerus (real-time) untuk memantau intensitas cahaya dan memberikan respon alarm otomatis berupa suara dan kedipan lampu saat terjadi penurunan cahaya yang drastis dari kondisi awal yang dianggap normal.
Tidak ada komentar:
Posting Komentar