LA M2 P3 K6
1. Prosedur [kembali]
- 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 [kembali]
3. Rangkaian Simulasi Dan Prinsip Kerja [kembali]
- Sistem dimulai dengan mikrokontroler melakukan inisialisasi seluruh komponen yang digunakan.
- Sensor LDR mendeteksi kondisi cahaya dimana jika terang bernilai logika 0 dan jika gelap bernilai logika 1.
- Ketika kondisi siang (LDR = 0), sinyal diteruskan ke mikrokontroler sehingga lampu berada dalam keadaan mati.
- Ketika kondisi malam (LDR = 1), sistem masuk ke mode aktif dan melanjutkan pembacaan sensor PIR.
- Sensor PIR akan mendeteksi gerakan dimana jika tidak ada gerakan (logika 0) maka lampu menyala redup.
- Jika PIR mendeteksi adanya gerakan (logika 1), maka lampu akan menyala terang.
- Push button sebagai interrupt akan mengubah kondisi sistem menjadi ON atau OFF setiap kali menerima logika 1.
- Jika sistem dalam kondisi OFF maka seluruh lampu akan mati, sedangkan jika ON maka sistem bekerja sesuai logika LDR dan PIR.
- Output sistem berupa lampu yang dapat mati, redup, atau terang sesuai kondisi yang terdeteksi.
- Sistem akan terus berjalan secara looping dengan membaca kondisi sensor secara berulang.
4. Analisa [kembali]
1. Analisa perbedaan implementasi PWM pada STM32 serta dampaknya terhadap kontrol motor dan LED
Pada STM32, PWM dihasilkan oleh timer hardware (TIMx), bukan software. Ini membuat sinyal lebih stabil dibanding mikrokontroler yang berbasis delay.
Perbedaan penggunaan:
- LED:
- PWM mengatur brightness (kecerahan)
- Frekuensi tidak terlalu kritis (biasanya ratusan Hz – beberapa kHz)
- Duty cycle → menentukan intensitas cahaya
- Motor DC:
- PWM mengatur kecepatan putar
- Frekuensi lebih diperhatikan (biasanya >1 kHz agar tidak berisik)
- Duty cycle → menentukan tegangan rata-rata ke motor
2. Analisa cara pembacaan nilai sensor analog menggunakan ADC pada STM32
STM32 membaca sensor analog menggunakan fitur Analog to Digital Converter (ADC) yang mengubah sinyal tegangan analog menjadi data digital. Sensor seperti LDR, potensiometer, atau sensor suhu menghasilkan tegangan yang berubah sesuai kondisi lingkungan. Tegangan tersebut masuk ke pin ADC STM32, kemudian ADC melakukan sampling dan mengubah nilai tegangan menjadi angka digital, misalnya 0–4095 pada ADC 12-bit. Nilai digital ini kemudian dapat diproses program untuk menentukan kondisi tertentu. Semakin tinggi resolusi ADC, semakin akurat pembacaan sensor karena perubahan kecil pada tegangan dapat terdeteksi dengan lebih presisi.
ADC (Analog to Digital Converter) mengubah sinyal analog → digital.
Alur kerja:
- Sensor menghasilkan tegangan analog (0 – 3.3V)
- ADC sampling sinyal
- Nilai dikonversi menjadi digital (misal 12-bit → 0–4095)
3. Analisa penggunaan interrupt eksternal dalam mendeteksi input sensor atau tombol pada STM32
Interrupt eksternal (EXTI) pada STM32 digunakan agar mikrokontroler dapat merespons perubahan sinyal dari sensor atau tombol secara langsung tanpa harus terus-menerus membaca pin input. Interrupt memungkinkan STM32 merespon event tanpa polling terus-menerus.
Contoh:
- Tombol ditekan
- Sensor PIR mendeteksi gerakan
Cara kerja:
- Pin dikonfigurasi sebagai EXTI
- Trigger (rising/falling edge)
- Saat event terjadi → CPU lompat ke ISR (Interrupt Service Routine)
4. Fungsi HAL_GetTick() pada library HAL STM32 digunakan untuk membaca waktu sistem dalam satuan milidetik sejak mikrokontroler mulai berjalan. Fungsi ini memanfaatkan timer sistem bernama SysTick yang secara otomatis bertambah setiap 1 ms. Nilai dari HAL_GetTick() biasanya digunakan untuk membuat delay non-blocking, mengukur interval waktu, atau menentukan timeout sensor. Misalnya program dapat menyimpan waktu awal kemudian membandingkan dengan waktu saat ini untuk mengetahui apakah sudah lewat 5 detik. Dengan metode ini, program utama tetap dapat berjalan tanpa terhenti seperti saat menggunakan fungsi delay biasa.
5. Analisa perbedaan konfigurasi dan kontrol pin PWM serta pemanfaatan timer internal pada STM32 dalam menghasilkan sinyal PWM
PWM di STM32 bergantung penuh pada timer internal.
Parameter utama:
- Prescaler → membagi clock
- ARR (Auto Reload Register) → menentukan periode
- CCR (Capture Compare Register) → menentukan duty cycle
Perbedaan konfigurasi:
- PWM LED → fokus duty cycle
- PWM motor → fokus duty + frekuensi
- PWM servo → frekuensi tetap (50 Hz), duty khusus
Peran timer:
- Menghasilkan sinyal PWM otomatis
- Tanpa membebani CPU
- Bisa multi-channel (1 timer → beberapa output)
6. Cara mengatur pergerakan motor servo pada STM32
Motor servo dikendalikan pada STM32 menggunakan sinyal PWM dengan frekuensi sekitar 50 Hz atau periode 20 ms. Posisi sudut servo ditentukan oleh lebar pulsa HIGH yang dikirim, biasanya antara 1 ms hingga 2 ms. Pulsa 1 ms umumnya menghasilkan posisi 0°, pulsa 1.5 ms menghasilkan posisi tengah 90°, dan pulsa 2 ms menghasilkan posisi 180°. Pada STM32, timer diatur untuk menghasilkan PWM 50 Hz, lalu nilai compare register diubah untuk menentukan sudut servo. Dengan mengubah duty cycle secara bertahap, servo dapat bergerak lebih halus dari satu posisi ke posisi lain. Metode ini sering digunakan pada sistem robotika, lengan otomatis, dan sistem kontrol mekanik presisi.
5. Video Demo[kembali]
6. Download File [kembali]
- Download File Rangkaian (1) klik disini
- Download video demo Klik Disini


Komentar
Posting Komentar