Laporan Akhir 2



 1. Prosedur [kembali]

  1. Pahami terlebih dahulu kondisi yang akan digunakan
  2. Buka web Wokwi
  3. Persiapkan alat dan bahan
  4. Buat rangkaian sesuai dengan kondisi dan modul
  5. Buat kode program untuk mengoperasikan rangkaian tersebut sesuai dengan kondisi 
  6. Jalankan simulasi rangkaian.  
  7. Proses selesai


 2.  Hardware [kembali]

  • Hardware
1. STM32F103C8





2. Touch Sensor



3. PIR Sensor



4. LED



5. Buzzer



6. Resistor 

  • Diagram Blog



 3. Rangkaian Simulasi Dan Prinsip Kerja [kembali]

Mengupload: 103428 dari 103428 byte diupload.





  • 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 mikrokontroler STMicroelectronics STM32, implementasi Pulse Width Modulation (PWM) dilakukan melalui timer internal yang menghasilkan sinyal digital dengan duty cycle yang dapat diubah. Pada kontrol motor DC, perubahan duty cycle PWM akan memengaruhi besar tegangan rata-rata yang diterima motor sehingga kecepatan putar motor dapat diatur secara halus. Semakin besar duty cycle, semakin cepat putaran motor. Sedangkan pada LED, PWM digunakan untuk mengatur tingkat kecerahan tanpa mengubah tegangan sumber secara langsung. Duty cycle kecil menghasilkan cahaya redup, sedangkan duty cycle besar menghasilkan cahaya terang. Perbedaan utama dampaknya adalah pada motor PWM memengaruhi energi mekanik berupa putaran, sedangkan pada LED memengaruhi intensitas cahaya yang dihasilkan.

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.

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. Saat sensor mendeteksi perubahan logika, misalnya dari LOW ke HIGH, sistem akan menghentikan sementara program utama dan menjalankan fungsi callback interrupt. Cara ini lebih efisien dibanding polling karena prosesor tidak perlu memeriksa pin secara terus menerus. Pada aplikasi sensor gerak atau tombol, interrupt sangat membantu meningkatkan kecepatan respons sistem sehingga aksi seperti menyalakan LED, mengaktifkan buzzer, atau menggerakkan motor dapat dilakukan secara real-time.

4. Analisa cara kerja fungsi HAL_GetTick() pada STM32
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
Pada STM32, pin PWM tidak dapat bekerja sendiri karena harus terhubung dengan channel timer internal tertentu. Setiap timer memiliki beberapa channel yang dapat menghasilkan sinyal PWM pada pin tertentu melalui konfigurasi alternate function. Konfigurasi PWM meliputi pengaturan prescaler, auto-reload register, dan compare register. Prescaler menentukan kecepatan timer, auto-reload menentukan periode sinyal, dan compare register menentukan duty cycle. Perbedaan konfigurasi ini memengaruhi frekuensi dan bentuk sinyal PWM yang dihasilkan. Timer internal memungkinkan beberapa pin menghasilkan PWM secara bersamaan dengan frekuensi yang sama atau berbeda, sehingga cocok untuk aplikasi multi-output seperti kontrol beberapa motor atau pengaturan beberapa LED.

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]

  1. Download File Rangkaian (1) klik disini
  2. Download video demo Klik Disini













Komentar

Postingan populer dari blog ini