MIKRO-LA1-M2
MODUL 2
LAPORAN AKHIR 1
1. Prosedur [kembali]
1. Persiapan Alat dan Bahan
Sediakan komponen-komponen utama yang terlihat pada gambar rangkaian
Mikrokontroler: STM32F103C8
. Sensor: HeartBeat Sensor (HB1)
. Input: Push Button (untuk fungsi Interrupt) dan Potensiometer (RV1)
. Output: 3 buah LED (Merah, Kuning, Hijau) dan Buzzer (BUZ1)
. Pendukung: Resistor 220 Ohm (R1, R2, R3) dan Voltmeter untuk pemantauan tegangan
.
2. Perakitan Rangkaian
Hubungkan komponen ke pin mikrokontroler sesuai skema
HeartBeat Sensor: Output sensor dihubungkan ke pin PA0 yang dikonfigurasi sebagai input ADC
. Push Button: Dihubungkan ke pin PA1 sebagai input External Interrupt (EXTI)
. LED:
LED Hijau dihubungkan ke pin PB0
. LED Kuning dihubungkan ke pin PB1
. LED Merah dihubungkan ke pin PB10
.
Buzzer: Dihubungkan ke pin PB11
.
3. Logika Operasi (Prosedur Pengujian)
Setelah program diunggah, sistem akan bekerja berdasarkan nilai BPM (Beats Per Minute) yang terdeteksi
Inisialisasi: Sistem melakukan kalibrasi nilai ambang batas (baseline) secara adaptif dari data sensor
- LED merah dan kuning disetting selalu mati
- Ketika sensor mendeteksi adanya detak jantung, maka LED hijau akan menyala
- Ketika tidak addanya detak jantung terdeteksi, maka LED hijau akan mati
- Kondisi Normal (BPM 60-80): LED Hijau akan menyala, sedangkan LED lainnya dan Buzzer tetap mati
. - Fungsi Interrupt: Jika detak jantung berada di kondisi bahaya dan Buzzer menyala, penekanan Push Button akan memicu Interrupt Service Routine (ISR) untuk mematikan atau menyalakan ulang status Buzzer tanpa mengganggu proses pembacaan sensor utama
4. Pengamatan
Perhatikan bahwa LED hijau akan menyala selaras dengan detak jantung yang terdeteksi
Pastikan fungsi timeout bekerja: jika tidak ada detak yang terdeteksi selama 2 detik, sistem akan mengatur nilai BPM ke 0 dan mematikan semua output.
Perhatikan bahwa LED hijau akan menyala selaras dengan detak jantung yang terdeteksi
Pastikan fungsi timeout bekerja: jika tidak ada detak yang terdeteksi selama 2 detik, sistem akan mengatur nilai BPM ke 0 dan mematikan semua output.
2. Hardware dan Diagram Blok [kembali]
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
Prinsip kerja:
- Pembacaan Sensor: Sensor pulsa (di ujung jari) mendeteksi aliran darah dan menghasilkan sinyal listrik analog yang naik-turun seirama dengan denyut jantung.
- Konversi (ADC): Fitur ADC (Analog-to-Digital Converter) mengubah sinyal analog tersebut menjadi data digital agar bisa dibaca dan dipahami oleh mikrokontroler.
- Pemrosesan & Output: Mikrokontroler memantau data digital tersebut. Setiap kali terdeteksi lonjakan data yang menandakan terjadinya detak jantung, mikrokontroler memberi perintah agar LED Hijau menyala. Saat gelombang turun (jeda antar detak), LED dimatikan.
4. Flowchart dan Listing Program[kembali]
Bagian awal dari proyek Heart Rate Indikator yang berfungsi untuk mendefinisikan handle periferal dan variabel global. Program ini menyertakan header library HAL untuk STM32F1 dan mendeklarasikan sebuah handleh hadc1 yang digunakan untuk mengontrol periferal ADC (Analog to Digital Converter). Selain itu, dideklarasikan beberapa variabel penting seperti adcValue dan filteredValue untuk menampung hasil pembacaan sensor serta variabel beatDetected, BPM, interval, dan lastBeatTime yang berfungsi untuk menghitung frekuensi detak jantung pengguna. Terdapat juga variabel buzzerOff yang digunakan sebagai penanda status aktif atau tidaknya alarm suara pada sistem
Implementasi algoritma Moving Average Filter yang berfungsi untuk menghaluskan data masukan dari sensorFILTER_SIZE dan menyiapkan array buffer untuk menyimpan data sementara tersebutmoving_average, setiap nilai baru yang diterima akan dimasukkan ke dalam buffer, lalu program menghitung jumlah total dari seluruh data yang ada menggunakan perulangan for
.
Kumpulan fungsi khusus untuk mengendalikan indikator visual berupa LED pada proyek Heart Rate IndicatorHAL_GPIO_WritePin, yaitu LED_Hijau(), LED_Kuning(), dan LED_Merah() yang masing-masing berfungsi untuk mengaktifkan LED tertentu dengan memberikan status GPIO_PIN_SET pada pin PB0, PB1, dan PB10LED_Mati() yang berfungsi untuk menonaktifkan seluruh LED secara bersamaan dengan memberikan status GPIO_PIN_RESET pada ketiga pin tersebut
Definisi fungsi untuk kendali alarm suara, penanganan interupsi, serta deklarasi prototype fungsi utama pada proyek Heart Rate Indicator
Buzzer_On() dan Buzzer_Off() yang menggunakan perintah HAL_GPIO_WritePin untuk mengaktifkan atau menonaktifkan buzzer melalui pin PB11HAL_GPIO_EXTI_Callback yang berfungsi sebagai Interrupt Service Routine (ISR); fungsi ini akan mendeteksi penekanan tombol pada pin PA1 dan mengubah status variabel buzzerOff secara bergantian (toggle) untuk mengendalikan alarm secara manualSystemClock_Config), inisialisasi GPIO (MX_GPIO_Init), dan inisialisasi ADC (MX_ADC1_Init) yang akan diimplementasikan lebih lanjut dalam kode program utama.
Merupakan fungsi utama (main) yang mengendalikan seluruh logika sistem Heart Rate Indicator dalam sebuah perulangan tak terbatas
.
Merupakan fungsi SystemClock_Config yang bertujuan untuk mengonfigurasi sumber detak (clock) utama pada mikrokontrolerRCC_HSI_ON dan menonaktifkan fitur PLLDIV1), serta menyetel latensi memori flash pada tingkat nol agar sesuai dengan frekuensi kerja yang dihasilkan dari sumber HSI tersebut
Merupakan fungsi MX_ADC1_Init yang bertugas melakukan inisialisasi periferal ADC1 pada mikrokontroler STM32
Merupakan fungsi MX_GPIO_Init yang bertugas mengonfigurasi pin-pin GPIO (General Purpose Input/Output) pada mikrokontroler STM32HAL_GPIO_WritePin
5. Video Demo[kembali]
Analisa:
6. Kondisi [kembali]
-
7. Video Simulasi [kembali]
8. Download File [kembali]

.jpeg)

.jpeg)
Komentar
Posting Komentar