在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32物聯網開發板(7)--心率血氧采集MAX30102

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2023-05-24 11:10 ? 次閱讀

1.概述

MAX30102是一種集成的脈搏血氧計心率監測模塊。它包括內部LED光電探測器光學元件和低噪聲電子器件具有環境光抑制。MAX30102提供簡化設計過程的完整系統解決方案用于移動和可穿戴設備。

MAX30102在單個1.8V電源上運行以及用于內部LED的單獨3.3V電源。通信通過標準I2C兼容。

MAX30102的SpO2(經皮動脈血氧飽和度)子系統包含環境光消除(ALC),連續時間∑-ΔADC和專有的離散時間濾波器。ALC有內部跟蹤/保持電路,用于消除環境光,以及增加有效動態范圍。SpO2 ADC具有可編程滿量程范圍從2μA到16μA。這個ALC可抵消高達200μA的環境電流。內部ADC是連續時間過采樣∑-Δ轉換器,分辨率為18位。ADC采樣率為10.24MHz。ADC輸出數據速率可以從50sps(每秒采樣)編程到3200sps。

MAX30102具有片上溫度傳感器,用于校準SpO2子系統的溫度依賴性。溫度傳感器的固有分辨率為0.0625°C。設備輸出數據對IR LED的波長相對不敏感,其中紅色LED的波長對于正確解釋數據至關重要。與MAX30102輸出信號一起使用的SpO2算法可以補償與環境溫度變化相關的SpO2誤差。

MAX30102模塊集成了紅色和紅外LED驅動器,以調制用于SpO2和HR測量的LED脈沖。使用適當的電源電壓,LED電流可以從0編程到50mA。LED脈沖寬度可從69μs編程到411μs,以允許算法根據使用情況優化SpO2和HR精度和功耗。

應用

pYYBAGRjOomAB14PAABglh52fT8692.pngpoYBAGRjOp-ANiqAAAUcknd1-kQ527.png

硬件接口

引腳

說明

MAX30102_INT

PC9信號檢測

MAX30102_SDA

PC7 I2C數據線

MAX30102_SCL

PC8 I2C時鐘

2.通訊協議

本模塊采用I2C通訊方式,具有I2C/SMBus兼容的2線制由串行數據線(SDA)和串行時鐘線(SCL),時鐘速率高達400kHz。

  • 設備地址:
poYBAGRtfI2APRNAAABGGNsJ_xc497.png
  • I2C接口時序:
poYBAGRtfNuADb53AAApVDPk4g4781.png

2.1 起始信號和停止信號

  • 起始信號:時鐘為高電平時,數據由高電平變為低電平。
//產生IIC起始信號
void IIC_Start(void)
{
	SDA_OUT();     //sda線輸出
	IIC_SDA(1);	  	  
	IIC_SCL(1);
	Delay_Us(4);
 	IIC_SDA(0);//START:when CLK is high,DATA change form high to low 
	Delay_Us(4);
	IIC_SCL(0);//鉗住I2C總線,準備發送或接收數據 
}	  
  • 停止信號:時鐘線為高電平時,數據線由低變高。
//產生IIC停止信號
void IIC_Stop(void)
{
	SDA_OUT();//sda線輸出
	IIC_SCL(0);
	IIC_SDA(0);//STOP:when CLK is high DATA change form low to high
 	Delay_Us(4);
	IIC_SCL(1); 
	IIC_SDA(1);//發送I2C總線結束信號
	Delay_Us(4);							   	
}

2.2 發送數據和發送應答

時鐘線為低電平時發送數據。應答信號本身就是一位數據。

//產生ACK應答
void IIC_Ack(void)
{
	IIC_SCL(0);
	SDA_OUT();
	IIC_SDA(0);
	Delay_Us(2);
	IIC_SCL(1);
	Delay_Us(2);
	IIC_SCL(0);
}
//不產生ACK應答		    
void IIC_NAck(void)
{
	IIC_SCL(0);
	SDA_OUT();
	IIC_SDA(1);
	Delay_Us(2);
	IIC_SCL(1);
	Delay_Us(2);
	IIC_SCL(0);
}	
//IIC發送一個字節
		  
