Laporan Akhir: Percobaan 3
1.) Prosedur [kembali]
- Siapkan komponen-komponen yang akan dirangkai sesuai percobaan
- Rangkai komponen pada breadboard
- Buka aplikasi Thonny pada laptop
- Masukkan Listing program
- Hubungkan rangkaian breadboard dengan laptop
- Upload Listing program pada rangkaian
- Rangkaian sudah dapat dijalankan
2.) Hardware dan Diagram Blok [kembali]
A. Hardware
1. Raspberry Pi Pico
2. Resistor
Resistor atau penghambat merupakan komponen elektronik yang memiliki dua pin dan dirancang untuk mengatur tegangan listrik dan arus listrik. Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin di mana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan hukum Ohm:
V=I*R
3. Sensor PIR
Sensor PIR adalah sensor yang lazim digunakan untuk mendeteksi pergerakan objek di sekitarnya. Sensor ini memiliki desain yang kompak dan ringkas, dan sangat mudah dalam penggunaannya. Sensor PIR hanya membutuhkan daya yang kecil untuk bekerja, dan dapat mendeteksi gerakan dalam jarak yang lumayan jauh. Selain itu, output yang berupa kondisi 0 dan 1 memudahkan pengguna dalam merancang logika program pada projek yang menggunakan sensor jenis ini.
4. LED
Light Emiting Diode (LED) adalah komponen yang dapat memancarkan cahaya. Sstruktur LED sama dengan dioda. Untuk mendapatkan pancaran cahaya pada semikonduktor, dopping yang dipakai adalah gallium, arsenic, dan phosporus. Jenis dopping yang berbeda akan menghasilkan warna cahaya yang berbeda.
B. Diagram Blok
3.) Rangkaian Simulasi dan Prinsip Kerja [kembali]
Prinsip Kerja:
Rangkaian diatas terdiri dari 2 buah LED merah dan kuning yang berfungsi sebagai output dari rangkaian, 2 buah resistor dengan besar 220 ohm, sebuah sensor PIR yang mana sensor ini berfungsi sebagai input mendeteksi adanya pergerakan disekitarnya, dan terdapat mikrokontroler Raspberry Pi Pico. Raspberry Pi Pico dilengkapi dengan kodingan Python yang mana kodingan tersebut nantinya akan bekerja sesuai dengan perintah yang diinginkan.
Ketika tidak terdeteksi pergerakan objek pada sensor, maka sinyal input dari PIR akan dikrimkan ke Raspberry Pi Pico yang mana nantinya Raspberry Pi Pico tersebut akan memberi perintah (ouput) pada kedua LED berupa LED kuning akan menyala sedangkan LED merah akan mati. Namun ketika terdeteksi pergerakan pada sensor PIR, maka Rapsberry Pi Pico akan memberikan perintah berupa LED merah akan menyala sedangkan LED kuning akan mati.
4.) Flowchart dan Listing Program [kembali]
Flowchart:
5.) Video Demo [kembali]
6.) Analisa [kembali]
1. Analisa bagaimana pengaruh penggunaan/pemilihan GPIO pada STM32 dan Raspberry Pi Pico
Jawab:
Pada STM32 memiliki 32 pin GPIO yang dapat digunakan untuk
menghubungkan berbagai perangkat atau komponen eksternal. Untuk memilih pin input dan output adalah dengan memilih acak pin input pada setiap pin pada STM32 lalu di beri label agar mempermudah melihat pin yang mana yang digunakan. Setelah ditentukan bagian-bagian yang mana saja pin output dan output maka listing program yang telah dikoding pada aplikasi STM32 maka diupload ke dalam papan STM32 dan barulah rangkaian dapat dijalankan.
Begitupun juga pada Raspberry Pi Pico, terdapat 26 pin GPIO yang dapat digunakan sebagai input dan output perangkat yang dihubungkan. Untuk pemilihan input dan output dan ditentukan secara acak. Setelah ditentukan bagian-bagian yang mana saja pin output dan output maka listing program yang telah dikoding pada aplikasi Thonny maka diupload ke dalam Raspberry Pi Pico dan barulah rangkaian dapat dijalankan.
Jadi pengaruh pemilihan GPIO baik itu pada STM32 maupun pada Raspberry Pi Pico tidak memiliki peraturan dan dapat diatur secara acak.
2. Analisa bagaimana STM32 dan Raspberry Pi Pico menerima inputan dan menghasilkan output
Jawab:
Baik STM32 maupun Raspberry Pi Pico dapat menerima input dan menghasilkan output melalui GPIO, tetapi dengan pendekatan yang berbeda.
Pada STM32, input digital dikonfigurasi dengan mengatur mode pin sebagai input melalui register atau library HAL/LL, lalu nilainya dibaca dari register khusus. Di sisi output, STM32 menghasilkan sinyal digital melalui mode push-pull atau open-drain, sementara PWM dihasilkan via timer hardware.
Sementara itu, Raspberry Pi Pico Input digital dibaca melalui fungsi sederhana dalam Program bahasa Python. Untuk output, Pico menghasilkan sinyal digital dan PWM via library MicroPython, dengan fleksibilitas mengatur frekuensi dan duty cycle.
3. Analisa bagaimana program deklarasi pin I/O pada STM32 dan Raspberry Pi Pico
Jawab:
Deklarasi pin I/O pada STM32 dan Raspberry Pi Pico memiliki pendekatan yang berbeda. Pada STM32, proses deklarasi pin melibatkan konfigurasi register atau penggunaan HAL Library (Hardware Abstraction Layer). Pengguna biasanya memanfaatkan tool visual STM32CubeMX untuk mengatur mode pin (input/output), pull-up/pull-down, kecepatan GPIO, dan fungsi alternatif secara grafis. Setelah konfigurasi, kode inisialisasi otomatis dihasilkan, yang mencakup pengaktifan clock GPIO, pengaturan register MODER/PUPDR, dan integrasi dengan peripheral lain (ADC, timer). Misalnya, untuk menjadikan pin PA5 sebagai output push-pull, pengguna harus mengaktifkan clock GPIOA, mengatur MODER ke mode output, dan menentukan parameter kecepatan.
Sebaliknya, deklarasi pin pada Raspberry Pi Pico jauh lebih sederhana. Pada MicroPython, deklarasi pin bahkan lebih intuitif—misalnya, Pin(25, Pin.OUT) langsung mengatur pin 25 sebagai output. Untuk input analog, Pico menyediakan kelas ADC yang bisa langsung dipetakan ke pin tertentu (seperti GP26). Keunikan Pico terletak pada Programmable I/O (PIO), yang memungkinkan pengguna mendefinisikan protokol kustom dengan assembly sederhana.
4. Analisa bagaimana program dalam analisa metode pendeteksian input pada STM32 dan Raspberry Pi Pico
Jawab:
Pada STM32, pendeteksian input umumnya dilakukan melalui tiga pendekatan: polling, interrupt (EXTI), dan ADC dengan DMA. Untuk input digital sederhana, metode polling digunakan dengan membaca status pin secara berkala dalam loop utama—misalnya, mendeteksi tombol yang ditekan. Namun, untuk aplikasi real-time seperti kontrol motor atau sistem keselamatan, STM32 mengandalkan External Interrupt (EXTI) yang memicu callback fungsi saat terjadi perubahan sinyal (rising/falling edge). Konfigurasi interrupt pada STM32 melibatkan pengaturan prioritas NVIC dan handler melalui HAL Library, memungkinkan respons cepat dengan latency mikro-detik.
Di sisi lain, Raspberry Pi Pico mengadopsi pendekatan yang lebih sederhana dan fleksibel. Untuk input digital, Pico mendukung polling dan interrupt callback yang mudah diimplementasikan—baik dalam C/C++ SDK maupun MicroPython. Contohnya, dalam MicroPython, interrupt bisa diatur dengan beberapa baris kode untuk memantau perubahan pin, seperti deteksi tombol. Keunikan Pico terletak pada Programmable I/O (PIO), blok hardware yang memungkinkan pengguna membuat "state machine" kustom untuk mendeteksi input dengan timing presisi nanodetik.
5. Analisa Fungsi HAL_Delay(100) pada STM32 dan utime.sleep_ms(1) pada Raspberry Pi Pico
Jawab:
Fungsi HAL_Delay(100) pada STM32 dan utime.sleep_ms(1) pada Raspberry Pi Pico memiliki tujuan serupa, yaitu menunda eksekusi program, tetapi cara kerja dan implikasinya berbeda signifikan. Pada STM32, HAL_Delay() adalah fungsi blocking yang bergantung pada SysTick Timer, komponen hardware yang diinisialisasi otomatis oleh HAL Library. Fungsi ini menghasilkan penundaan presisi tinggi (±1 siklus clock) karena berbasis timer hardware, cocok untuk aplikasi yang membutuhkan determinisme, seperti kontrol motor atau akuisisi data sensor. Namun, selama penundaan berlangsung, CPU terjebak dalam loop aktif, sehingga konsumsi daya relatif tinggi dan tidak ideal untuk sistem berbasis baterai.
Di sisi lain, utime.sleep_ms(1) pada Raspberry Pi Pico (dalam MicroPython) juga bersifat blocking, tetapi dijalankan di atas interpreter yang memperkenalkan overhead software. Akurasinya lebih rendah, terutama untuk delay pendek (1 ms), karena jitter dari garbage collection dan tugas latar belakang. Meski demikian, arsitektur dual-core RP2040 memungkinkan core kedua tetap menjalankan tugas selama core pertama tertunda. Keunggulan Pico terletak pada kemudahan penggunaan dan efisiensi daya yang lebih baik dibanding STM32, meski presisi timing-nya kalah.
7.) Download File [kembali]
HTML [disini]
Datasheet Raspberry Pi Pico [disini]
Datasheet Resistor [disini]
Datasheet LED [disini]
Datasheet PIR [disini]
Video Demo [disini]
Komentar
Posting Komentar