摘要:老年智能手環(huán)主要致力于深入到整個救治老年人環(huán)節(jié)中,促進(jìn)幾個關(guān)鍵人群的及時反應(yīng)智能互聯(lián)信息互通。是一款突出個性與人性的智能化產(chǎn)物。
Hi,大家好,這里是丹成學(xué)長,今天向大家介紹一個 單片機(jī)項(xiàng)目
基于單片機(jī)的智能手環(huán) -計步器
大家可用于 課程設(shè)計 或 畢業(yè)設(shè)計
技術(shù)解答、畢設(shè)幫助、開題指導(dǎo)print("Q 746876041")
隨著智能化時代的來臨, 無線互聯(lián)與智能化處理軟件的大面積普及。 傳統(tǒng)的就醫(yī)形式已經(jīng)通過網(wǎng)絡(luò)互聯(lián)科技而變得高效, 但是, 縱然在這種趨勢下, 老年人就醫(yī)依然面臨很多困境, 種種的原因?qū)е潞芏嗬夏耆送话l(fā)疾病但是沒能得多及時的救治。 老年智能手環(huán)主要致力于深入到整個救治老年人環(huán)節(jié)中, 促進(jìn)幾個關(guān)鍵人群的及時反應(yīng)、 智能互聯(lián)、 信息互通。 如何高效、 精準(zhǔn)、 相對簡潔的去實(shí)現(xiàn)種種義務(wù)之間的平衡, 包括子女對老人的贍養(yǎng)義務(wù), 在大批量救治病患的過程中, 醫(yī)生如何平衡好對每一個病人的義務(wù)。
隨著科學(xué)技術(shù)的革新,智能化生活已經(jīng)開始實(shí)現(xiàn),更多的人們的目光聚焦在智能化產(chǎn)品上面,一方面是對自身健康的關(guān)注,另一方面是對便攜輕松的生活的向往,智能手環(huán)就作為其中的一種代表性產(chǎn)物。其主要應(yīng)用于運(yùn)動顯示比如顯示行走及跑步的步數(shù),距離,速度。同時可以實(shí)時健康監(jiān)測比如心率,血氧,體溫等。是一款突出個性與人性的智能化產(chǎn)物。
本設(shè)計是由STM32F103C8T6最小系統(tǒng)電路,DS3231時鐘模塊,ADXL345計步模塊,MAX30100血氧心率模塊,DS18B20溫度模塊,MPU6050體位檢測模塊,1.44寸TFT彩色液晶屏顯示模塊組成的嵌入式智能手環(huán)系統(tǒng)。
(1)通過DS3231時鐘模塊實(shí)現(xiàn)日期顯示的功能
(2)使用傳感器ADXL345檢測人步數(shù)
(3)通過MAX30100傳感器實(shí)時檢測血氧心率;
(4)通過傳感器DS18B20進(jìn)行溫度測量。
(5)通過MPU6050體位檢測臥床病人是否跌倒或可以通過此功能蜂鳴器警報呼叫。
(6)通過1.44寸TFT彩色液晶屏實(shí)時顯示日期,步數(shù),距離,心率,血氧,跌倒?fàn)顟B(tài)以及溫度值。
STM32C8T6(最小核心板),當(dāng)然,用其他型號的32,如STM32ZET6也是可以的。
當(dāng)人體正常行走時, 合成加速度在 1g 至 2.5g 左右, 如下圖所示。 當(dāng)人體不論從何方向跌落時, 垂直方向的位置和速度都將會改變, 所以加速度和俯仰角也會隨著而變化。 如圖 4.7 中設(shè)置采樣頻率為 350Hz 并且可以看出圖中跌倒過程中各個方向加速度變化情況。 當(dāng)手環(huán)佩戴者跌落時, 整個過程持大約持續(xù)約 2 秒, 其加速度曲線變化是先減小然后增加, 最后穩(wěn)定。 可以得出結(jié)論, 墜落是一個暫時的過程, 在這個過程中, 測試者經(jīng)歷失重、 撞擊和靜止三個狀態(tài)。 在下降過程中, 合成加速度的最大值約為 2.6 g, 并且有 7 個連續(xù)采樣點(diǎn)的合成加速度為 2.0 g 或更多。 當(dāng)人摔倒時, 通過對人體姿態(tài)角的采樣, 人體的俯仰角和側(cè)翻角都會發(fā)生變化, 在跌倒后有一個或更多姿態(tài)角的絕對值大于 45°。
跌倒最開始的加速度會是最大的, 當(dāng)?shù)购笕说淖匀环磻?yīng)會讓加速度有所減小,所以跌倒有兩個閾值, 第一個閾值較大為觸發(fā)閾值, 第二個閥組為持續(xù)閾值, 然后在50 個周期內(nèi)計時, 是否有 80%時間為大于第二個跌倒閾值的, 有這兩個持續(xù)過程則判定為跌倒, 否則丟棄跌倒判定數(shù)據(jù), 跌倒流程圖如上圖。
if(adxl345_flag == 1) { adxl345_flag = 0; Multiple_Byte_Read(0x32);//采樣 sampling_cnt++;//采樣次數(shù) sampling_cnt0++;/*-------------------平均濾波算法-----------------*/ for(i=0;i<3;i++)//0->x 1->y 2->z { reg_buf3[i] = reg_buf2[i]; reg_buf2[i] = reg_buf1[i]; reg_buf1[i] = reg_buf0[i]; reg_buf0[i] = (buf[2*i+1] << 8) + buf[2*i];//數(shù)據(jù)合成 filter_out[i] = (reg_buf0[i] + reg_buf1[i] + reg_buf2[i] +reg_buf3[i])/4; if(filter_max[i] < filter_out[i]) filter_max[i] = filter_out[i]; if(filter_min[i] > filter_out[i]) filter_min[i] = filter_out[i]; }/*-------------------動態(tài)閾值和動態(tài)精度算法------------------*/ if(sampling_cnt == 50) { sampling_cnt = 0; /*printf("cnt:%ldms/r/n",cnt);//50次測量所用的時間 cnt=0;*/ //printf("interval:%ld/r/n",interval); for(i=0;i<3;i++) { Vpp[i] = filter_max[i] - filter_min[i];//計算雙峰值 Dynamic_threshold[i] = (filter_max[i] + filter_min[i])/2;//計算動態(tài)閾值 filter_max[i] = 0;//重新初始各軸的最大、最小值 filter_min[i] = 4095; Error_flag[i] = 0; //>100 if(Vpp[i] >= 250) Dynamic_precision[i] = Vpp[i]/50;//跑步 else if( (Vpp[i] >= 100) && (Vpp[i]<250) ) Dynamic_precision[i] = 3;//走路 else {Dynamic_precision[i] = 2;Error_flag[i] = 1;} } }/*------------------線性移位 消除高頻噪聲--------------------*/ for(i=0;i<3;i++) { sample_old[i] = sample_new[i]; if(filter_out[i] >= sample_new[i]) { if((filter_out[i] - sample_new[i]) > Dynamic_precision[i]) sample_new[i] = filter_out[i]; } else if(filter_out[i] < sample_new[i]) { if((sample_new[i] - filter_out[i]) > Dynamic_precision[i]) sample_new[i] = filter_out[i]; } }/*--------------------最大峰值檢測,判斷活躍軸,步伐判斷----------------*///sample_new < Dynamic_threshold 表示已邁過動態(tài)閾值下方//sample_new - sample_old < 0 表示加速度的變化小于0,斜率為負(fù)數(shù) if( (Vpp[0] >= Vpp[1]) && (Vpp[0] >= Vpp[2]) ) //x軸活躍 { if( (sample_old[0] > Dynamic_threshold[0]) && (sample_new[0] < Dynamic_threshold[0]) && (Error_flag[0] == 0) ) { if( (interval > 10 ) && ( interval < 100 ) ) { Step_Out+=1; regulation3 = regulation2; regulation2 = regulation1; regulation1 = regulation0; regulation0 = 1; if( regulation3 && regulation2 && regulation1 && regulation0 ) printf("Step:%d/r/n",Step_Out); } else { regulation3 = 0; regulation2 = 0; regulation1 = 0; regulation0 = 0; } interval = 0; } } else if( (Vpp[1] >= Vpp[0]) && (Vpp[1] >= Vpp[2]) ) //y軸活躍 { if( (sample_old[1] > Dynamic_threshold[1]) && (sample_new[1] < Dynamic_threshold[1]) && (Error_flag[1] == 0) ) { /*----------時間窗口--------*/ if( (interval > 10 ) && ( interval < 100 ) ) { Step_Out+=1; /*-----------計數(shù)規(guī)則--------------*/ regulation3 = regulation2; regulation2 = regulation1; regulation1 = regulation0; regulation0 = 1; if( regulation3 && regulation2 && regulation1 && regulation0 ) printf("Step:%d/r/n",Step_Out); } else { regulation3 = 0; regulation2 = 0; regulation1 = 0; regulation0 = 0; } interval = 0; } } else if( (Vpp[2] >= Vpp[0]) && (Vpp[2] >= Vpp[1]) ) //z軸活躍 { if( (sample_old[2] > Dynamic_threshold[2]) && (sample_new[2] < Dynamic_threshold[2]) && (Error_flag[2] == 0) ) { if( (interval > 10 ) && ( interval < 100 ) ) { Step_Out+=1; regulation3 = regulation2; regulation2 = regulation1; regulation1 = regulation0; regulation0 = 1; if( regulation3 && regulation2 && regulation1 && regulation0 ) printf("Step:%d/r/n",Step_Out); } else { regulation3 = 0; regulation2 = 0; regulation1 = 0; regulation0 = 0; } interval = 0; } } //printf("Step:%d/r/n",Step_Out); /*------速度 距離 卡路里-----*/ if(sampling_cnt0 == 100) { i_cnt++; sampling_cnt0 = 0; m_nPedometerValue = Step_Out; Dynamic_step = m_nPedometerValue - m_nLastPedometer;//2s的步數(shù)變化 /*---每步距離----*/ if( Dynamic_step == 1 ) //身高取 170cm = 1.70m StepLen = 1.70/5; else if( Dynamic_step == 2 ) StepLen = 1.70/4; else if( Dynamic_step == 3 ) StepLen = 1.70/3; else if( Dynamic_step == 4 ) StepLen = 1.70/2; else if( Dynamic_step == 5 ) StepLen = 1.70/1.2; else if( ( Dynamic_step >= 6 ) && ( Dynamic_step < 8 ) ) StepLen = 1.70; else if( Dynamic_step >= 8 ) StepLen = 1.70*1.2; Speed = StepLen/2; calories = Speed * weight/400; printf("Dynamic_step:%d/t",Dynamic_step); m_nLastPedometer = m_nPedometerValue; printf("StepLen:%.3f/t",StepLen); printf("Speed:%.3f/t",Speed); printf("calories:%.3f/r/n",calories); }}
技術(shù)解答、畢設(shè)幫助、開題指導(dǎo)print("Q 746876041")
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/125314.html
摘要:基于開發(fā)的軟件包導(dǎo)師汪禮超學(xué)員崔林威摘要騰訊物聯(lián)網(wǎng)操作系統(tǒng)是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開發(fā)的實(shí)時操作系統(tǒng),具有低功耗,低資源占用,模塊化,可裁剪等特性。圖中斷函數(shù)處理進(jìn)行生成工程配置,按如下界面進(jìn)行配置,最后點(diǎn)擊,并點(diǎn)擊。 ...
摘要:中控部分采用了單片機(jī),其主要作用是獲取輸入部分?jǐn)?shù)據(jù),經(jīng)過內(nèi)部處理,控制輸出部分。 設(shè)計簡介: 本設(shè)計是基于單片機(jī)的智能家居控制系統(tǒng),主要實(shí)現(xiàn)以下功能: 可通過DS18B20實(shí)時測量環(huán)境溫度溫度具有上下限,自動模式下溫度超出限值,GMS發(fā)送短信溫度上下限通過手機(jī)藍(lán)牙設(shè)置系統(tǒng)可通過手機(jī)藍(lán)牙、紅外...
摘要:年末,年即將走進(jìn)尾聲,忙碌了一年準(zhǔn)備給家里人買一份禮物,這些天看了很多產(chǎn)品,最終選定了小米智能手環(huán)。 年末,2021年即將走進(jìn)尾聲,忙碌了一年準(zhǔn)備給家里人買一份禮物...
摘要:所以我必須基于自己現(xiàn)在的情況走出一條適合自己情況的成長路線。下位機(jī)上位機(jī)的思想下位機(jī)上位機(jī)這就是我自己探索出來的技術(shù)成長路線。對和嵌入式的朋友感興趣的朋友可以試一下我這條學(xué)習(xí)路線 ...
摘要:蘿卜教育致力于為青少年和創(chuàng)客愛好者提供開源硬件產(chǎn)品系列開發(fā)板以及零配件產(chǎn)品。致力于成為中國專業(yè)的青少年學(xué)科編程教育品牌,立足青少年學(xué)科編程培訓(xùn),給孩子一個新的思考方式,讓中國青少年與世界同步 2019年3月,教育部發(fā)布《2019年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》,推動在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育。其實(shí)早在2017年,我國就將少兒編程納入到國務(wù)院發(fā)展規(guī)劃中,作為國家級...
摘要:實(shí)踐證明,加上穩(wěn)定可靠的外圍電路和抗干擾電源,以為核心的產(chǎn)品能成功應(yīng)用于苛刻的工業(yè)環(huán)境,使開源硬件和開發(fā)平臺得到更廣泛的應(yīng)用,產(chǎn)品多樣性遠(yuǎn)遠(yuǎn)高于官方開發(fā)板,是學(xué)習(xí)的首選。 說到MicroPython,也許有人會感到陌生。而說到和它密切相關(guān)的Python,是否會恍然大悟呢?Python屬于解釋型語言,1989年才開發(fā)完成的Python顯然非常年輕。然而經(jīng)過數(shù)十年的磨礪,如今Python已...
閱讀 3735·2023-01-11 11:02
閱讀 4244·2023-01-11 11:02
閱讀 3050·2023-01-11 11:02
閱讀 5180·2023-01-11 11:02
閱讀 4737·2023-01-11 11:02
閱讀 5534·2023-01-11 11:02
閱讀 5313·2023-01-11 11:02
閱讀 3986·2023-01-11 11:02