LAPORAN AKHIR 2
LAPORAN AKHIR 1
MODUL 1 PERCOBAAN 7
2. Prinsip Kerja Rangkaian[Kembali]
Rangkaian ini menggunakan Raspberry Pi Pico, LED RGB, buzzer, dan tiga button sebagai input. Ketika salah satu tombol ditekan, warna LED yang bersangkutan akan berubah (menyala atau mati), dan buzzer akan berbunyi sebentar sebagai tanda bahwa tombol telah ditekan.
Pertama, kita mengatur pin GPIO sesuai dengan fungsi masing-masing komponen:
- LED RGB tersambung ke pin 5 (merah), 6 (hijau), dan 11 (biru) sebagai output.
- Buzzer tersambung ke pin 12 sebagai output.
- Tiga tombol tersambung ke pin 10 (merah), 7 (hijau), dan 8 (biru) sebagai input dengan pull-up resistor.
Raspberry Pi Pico mendapatkan daya dari koneksi USB, yang juga digunakan untuk memberikan tegangan ke komponen lainnya. Ketiga tombol push button digunakan sebagai input dan dihubungkan ke pin GPIO dengan konfigurasi pull-up resistor internal. Saat tombol tidak ditekan, tegangan pada pin tombol berada pada kondisi HIGH (3.3V), sedangkan saat ditekan, tegangan turun menjadi LOW (0V), memungkinkan Raspberry Pi Pico mendeteksi perubahan status tombol.
LED RGB yang digunakan merupakan tipe common cathode, di mana katoda (kaki negatif) terhubung ke GND, sementara anoda (kaki positif) masing-masing warna terhubung ke pin GPIO melalui resistor pembatas arus. Raspberry Pi Pico mengontrol nyala LED dengan memberikan logika output, di mana HIGH (3.3V) mematikan LED dan LOW (0V) menyalakannya. Kombinasi dari ketiga warna primer (merah, hijau, dan biru) memungkinkan variasi warna yang berbeda. Selain LED, rangkaian ini juga menggunakan buzzer yang berfungsi sebagai indikator suara. Buzzer akan berbunyi singkat ketika tombol ditekan, dengan cara mengirimkan sinyal HIGH (3.3V) ke pin buzzer untuk menyalakannya dan LOW (0V) untuk mematikannya.
Cara kerja rangkaian ini dimulai ketika Raspberry Pi Pico mendapatkan daya dan mulai membaca input dari tombol. Saat salah satu tombol ditekan, Raspberry Pi Pico akan mendeteksi perubahan dari HIGH ke LOW, kemudian mengubah status LED RGB sesuai tombol yang ditekan. Tombol merah akan menghidupkan atau mematikan LED merah, tombol hijau mengontrol LED hijau, dan tombol biru mengontrol LED biru. Setiap kali ada perubahan status pada LED, buzzer akan berbunyi singkat sebagai notifikasi. Jika tombol dilepas, Raspberry Pi Pico akan kembali dalam keadaan menunggu input berikutnya. Secara keseluruhan, rangkaian ini memanfaatkan kontrol digital sederhana dengan tombol push button untuk mengaktifkan atau menonaktifkan warna pada LED RGB serta memberikan umpan balik suara melalui buzzer, dengan Raspberry Pi Pico sebagai pusat kendali utama.
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.
Video Praktikum [Download]
Komentar
Posting Komentar