如何使用pulseSensor

如何使用pulseSensor,第1张

1.搭建Arduino环境

Arduino官网下载最新版本arduino�0�2IDE

www.arduino.cc

2.搭建processing环境

下载最新版本的processing�0�2IDE

www.processing.org

Arduino�0�2UNO一块

Pulsesensor�0�2一块

杜邦线3根

Pulsesensor�0�2的S�0�2连接�0�2arduino的�0�2A0脚

Pulsesensor�0�2的‘–’�0�2连接�0�2arduin的�0�2GND脚

Pulsesensor�0�2的‘+’�0�2连接�0�2arduino的�0�2+5v脚

下载pulsensor库和processing�0�2PulseSensorAmpd_

首先把下载好的pulsesensor库放到Arduino库文件路径中

然后打开 File ->Examples ->PulseSensorAmped_Arduino_1dot2 ->PulseSensorAmped_Arduino_1dot2例程

然后把程序烧入到Arduino 板中。

然后打开processing,打开PluseSensorSensorAmpd_Processing_1dot1文件夹中的PluseSensorSensorAmpd_Processing_1dot1.pde文件

然后点击按钮开始编译,出现一个心率显示界面

把pulsesensor绑在手上。即可看到processing上显示出来的心率

为了防止手上的汗使电路短路,建议把pulsesensor焊满元器件的一面使用热熔胶封住,传感器那一面也可以使用胶带封住。

/sendtimebetweenbeatswitha/在LCD12864上显示BPM

}

delay(138)9Set/发送并处理原始脉搏传感器数据

if(QS==true){//fadeRateVariableto255tofadeLEDwithpulse

sendDataToProcessing(BQi++){

delay(1000)}

if(Pressure<100){

beep=0}}

if(BPM<60|BPM>100){

for(i=0i<显示信息4

while(1)

{

sendDataToProcessing(}

}

}

//AD转换结果result

ADC_CONTR&=0xf8/依次执行写入 *** 作

{

putchar(ucStr3[i])

}

for(i=0

_nop_()/延时19.6ms

LCD_disp_list_char(4,DisBuff2)设置ADCCONTR控制寄存器后/S确定发现一个心跳

fadeRate=255,0/voidledFadeToBeat(){

//,BPM)///analogWrite(fadePin,fadeRate)/:GetADCResult

函数功能:获取AD转换结果函数

入口参数,Signal)

sys_init()

beep=1

LCD12864_DisplayOneLine(0x80,ucStr1)//,255)//prefix

QS=false/,IBI),4/resettheQuantifiedSelfflagfornexttime

LCD_disp_list_char(2:BYTEch(通道选择)

返回值:result(A///依次执行写入 *** 作

{

putchar(ucStr2[i])

}

for(i=0、CHS1、CHS0(清除通道选择)

_nop_()//显示信息1

LCD12864_DisplayOneLine(0x90,ucStr2)//keepLEDfadevaluefromgoingintonegativenumbers!

/B}

for(i=0i<3i++)

{

putchar(DisBuff[i])/清除ADC控制寄存器ADCCONTR的CHS2,DisBuff)/16i++)/和心率

sendDataToProcessing(setLEDfadevalue

//,要加4个空 *** 作延时才可以正确读到ADCCONTR寄存器的值

_nop_()4i++)//,4i++){

delay(1000)}

if(BPM<60|BPM>100){

beep=0i<16/i++)//8

}

for(i=0Q/}

/******************************************************************************

函数名称显示信息2

LCD12864_DisplayOneLine(0x88,ucStr3)//ledFadeToBeat()显示信息3

LCD12864_DisplayOneLine(0x98,ucStr4)//i<16}

for(i=0i<

unsignedintGetADCResult(BYTEch)

{unsignedintresult//依次执行写入 *** 作

{

putchar(ucStr1[i])/fadeLED

/i<16fadeRate=constrain(fadeRatei++)///发送一个fadeRate-=15//D转换结果)

备注:无

*******************************************************************************/

_nop_()

ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch|ADC_START//开ADC电源,选择AD转换速率,并选择AD通道,开始AD转换

_nop_()//设置ADCCONTR控制寄存器后,要加4个空 *** 作延时才可以正确读到ADCCONTR寄存器的值

_nop_()

_nop_()

_nop_()

while(!(ADC_CONTR&ADC_FLAG))//等待AD转换结束

ADC_CONTR&=~ADC_FLAG//关闭ADC

result=ADC_RES//将AD转换结果的高两位赋给result

result=result<<8//将result循环左移8位

result+=ADC_RESL//将AD转换结果的底8位加高两位共10位给result

returnresult//返回10位AD转换结果

}

voidsendDataToProcessing(charsymbol,intdat){

putchar(symbol)//symbolprefixtellsProcessingwhattypeofdataiscoming

printf(\"%drn


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11412961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存