2023年2月6日

脈搏感應器PPG的應用(2):聽見心搏與脈搏的同步性

在國中實驗裡,有個讓學生三人一組聽心音脈搏的實驗,假設A是被聽,B負責聽A的心搏,C負責感覺A的脈搏,聽完一段時間後寫下心搏和脈搏的數字。

基於眾多原因,如沒聽到、沒摸到、沒同時算到...我的學生能回報出相同數字的極為少數,就算有也可能只是巧合而已。

如何解決這樣的問題?第一個需要一個能聽心音的機器,並且放音出來,這個就唯一推薦胎音機了,就是我在這篇文章【超音波胎音機放送心音】所寫到的東西,買了十年了都是靠它來上課了解心音。

那麼脈搏呢?過去我曾經用過那種手指搭在鏡頭上顯示脈搏的App,同時讓學生聽心音和看脈搏起伏,自從micro:bit推出內建喇叭的V2之後,我相當推薦自己做一個脈搏機會更好。

首先如果是想看到脈搏,就寫這樣一個積木就可以。當然感測器的三個pin也要跟micro:bit相連

感測器的 S 接到 Micro:bit 的 P1

感測器的 G 接到 Micro:bit 的 Gnd

感測器的 V 接到 Micro:bit 的 3V




上傳micro:bit之後,開啟Show Data,手指貼上感應器後,馬上就可以從裝置看到數值變化,每個高峰就是動脈中血液體積增加的時刻




如果我們希望這個脈搏計能夠有聲音的功能的話,我們就要增加一個偵測峰值的功能,讓程式偵測到峰值之後就叫一下,這就是我說要用 micro:bit的原因了,因為若是用v1,你還得另外接蜂鳴器才行。


怎麼偵測峰值呢,我們要先設定一個閾值,當數值超過那個數值之後就開始叫。不過閾值要多少呢,你大概很難直接從輸出的圖表中看到要多少數值才好,所以我們再修改一下程式,變成這樣。用字串組合的積木,把數值和某個數字用逗號做間隔來輸出。


這麼一來,你產生的圖就會變這樣,那條水平線就可以讓你看到閾值應該設定多少才好。不過並不是每個人或每次測量都可以使用同樣的閾值,因為動脈血的體積會根據你按壓感測器的力道、你的姿勢、甚至你的呼吸而發生不同的變化。

接下來我們再修改一下程式,變成這樣。


上傳到micro:bit之後,你就可以聽到自己的脈搏了。

有了脈搏計之後,再搭配上心音計,同時使用就可以同時聽見心音和脈搏了。