M2 - PWM,ADC DAN INTERRUPT

Modul 2




MODUL 2



1. Pendahuluan[Kembali]

Praktikum ini mempelajari penggunaan fitur Analog-to-Digital Converter (ADC), Pulse Width Modulation (PWM), dan Interrupt pada mikrokontroler STM32 melalui beberapa percobaan. Kegiatan praktikum bertujuan untuk mengetahui cara mikrokontroler mengolah sinyal analog menjadi data digital, menangani interupsi dari perangkat eksternal, serta menghasilkan sinyal keluaran yang dapat digunakan untuk mengendalikan aktuator sesuai kondisi sensor yang terbaca.

Pada Percobaan 1 dengan judul Heart Rate Indicator, sistem memanfaatkan heartbeat sensor sebagai masukan analog yang dibaca menggunakan ADC dan push button sebagai pemicu interrupt. Output yang digunakan berupa LED tiga warna dan buzzer. Mikrokontroler melakukan pembacaan sinyal detak jantung secara terus-menerus untuk menghitung nilai Beats Per Minute (BPM). Ketika BPM berada pada kondisi normal, sistem hanya menyalakan LED indikator tertentu, seperti LED hijau atau kuning. Akan tetapi, jika nilai BPM melewati batas aman (BPM > 70), maka LED merah dan buzzer akan aktif sebagai tanda peringatan. Percobaan ini memperlihatkan kemampuan mikrokontroler dalam mengolah data analog secara real-time. Selain itu, fitur interrupt pada push button memungkinkan pengguna mematikan alarm secara langsung tanpa menghentikan proses utama pembacaan sensor.

Pada Percobaan 2 tentang Sistem Jemuran Otomatis, proses pengendalian dilakukan dengan membaca intensitas cahaya menggunakan sensor LDR yang terhubung ke ADC, sedangkan motor servo dikendalikan menggunakan sinyal PWM. Saat sensor mendeteksi kondisi lingkungan terang dan nilai pembacaan melewati batas tertentu, mikrokontroler akan mengatur duty cycle PWM sehingga servo bergerak keluar untuk menjemur pakaian. Sebaliknya, ketika kondisi sekitar mulai gelap, sistem akan mengubah sinyal PWM agar servo bergerak masuk untuk melindungi pakaian dari hujan. Push button yang digunakan pada percobaan ini juga berfungsi sebagai kontrol manual, sehingga pengguna tetap dapat mengatur posisi servo tanpa bergantung pada kondisi cahaya.

Dari kedua percobaan tersebut dapat diketahui bahwa mikrokontroler memiliki kemampuan yang baik dalam memproses berbagai kondisi lingkungan menjadi sebuah tindakan otomatis. Melalui fitur ADC, sistem dapat membaca perubahan nilai analog secara bertahap dan lebih akurat. Kemudian, dengan bantuan interrupt dan PWM, mikrokontroler mampu memberikan respons yang cepat, baik dalam bentuk indikator peringatan maupun pengendalian gerakan mekanis secara presisi.


2. Tujuan[Kembali]

  1. Memahami cara penggunaan PWM, ADC, dan Interrupt pada Development Board yang digunakan
  2. Memahami cara menggunakan komponen input dan output yang mengimplementasikan PWM, ADC, dan Interrupt pada Development Board yang digunakan 

3. Alat dan Bahan[Kembali]

alat
STM32F103C8

STM32 NUCLEO-G474RE

bahan
Touch Sensor

PIR Sensor


Flame Sensor

Relay

LED

Buzzer

Resistor

Push Button

1. Supply 




2. Resistor


3. Push Button




4. Switch



5. Buzzer





6. LED 




7. Relay




8. Breadboard


9. Heartbeat Sensor





10. LDR Sensor



13. STM 32 NUCLEO G474RE

 


14. STM32F103C8


    41.3.1 General Input Output

Input adalah semua data dan perintah yang dimasukkan ke dalam memori untuk
diproses lebih lanjut oleh mikroprosesor. Sebuah perangkat input adalah komponen
piranti keras yang memungkinkan user atau pengguna memasukkan data ke dalam
mikroprosesor. Output adalah data hasil yang telah diproses. Perangkat output adalah
semua komponen piranti keras yang menyampaikan informasi kepada orang-orang
yang menggunakannya.
Pada STM32F103C8T6 dan STM32 NUCLEO G474RE pin input/output terdiri dari
digital dan analog yang jumlah pin-nya tergantung jenis mikrokontroller yang
digunakan. Input digital digunakan untuk mendeteksi perubahan logika biner pada pin
tertentu. Adanya input digital memungkinkan mikrokontroler untuk dapat
menerjemahkan 0V menjadi logika LOW dan 5V menjadi logika HIGH. Membaca
sinyal digital pada mikrokontroller dapat menggunakan sintaks digitalRead(pin);
Output digital terdiri dari dua buah logika, yaitu kondisi logika HIGH dan kondisi
logika LOW. Untuk menghasilkan output kita dapat menggunakan sintaks
digitalWrite(pin,nilai); yang sebelumnya pin sudah diset ke mode OUTPUT, lalu
parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan nilai HIGH, maka voltase pin tersebut akan diset ke 5V atau 3.3V dan bila pin diset ke LOW,
maka voltase pin tersebut akan diset ke 0V.

1.3.2 STM 32 NUCLEO G474RE
STM32 NUCLEO-G474RE merupakan papan pengembangan (development
board) berbasis mikrokontroler STM32G474RET6 yang dikembangkan oleh
STMicroelectronics. Board ini dirancang untuk memudahkan proses pembelajaran,
pengujian, dan pengembangan aplikasi sistem tertanam (embedded system), baik untuk
pemula maupun tingkat lanjut. STM32 Nucleo-G474RE mengintegrasikan antarmuka
ST-LINK debugger/programmer secara onboard sehingga pengguna dapat langsung
melakukan pemrograman dan debugging tanpa perangkat tambahan.
Adapun spesifikasi dari STM32 NUCLEO-G474RE adalah sebagai berikut: 

 


1.3.3 STM32F103C8
STM32F103C8 adalah mikrokontroler berbasis ARM Cortex-M3 yang
dikembangkan oleh STMicroelectronics. Mikrokontroler ini sering digunakan dalam
pengembangan sistem tertanam karena kinerjanya yang baik, konsumsi daya yang
rendah, dan kompatibilitas dengan berbagai protokol komunikasi. Pada praktikum ini,
kita menggunakan STM32F103C8 yang dapat diprogram menggunakan berbagai
metode, termasuk komunikasi serial (USART), SWD (Serial Wire Debug), atau JTAG
untuk berhubungan dengan komputer maupun perangkat lain. Adapun spesifikasi dari
STM32F4 yang digunakan dalam praktikum ini adalah sebagai berikut:




 

Komentar

Postingan Populer