TP 2 & LA 2 MODUL 2
- Pahami terlebih dahulu kondisi yang akan digunakan
- Buka web Wokwi
- Persiapkan alat dan bahan
- Buat rangkaian sesuai dengan kondisi dan modul
- Buat kode program untuk mengoperasikan rangkaian tersebut sesuai dengan kondisi
- Jalankan simulasi rangkaian.
- Proses selesai
2. Hardware dan Diagram Blok[Kembali]
Hardware
3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]
Rangkaian Simulasi
Sistem jemuran otomatis bekerja dengan membaca intensitas cahaya menggunakan sensor LDR yang dikonversi menjadi nilai digital melalui ADC pada mikrokontroler, kemudian dibandingkan dengan dua nilai ambang untuk menentukan kondisi gelap, sedang, atau terang. Berdasarkan hasil tersebut, mikrokontroler mengatur posisi servo melalui sinyal PWM dengan lebar pulsa berbeda, yaitu sekitar 1000 µs untuk posisi masuk, 1500 µs untuk posisi setengah terbuka, dan 2000 µs untuk posisi keluar. Sistem juga dilengkapi mode manual yang diaktifkan melalui push button, di mana penekanan lama digunakan untuk berpindah antara mode otomatis dan manual. Pada mode manual, penekanan singkat tombol akan mengubah posisi servo secara berurutan dalam tiga langkah. Dengan demikian, sistem mampu beroperasi secara otomatis mengikuti kondisi cahaya maupun dikendalikan langsung oleh pengguna.
4. Flowchart dan Listing Program[Kembali]
Flowchart
Listing Program
1. Analisa bagaimana perbedaan implementasi PWM antara STM32 serta dampaknya terhadap kontrol motor dan LED.
Jawab:
PWM (Pulse Width Modulation) pada STM32 merupakan teknik pengaturan sinyal digital dengan mengubah duty cycle menggunakan timer internal seperti TIM1 dan TIM3 untuk menghasilkan frekuensi tetap dengan lebar pulsa berbeda. Pada LED, PWM digunakan untuk mengatur tingkat kecerahan, di mana duty cycle kecil membuat LED redup dan duty cycle besar membuat LED semakin terang. Pada motor DC, PWM digunakan untuk mengatur rata-rata tegangan sehingga mempengaruhi kecepatan putaran motor, sedangkan pada motor servo PWM digunakan untuk menentukan posisi sudut berdasarkan lebar pulsa tertentu. Implementasi PWM pada motor membutuhkan frekuensi dan presisi yang lebih stabil dibanding LED karena berpengaruh langsung terhadap kestabilan putaran dan posisi motor. STM32 juga menyediakan advanced timer untuk aplikasi kontrol motor yang lebih kompleks sehingga kontrol motor menjadi lebih presisi, stabil, dan efisien.
2. Analisa bagaimana cara pembacaan nilai sensor analog menggunakan ADC pada STM32
Jawab:
ADC (Analog to Digital Converter) pada STM32 digunakan untuk mengubah sinyal analog dari sensor seperti LDR, LM35, dan heartbeat sensor menjadi data digital agar dapat diproses mikrokontroler. STM32 umumnya menggunakan ADC 12-bit sehingga hasil konversi berada pada rentang 0–4095. Proses pembacaan dimulai dengan mengatur GPIO sebagai mode analog, kemudian ADC melakukan sampling dan quantization terhadap tegangan input sensor. Setelah konversi selesai, data dibaca menggunakan fungsi HAL seperti HAL_ADC_Start(), HAL_ADC_PollForConversion(), dan HAL_ADC_GetValue(), lalu diolah menjadi besaran fisik seperti suhu atau intensitas cahaya. STM32 juga mendukung fitur seperti scan mode, continuous conversion, DMA, dan oversampling sehingga pembacaan sensor menjadi lebih cepat, akurat, dan cocok digunakan pada sistem monitoring maupun kontrol otomatis real-time.
3. Analisa bagaimana penggunaan interrupt eksternal dalam mendeteksi input dari sensor atau tombol pada STM32
Jawab:
Interrupt eksternal pada STM32 digunakan agar mikrokontroler dapat merespons perubahan sinyal dari sensor atau tombol secara langsung tanpa harus melakukan polling terus-menerus. Ketika terjadi perubahan logika pada pin tertentu, CPU akan menghentikan sementara program utama dan menjalankan ISR (Interrupt Service Routine), kemudian kembali melanjutkan program utama setelah interrupt selesai ditangani. Interrupt dikonfigurasi menggunakan mode seperti GPIO_MODE_IT_RISING atau GPIO_MODE_IT_FALLING, sedangkan prioritas interrupt diatur menggunakan NVIC. Pada modul praktikum, interrupt digunakan untuk mengontrol buzzer, mengubah mode alat, serta menghidupkan atau mematikan sistem menggunakan push button. Penggunaan interrupt membuat sistem lebih responsif, efisien, dan sangat cocok diterapkan pada aplikasi real-time berbasis sensor dan otomatisasi.
4. Analisa bagaimana cara kerja fungsi HAL_GetTick() pada STM32
Jawab:
HAL_GetTick() pada STM32 adalah fungsi dari library HAL yang digunakan untuk mengambil waktu sistem dalam satuan milidetik sejak mikrokontroler mulai berjalan. Fungsi ini bekerja menggunakan timer SysTick yang menghasilkan interrupt setiap 1 ms sehingga nilai counter internal terus bertambah selama sistem aktif. Pada modul praktikum, HAL_GetTick() digunakan untuk menghitung interval denyut jantung, menentukan nilai BPM, serta mendeteksi timeout ketika sensor tidak membaca sinyal dalam beberapa detik. Fungsi ini memudahkan pengaturan waktu tanpa memerlukan timer tambahan dan lebih efisien dibanding delay biasa karena mendukung proses timing secara non-blocking, walaupun resolusinya hanya dalam satuan milidetik sehingga kurang cocok untuk pengukuran dengan presisi sangat tinggi.
5. Analisa bagaimana perbedaan konfigurasi dan kontrol pin PWM serta pemanfaatan timer internal pada STM32 dalam menghasilkan sinyal PWM
Jawab:
PWM pada STM32 dihasilkan menggunakan timer internal yang dihubungkan ke pin GPIO dalam mode alternate function, dengan konfigurasi meliputi prescaler, period, mode PWM, dan compare register untuk menentukan frekuensi serta duty cycle sinyal. Pin PWM dikonfigurasi sebagai GPIO_MODE_AF_PP, kemudian timer diaktifkan menggunakan fungsi seperti HAL_TIM_PWM_Start(), sedangkan duty cycle diubah menggunakan __HAL_TIM_SET_COMPARE(). Perbedaan konfigurasi PWM bergantung pada aplikasinya, di mana LED hanya membutuhkan pengaturan duty cycle sederhana untuk mengatur kecerahan, sedangkan motor servo memerlukan frekuensi stabil sekitar 50 Hz dengan lebar pulsa tertentu agar posisi akurat dan motor DC menggunakan PWM untuk mengatur kecepatan putaran. Pemanfaatan timer internal STM32 membuat sinyal PWM lebih stabil, presisi, dan tidak membebani CPU karena pembangkitan sinyal dilakukan langsung oleh hardware timer.
6. Bagaimana mengatur pergerakan motor servo pada stm 32?
Jawab:
Motor servo pada STM32 dikendalikan menggunakan sinyal PWM dengan frekuensi standar sekitar 50 Hz atau periode 20 ms, di mana posisi servo ditentukan berdasarkan lebar pulsa HIGH, misalnya sekitar 1 ms untuk posisi 0°, 1,5 ms untuk posisi tengah, dan 2 ms untuk posisi 180°. Pada modul praktikum, PWM servo dihasilkan menggunakan timer seperti TIM3 dengan pengaturan prescaler dan period tertentu, kemudian posisi servo diatur menggunakan fungsi __HAL_TIM_SET_COMPARE() untuk mengubah duty cycle PWM. Pada sistem jemuran otomatis, sensor LDR dibaca menggunakan ADC untuk mendeteksi kondisi terang atau gelap, sehingga servo dapat bergerak menarik jemuran masuk saat gelap dan mengeluarkannya saat terang. Penggunaan timer internal STM32 membuat gerakan servo lebih stabil, halus, presisi, dan responsif terhadap perubahan kondisi sensor.










Komentar
Posting Komentar