void IIC_Send_Byte(u8 txd)
{                        
    u8 t;   
	SDA_OUT(); 	    
    IIC_SCL(0);//拉低時鐘開始數據傳輸
    for(t=0;t<8;t++)
    {   
      if(txd&0x80)IIC_SDA(1);
      else IIC_SDA(0);
      txd<<=1; 	  
      Delay_Us(2);   
      IIC_SCL(1);
      Delay_Us(2); 
      IIC_SCL(0);	
      Delay_Us(2);
    }	 
}

2.3 讀取數據和讀取應答

時鐘線為高時讀取數據。應答信號本身就是一位數據。

//等待應答信號到來
//返回值:1,接收應答失敗
//        0,接收應答成功
u8 IIC_Wait_Ack(void)
{
	u8 ucErrTime=0;
	SDA_IN();      //SDA設置為輸入  
	IIC_SDA(1);Delay_Us(1);	   
	IIC_SCL(1);Delay_Us(1);	 
	while(READ_SDA)
	{
		ucErrTime++;
		if(ucErrTime>250)
		{
			IIC_Stop();
			return 1;
		}
	}
	IIC_SCL(0);//時鐘輸出0 	   
	return 0;  
} 
//讀1個字節,ack=1時,發送ACK,ack=0,發送nACK   
u8 IIC_Read_Byte(unsigned char ack)
{
  unsigned char i,receive=0;
  SDA_IN();//SDA設置為輸入
  for(i=0;i<8;i++ )
  {
    IIC_SCL(0); 
    Delay_Us(2);
    IIC_SCL(1);
    receive<<=1;
    if(READ_SDA)receive++;   
    Delay_Us(1); 
  }					 
  if (!ack)
  IIC_NAck();//發送nACK
  else
  IIC_Ack(); //發送ACK   
  return receive;
}

2.4 數據讀寫

void IIC_Read_One_Byte(u8 daddr,u8 addr,u8* data)
{				  	  	    																 
  IIC_Start();  
	IIC_Send_Byte(daddr);	   //發送寫命令
	IIC_Wait_Ack();
	IIC_Send_Byte(addr);//發送地址
	IIC_Wait_Ack();		 
	IIC_Start();  	 	   
	IIC_Send_Byte(daddr|0X01);//進入接收模式			   
	IIC_Wait_Ack();	 
  *data = IIC_Read_Byte(0);		   
  IIC_Stop();//產生一個停止條件	    
}

void IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data)
{				   	  	    																 
  IIC_Start();  
	IIC_Send_Byte(daddr);	    //發送寫命令
	IIC_Wait_Ack();
	IIC_Send_Byte(addr);//發送地址
	IIC_Wait_Ack();	   	 										  		   
	IIC_Send_Byte(data);     //發送字節							   
	IIC_Wait_Ack();  		    	   
  IIC_Stop();//產生一個停止條件 
	HAL_Delay(10);	 
}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2551

    文章

    51089

    瀏覽量

    753475
  • 物聯網
    +關注

    關注

    2909

    文章

    44631

    瀏覽量

    373249
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    355927
  • 開發板
    +關注

    關注

    25

    文章

    5048

    瀏覽量

    97442
  • 血氧計
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7669
收藏 人收藏

    評論

    相關推薦

    有人用過MAX30102么,

    max30102的一個心率,檢測模塊,
    發表于 06-01 20:10

    max30102心率傳感器

    請問有人用過max30102傳感器么? 手冊里面有個Proximity Function 功能。大概意思就是 設置完模式后,設備會
    發表于 07-24 15:42

    MAX30102脈搏模塊AT指令串口輸出

    `MAX30102脈搏模塊AT指令串口輸出芯片說明MAX30102是一個集成的脈搏儀和
    發表于 03-10 17:14

    MAX30102調試遇到問題

    MAX30102測試手指的心率的時候,數據比較穩定,我們想測量額頭的
    發表于 03-24 23:15

    MAX30102模塊的原理及編程 精選資料分享

    一.簡介MAX30102是一個集成的脈搏儀和心率監測儀生物傳感器的模塊(芯片)。它集成了一個660nm紅光LED、880nm紅外光LED、光電檢測器、光器件,以及帶環境光抑制的低噪
    發表于 07-19 09:15

    MAX30100和MAX30102是什么

    MAX30100和MAX30102是常用的測量心率的模塊,MAX30100是能夠讀取心率
    發表于 08-03 06:37

    STM32是如何去MAX30102心率傳感器的

    STM32F103單片機通過IIC控制MAX30102心率傳感器MAX30102的VCC引腳
    發表于 08-19 08:33

    基于MAX30100/MAX30102傳感器設計的心率檢測相關資料分享

    基于美信MAX30100/MAX30102傳感器設計的心率檢測,以單片機STM32F103
    發表于 11-10 07:27

    心率MAX30102模塊資料分享

    心率MAX30102模塊資料話不多說,
    發表于 01-07 08:02

    基于MAX30102心率傳感器設計

    最近的一個項目需要用到一款心率傳感器,選型選擇了MAX30102,可以在ArduinoIDE中搜到MAX3010X庫,包含了簡單讀取、
    發表于 01-13 06:24

    MAX30102脈搏儀和心率監測模塊的數據手冊免費下載

    MAX30102是一個集成的脈搏儀和心率監測模塊。它包括內部發光二極管,光電探測器,光學元件,以及低噪音的電子設備。MAX30102提供
    發表于 04-13 08:00 ?0次下載
    <b class='flag-5'>MAX30102</b>脈搏<b class='flag-5'>血</b><b class='flag-5'>氧</b>儀和<b class='flag-5'>心率</b>監測模塊的數據手冊免費下載

    MAX30102脈搏儀和心率監測模塊的中文數據手冊免費下載

    MAX30102是一個集成的脈搏儀和心率監測模塊。它包括內部發光二極管,光電探測器,光學元件,以及低噪音的電子設備。MAX30102提供
    發表于 06-11 08:00 ?139次下載
    <b class='flag-5'>MAX30102</b>脈搏<b class='flag-5'>血</b><b class='flag-5'>氧</b>儀和<b class='flag-5'>心率</b>監測模塊的中文數據手冊免費下載

    高靈敏度脈搏儀和心率傳感器max30102說明書

    高靈敏度脈搏儀和心率傳感器max30102說明書
    發表于 11-16 17:05 ?74次下載

    DFRobot心率傳感器有哪些,心率傳感器的原理

    DFRobot Gravity: MAX30102 心率傳感器模塊搭載了美信(maxim)的MAX30102
    的頭像 發表于 02-22 16:27 ?5593次閱讀
    DFRobot<b class='flag-5'>心率</b><b class='flag-5'>血</b><b class='flag-5'>氧</b>傳感器有哪些,<b class='flag-5'>心率</b><b class='flag-5'>血</b><b class='flag-5'>氧</b>傳感器的原理

    基于MAX30102模塊的心率測量儀

    項目采用MAX30102心率監視模塊、Arduino UNO、OLED顯示器和蜂鳴器,搭建了一個簡單的
    發表于 04-11 10:44 ?4785次閱讀
    基于<b class='flag-5'>MAX30102</b>模塊的<b class='flag-5'>心率</b>測量儀
    主站蜘蛛池模板: 久久精品香蕉视频| 丁香婷婷在线| 四虎影院海外永久| 涩涩涩丁香色婷五月网视色| 米奇色影院| 日不卡在线| 男女免费观看视频| 亚洲大尺度视频| 黄的三级在线播放| 午夜一级毛片看看| 国产午夜精品一区二区三区| 中文在线天堂网| 国产一区二区三区美女在线观看| 免费一级片在线观看| 久色tv| 四虎永久在线精品视频免费观看| 免费国产在线视频| 5151四虎永久在线精品免费| 日本免费人成黄页在线观看视频| 欧美视频不卡一区二区三区| 免费在线成人| 久久天天躁夜夜躁狠狠躁2020| 不卡免费在线视频| 精品99久久| 91md天美精东蜜桃传媒在线| 韩漫免费网站无遮挡羞羞漫画| 免费手机黄色网址| 久久综合色88| 亚洲成a人片7777| 97影院理论| 午夜精品久久久久久久第一页| 女人张开腿让男人做爽爽| 可以免费播放的在线视频| 亚洲成人在线网站| 5月丁香6月婷婷| 美女扒开尿口给男人爽的视频| 激情综合网激情| 高清性欧美xxx| 色婷婷综合在线| 色片视频网站| 亚洲香蕉毛片久久网站老妇人|