LAPORAN AKHIR 1
LAPORAN AKHIR 1
MODUL 1 PERCOBAAN 4
2. Prinsip Kerja Rangkaian[Kembali]
Rangkaian ini menggunakan STM32 sebagai otaknya untuk membaca input dari sensor PIR dan sensor sentuh, lalu mengontrol LED RGB berdasarkan kondisi yang terdeteksi. Jadi, sistem ini bisa dibilang kayak indikator sederhana buat mendeteksi gerakan atau sentuhan.
Pertama, sensor PIR bertugas buat mendeteksi gerakan. Kalau ada benda bergerak di depan sensor, sistem bakal membaca nilai HIGH (1) dan LED biru akan menyala. Sebaliknya, kalau nggak ada gerakan, nilai yang dibaca LOW (0) dan LED biru akan mati.
Kedua, ada touch sensor yang bakal merespon kalau disentuh. Begitu sensor disentuh, LED hijau akan menyala selama 3 detik, lalu mati sendiri. Selama LED hijau nyala, LED merah dipastikan mati, jadi semacam ada delay sebelum sistem kembali ke kondisi awal.
Selanjutnya, ada kondisi kombinasi antara PIR dan touch sensor. Kalau sensor PIR nggak mendeteksi gerakan dan sensor sentuh juga nggak ditekan, maka LED merah akan menyala, tandanya sistem lagi "diam" atau standby. Tapi kalau salah satu sensor aktif (baik PIR mendeteksi gerakan atau touch sensor ditekan), LED merah otomatis mati, karena sistem tahu ada aktivitas di sekitarnya.
Intinya, rangkaian ini dibuat buat mendeteksi keberadaan orang atau interaksi pengguna. Kalau ada gerakan, LED biru nyala, kalau disentuh, LED hijau nyala sebentar, dan kalau semuanya diam, LED merah yang nyala. Bisa dipakai buat aplikasi sederhana kayak sistem keamanan atau smart device yang butuh respon terhadap gerakan dan sentuhan.
3. Video Simulasi[Kembali]SOAL ANALISA
MODUL 1 General I/O
1. Analisa bagaimana pengaruh penggunaan/pemilihan GPIO pada STM32 dan Raspberry Pi Pico
Jawab:
a. Pengaruh Pemilihan GPIO pada STM32
- Fungsi Khusus
- Interrupts
- Tegangan dan Arus
- Debouncing
- Ketersediaan Pin
- Pengaturan Mode
b. Pengaruh Pemilihan GPIO pada Rapsberry Pi Pico
- Fungsi Khusus
Pin tertentu (misalnya, GP0 dan GP1) dapat digunakan untuk komunikasi I2C, sementara pin lain (misalnya, GP2 dan GP3) dapat digunakan untuk UART. Oleh karena itu, pemilihan pin harus disesuaikan dengan kebutuhan perangkat yang digunakan.
- Interrupts
Beberapa pin GPIO dapat dikonfigurasi untuk menerima interrupt. Hal ini memungkinkan perangkat merespons peristiwa secara real-time, yang sangat penting dalam aplikasi yang memerlukan respons cepat. Pastikan pemilihan pin mendukung interrupt jika dibutuhkan dalam aplikasi yang sedang dibuat.
- Tegangan dan Arus
Setiap pin GPIO memiliki batasan tegangan dan arus. Pemilihan pin yang sesuai dengan spesifikasi komponen sangat penting untuk mencegah kerusakan. Oleh sebab itu, perlu dipastikan bahwa pin yang digunakan dapat menangani arus yang dibutuhkan oleh perangkat yang terhubung.
- Debouncing
Jika tombol atau saklar digunakan, pemilihan pin dapat memengaruhi cara menangani debouncing. Beberapa pin mungkin lebih rentan terhadap noise, sehingga hal ini harus diperhatikan saat menentukan pin untuk input digital.
- Ketersediaan Pin
Sebelum menghubungkan banyak perangkat, perlu diperiksa ketersediaan pin GPIO yang masih dapat digunakan. Hal ini bertujuan untuk menghindari kehabisan pin yang diperlukan dalam suatu rangkaian.
2. Analisa bagaimana STM32 dan Raspberry Pi Pico menerima inputan dan menghasilkan output
Jawab:
a. STM32
STM32 menerima input melalui konfigurasi pin sebagai input digital atau analog. Pin dapat diset untuk membaca status logika atau nilai analog menggunakan ADC (Analog to Digital Converter). Setelah menerima input, STM32 menghasilkan output dengan mengatur status pin ke HIGH atau LOW. Selain itu, STM32 juga dapat menghasilkan sinyal PWM (Pulse Width Modulation) untuk mengontrol perangkat seperti motor atau LED.
3. Analisa bagaimana program deklarasi pin I/O pada STM32 dan Raspberry Pi Pico
Jawab:
- STM32
Pada STM32, deklarasi pin menggunakan struktur GPIO_InitTypeDef untuk mengonfigurasi pin. Proses ini melibatkan beberapa langkah utama:
- Mengaktifkan clock untuk port GPIO yang digunakan.
- Mengatur mode pin sebagai input atau output sesuai kebutuhan.
- Menginisialisasi pin dengan parameter yang telah ditentukan.
- Raspberry Pi Pico
Pada Raspberry Pi Pico, deklarasi pin lebih sederhana dan langsung. Pengguna dapat menginisialisasi pin dengan satu baris kode.
from machine import Pin
led = Pin(25, Pin.OUT) # Mengatur pin 25 sebagai output untuk LED
4. Analisa Fungsi HAL_Delay(100) pada STM32 dan utime.sleep_ms(1) pada Raspberry Pi Pico
Jawab:
- Fungsi HAL_Delay(100) pada STM32 digunakan untuk menunda eksekusi program selama 100 milidetik dengan memanfaatkan timer internal. Penundaan ini bersifat blocking, tetapi tidak mengganggu interrupt lain yang sudah diatur dalam sistem.
- Pada Raspberry Pi Pico, fungsi utime.sleep_ms(1) digunakan untuk menunda eksekusi selama 1 milidetik. Berbeda dengan HAL_Delay, fungsi ini lebih fleksibel karena memungkinkan CPU tetap dapat digunakan untuk tugas lain selama waktu tunggu, sehingga lebih efisien dalam konteks multitasking.
5. Analisa kesalahan yang menyebabkan tidak berjalannya percobaan 4 dan percobaan 7 yang telah dilakukan saat praktikum
Percobaan 4
- Kesalahan pada wiring
- Masalah pada sensor
Masalah pada sensor dapat memengaruhi keluaran yang diharapkan. Jika sensor infrared atau sensor touch tidak bekerja sebagaimana mestinya, LED RGB tidak akan menerima sinyal untuk menyala. Output tegangan yang tidak sesuai atau adanya gangguan dari lingkungan sekitar juga bisa menjadi penyebabnya.
- Tegangan dan arus yang tidak sesuai
Tegangan dan arus yang tidak sesuai dapat menghambat kinerja LED. Jika tegangan yang diberikan terlalu rendah, LED mungkin tidak mendapatkan daya yang cukup untuk menyala. Sebaliknya, jika arus terlalu besar tanpa adanya pembatas, LED bisa mengalami kerusakan sebelum sempat berfungsi.
Percobaan 7
- Kesalahan pada wiring
Jika koneksi antara tombol, pin GPIO Raspberry Pi Pico, LED RGB, dan buzzer tidak terpasang dengan benar, arus mungkin tidak mengalir sebagaimana mestinya. Selain itu, grounding yang tidak tepat dapat mengakibatkan rangkaian tidak berfungsi sebagaimana yang diharapkan.
- Masalah pada tombol
Jika tombol tidak berfungsi dengan baik, sinyal tidak akan dikirim ke Raspberry Pi Pico. Selain itu, output tegangan tombol yang tidak sesuai, baik karena konfigurasi pull-up atau pull-down yang salah, dapat menyebabkan mikrokontroler tidak mendeteksi perubahan status tombol dengan benar.
- Konfigurasi LED RGB dan buzzer yang salah
Jika pin yang digunakan untuk LED dan buzzer tidak sesuai atau tidak ada sinyal PWM yang dikirimkan dengan benar, LED dan buzzer tidak akan aktif. Selain itu, jika warna LED tidak diatur dengan benar dalam program, bagian tertentu dari LED RGB mungkin tidak menyala.
- Tegangan dan arus yang tidak sesuai
Jika tegangan yang diberikan ke LED RGB atau buzzer terlalu rendah, daya yang diterima tidak cukup untuk mengaktifkannya. Sebaliknya, jika arus terlalu besar tanpa adanya pembatas seperti resistor, LED atau buzzer dapat mengalami kerusakan sebelum berfungsi.
Rangkaian Simulasi [Download]
Program STM32 [Download]
Infrared Sensor [Download]
Touch Sensor [Download]
Video Praktikum [Download]
Komentar
Posting Komentar