当前位置:首页 > 公众号精选 > 21ic电子网
[导读]这个小东西简单而好玩,可以做为单片机入门的一个课业设计。

这个小东西简单而好玩,可以做为单片机入门的一个课业设计。


将你的食指轻轻地放在传感器上,就能看到LED指示灯随着你的心跳而闪动,15秒钟以后,还能在数码管上显示你当前的心率。


简单好玩的心率测量仪DIY作品赏析(附代码)

核心部分在传感器上,这里用的是一套红外对管。

简单好玩的心率测量仪DIY作品赏析(附代码)

人体指尖的动脉比较发达,当动脉血管随心脏周期性收缩与舒张时,血管中的血液容积也会发生变化。

这时红外接收探头便能采集到的相应的光脉冲信号,经过去噪和放大后送到单片机,进行运算处理,便得到了心率数据。

简单好玩的心率测量仪DIY作品赏析(附代码)

采集部分的原理图

简单好玩的心率测量仪DIY作品赏析(附代码)

运算与显示部分的原理图
简单好玩的心率测量仪DIY作品赏析(附代码)



单片机代码

/*
Project: Measuring heart rate through fingertip
Copyright @ Rajendra Bhatt
January 18, 2011
PIC16F628A at 4.0 MHz external clock, MCLR enabled
*/

sbit IR_Tx at RA3_bit;
sbit DD0_Set at RA2_bit;
sbit DD1_Set at RA1_bit;
sbit DD2_Set at RA0_bit;
sbit start at RB7_bit;
unsigned short j, DD0, DD1, DD2, DD3;
unsigned short pulserate, pulsecount;
unsigned int i;
//-------------- Function to Return mask for common anode 7-seg. display
unsigned short mask(unsigned short num) {
switch (num) {
case 0 : return 0xC0;
case 1 : return 0xF9;
case 2 : return 0xA4;
case 3 : return 0xB0;
case 4 : return 0x99;
case 5 : return 0x92;
case 6 : return 0x82;
case 7 : return 0xF8;
case 8 : return 0x80;
case 9 : return 0x90;
} //case end
}

void delay_debounce(){
Delay_ms(300);
}

void delay_refresh(){
Delay_ms(5);
}

void countpulse(){
IR_Tx = 1;
delay_debounce();
delay_debounce();
TMR0=0;
Delay_ms(15000); // Delay 1 Sec
IR_Tx = 0;
pulsecount = TMR0;
pulserate = pulsecount*4;
}

void display(){
DD0 = pulserate%10;
DD0 = mask(DD0);
DD1 = (pulserate/10)%10;
DD1 = mask(DD1);
DD2 = pulserate/100;
DD2 = mask(DD2);
for (i = 0; i<=180*j; i++) {
DD0_Set = 0;
DD1_Set = 1;
DD2_Set = 1;
PORTB = DD0;
delay_refresh();
DD0_Set = 1;
DD1_Set = 0;
DD2_Set = 1;
PORTB = DD1;
delay_refresh();
DD0_Set = 1;
DD1_Set = 1;
DD2_Set = 0;
PORTB = DD2;
delay_refresh();
}
DD2_Set = 1;
}

void main() {
CMCON = 0x07; // Disable Comparators
TRISA = 0b00110000; // RA4/T0CKI input, RA5 is I/P only
TRISB = 0b10000000; // RB7 input, rest output
OPTION_REG = 0b00101000; // Prescaler (1:1), TOCS =1 for counter mode
pulserate = 0;
j = 1;
display();
do {
if(!start){
delay_debounce();
countpulse();
j= 3;
display();
}
} while(1); // Infinite loop
}


HEX代码

:020000001B29BA
:100006002428C03083120313F0000800F930F000F2
:100016000800A430F0000800B030F0000800993065
:10002600F00008009230F00008008230F00008006E
:10003600F830F00008008030F00008009030F00042
:100046000800831203132A08003A031904282A0811
:10005600013A031909282A08023A03190C282A0822
:10006600033A03190F282A08043A031912282A0802
:10007600053A031915282A08063A031918282A08E2
:10008600073A03191B282A08083A03191E282A08C2
:08009600093A031921280800B2
:0E009E008312031321088A0020088200080044
:1000AC0083120313F8010830FC00700DF80D74086E
:1000BC00F80203186328F8070310F00DFC0B5B28FB
:0200CC0008002A
:1000CE00831203137008F100F0010830FC00710870
:1000DE00F40C03187628FC0B6F28F1010034031082
:1000EE007B28F40C0318F107F10CF00CFC0B7828AC
:0200FE000800F8
:100100000D3083120313FC00FB30FD00FD0B86282D
:0A011000FC0B862800000000080028
:10011A00043083120313FB000C30FC003330FD0063
:10012A00FD0B9528FC0B9528FB0B95280000000079
:02013A000800BB
:10013C004F208A110A128000840AA00A0319A10A0E
:08014C00F003031D9E280800CA
:100154008312031385158D208D2081019930FB00B6
:100164003130FC00A230FD00FD0BB628FC0BB62894
:10017400FB0BB628000085110108A3002308A20088
:0A018400A20D2210A20D22100800A7
:10018E000A3083120313F4002208F0005620780878
:10019E00F0007008A9007008AA0003207008A900DA
:1001AE000A30F4002208F00056200A30F4005620DF
:1001BE007808F0007008A8007008AA0003207008E4
:1001CE00A8006430F4002208F00056207008A60043
:1001DE007008AA0003207008A600A401A501270834
:1001EE00F000B430F400672025087102031D0129C8
:1001FE0024087002031C19290511851405142908F9
:10020E00860080200515851005142808860080209C
:10021E00051585140510260886008020A40A0319EA
:08022E00A50AF62805140800DA
:100236000730831203139F00303083168500803009
:100246008600283081008312A2010130A700C72052
:10025600861B32298D20AA200330A700C7202B2910
:0202660033293A
:02400E006A2125
:00000001FF



来源:著名的PCB哥


版权归原作者所有,如有侵权,请联系删除。

简单好玩的心率测量仪DIY作品赏析(附代码)

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

21ic电子网

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