找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
樓主: eagler8
打印 上一主題 下一主題
收起左側(cè)

【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)

  [復(fù)制鏈接]
2041#
ID:513258 發(fā)表于 2019-9-2 18:51 | 只看該作者

回復(fù)

使用道具 舉報

2042#
ID:513258 發(fā)表于 2019-9-2 18:56 | 只看該作者

回復(fù)

使用道具 舉報

2043#
ID:513258 發(fā)表于 2019-9-2 19:11 | 只看該作者

回復(fù)

使用道具 舉報

2044#
ID:513258 發(fā)表于 2019-9-2 20:38 | 只看該作者

回復(fù)

使用道具 舉報

2045#
ID:513258 發(fā)表于 2019-9-2 20:39 | 只看該作者

回復(fù)

使用道具 舉報

2046#
ID:513258 發(fā)表于 2019-9-2 20:41 | 只看該作者

回復(fù)

使用道具 舉報

2047#
ID:513258 發(fā)表于 2019-9-2 20:43 | 只看該作者

回復(fù)

使用道具 舉報

2048#
ID:513258 發(fā)表于 2019-9-2 20:44 | 只看該作者

回復(fù)

使用道具 舉報

2049#
ID:513258 發(fā)表于 2019-9-2 20:45 | 只看該作者

回復(fù)

使用道具 舉報

2050#
ID:513258 發(fā)表于 2019-9-3 10:32 | 只看該作者
37款傳感器與模塊的提法,在網(wǎng)絡(luò)上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百零四: MAX30102血氧儀手腕心率脈搏檢測心跳傳感器模塊



回復(fù)

使用道具 舉報

2051#
ID:513258 發(fā)表于 2019-9-3 10:34 | 只看該作者

MAX31020
是一種綜合性脈搏血氧測定法,心率監(jiān)測模塊。它包括內(nèi)部LED,光電探測器、光學元件和低噪聲電子設(shè)備具有環(huán)境光抑制功能。max30102提供了完整的系統(tǒng)解決方案,簡化流程設(shè)計適用于移動和可穿戴設(shè)備。MAX31020在單個1.8V電源上工作為內(nèi)部LED提供單獨的5.0V電源。通信通過標準I2c兼容接口。模塊可以通過軟件關(guān)閉零備用電流,允許電源軌始終保持通電。


應(yīng)用
●可穿戴設(shè)備
●健身輔助設(shè)備
回復(fù)

使用道具 舉報

2052#
ID:513258 發(fā)表于 2019-9-3 10:37 | 只看該作者

回復(fù)

使用道具 舉報

2053#
ID:513258 發(fā)表于 2019-9-3 10:44 | 只看該作者
優(yōu)點和特點
●心率監(jiān)測器和脈搏血氧計傳感器輸入LED反射溶液
●微型5.6毫米x 3.3毫米x 1.55毫米14針光學模塊
•集成的蓋玻片提供最佳、堅固的
●移動設(shè)備超低功率運行
•可編程采樣率和LED電流節(jié)電
•低功率心率監(jiān)測器(<1兆瓦)
•超低停機電流(0.7μA,典型值)
●快速數(shù)據(jù)輸出能力
•采樣率高
●強大的運動偽影復(fù)原能力
•高信噪比
-40°C至+85°C工作溫度范圍




回復(fù)

使用道具 舉報

2054#
ID:513258 發(fā)表于 2019-9-3 10:46 | 只看該作者

回復(fù)

使用道具 舉報

2055#
ID:513258 發(fā)表于 2019-9-3 10:48 | 只看該作者

回復(fù)

使用道具 舉報

2056#
ID:513258 發(fā)表于 2019-9-3 10:50 | 只看該作者

回復(fù)

使用道具 舉報

2057#
ID:513258 發(fā)表于 2019-9-3 10:51 | 只看該作者

回復(fù)

使用道具 舉報

2058#
ID:513258 發(fā)表于 2019-9-3 10:52 | 只看該作者

回復(fù)

使用道具 舉報

2059#
ID:513258 發(fā)表于 2019-9-3 10:54 | 只看該作者

回復(fù)

使用道具 舉報

2060#
ID:513258 發(fā)表于 2019-9-3 10:54 | 只看該作者

回復(fù)

使用道具 舉報

2061#
ID:513258 發(fā)表于 2019-9-3 14:33 | 只看該作者

模塊有兩個發(fā)光二極管,一個光檢測器,優(yōu)化光學和低噪聲的仿真信號處理,以檢測脈搏血氧飽和度和心臟速率信號。
1、只需要將手指頭緊貼在傳感器上,就能估計 脈搏血氧飽和度(SpO2)及脈搏(相當于心跳)。
2、攜帶氧氣的紅血球能吸收較多紅外光(850-1000nm),未攜帶氧氣的紅血球則是吸收較多的紅光(600-750nm)。
3、因此pulse oximeter就是一個迷你的分光計,利用不同紅血球之吸收光譜的原理,來分析血氧飽和度。
4、這種實時而快速的測量方式,也廣泛被運用在許多臨床的參考。

回復(fù)

使用道具 舉報

2062#
ID:513258 發(fā)表于 2019-9-3 14:44 | 只看該作者
模塊電原理圖




回復(fù)

使用道具 舉報

2063#
ID:513258 發(fā)表于 2019-9-3 14:48 | 只看該作者

回復(fù)

使用道具 舉報

2064#
ID:513258 發(fā)表于 2019-9-3 14:50 | 只看該作者

回復(fù)

使用道具 舉報

2065#
ID:513258 發(fā)表于 2019-9-3 14:52 | 只看該作者

回復(fù)

使用道具 舉報

2066#
ID:513258 發(fā)表于 2019-9-3 14:54 | 只看該作者

經(jīng)過多方尋找,從一個研究MAX30102算法的程序中找到了一個經(jīng)過親自驗證有效的實際血氧標定計算公式:

                           SpO2=-45.060*R*R+ 30.354 *R + 94.845

其中的R可以通過紅光和紅外光光強的對數(shù)值計算得到,這個標定表達式實際上是對血氧飽和度的二次曲線擬合,是經(jīng)過測量得到的。最后終于可以輸出血氧飽和度數(shù)據(jù)了。

回復(fù)

使用道具 舉報

2067#
ID:513258 發(fā)表于 2019-9-3 15:03 | 只看該作者



回復(fù)

使用道具 舉報

2068#
ID:513258 發(fā)表于 2019-9-3 15:05 | 只看該作者

回復(fù)

使用道具 舉報

2069#
ID:513258 發(fā)表于 2019-9-3 15:07 | 只看該作者
應(yīng)用
輔助健身設(shè)備
智能電話
平板電腦
可穿戴設(shè)備



回復(fù)

使用道具 舉報

2070#
ID:513258 發(fā)表于 2019-9-3 15:10 | 只看該作者

回復(fù)

使用道具 舉報

2071#
ID:513258 發(fā)表于 2019-9-3 15:36 | 只看該作者
與Pulse sensor這種傳感器(具體見系列實驗之95)相比,MAX30102的有點在于:
1.集成度高:MAX30102將兩個發(fā)光LED、光電檢測二極管、ADC、環(huán)境光抑制電路和光學機械外殼都集成在了一起,形成了一個完整模塊。這樣的優(yōu)勢就是體積小、能耗小、外界干擾小,易于集成系統(tǒng)。
2.數(shù)字輸出:MAX30102本身自帶18位高精度ADC,使用I2C接口與外接MCU通信。而且自身還有FIFO,可以減輕MCU負擔,降低功耗。
3.功能豐富:MAX30102集成了LED驅(qū)動電路,可以根據(jù)不同情況調(diào)節(jié)LED電流,采樣率也可以根據(jù)不同應(yīng)用進行選擇。此外還集成了片上溫度傳感器,可以隨時監(jiān)測片上溫度(對血氧飽和度計算有用)。
       正是有以上一些優(yōu)點,現(xiàn)在的模擬集成前端(AFE)都走向了集成化、小型化、數(shù)字化的方向,模擬電路的門檻越來越低了。



回復(fù)

使用道具 舉報

2072#
ID:513258 發(fā)表于 2019-9-3 18:08 | 只看該作者
MAX30102的發(fā)光部分包括兩個LED,一個是紅光LED(660nm),另一個是紅外光LED(880nm),這個是測量血氧飽和度SPO2最常見的配置。接收部分是一個對可見光和紅外光都敏感的光電二極管,其接收的光強度信號轉(zhuǎn)換為電流信號,經(jīng)過環(huán)境光消除電路后,最后被自帶的18位ADC進行采樣轉(zhuǎn)化,至此模擬部分完成。AD轉(zhuǎn)化后的數(shù)字經(jīng)過數(shù)字濾波后儲存在數(shù)據(jù)寄存器中,最后可通過I2C總線被外接MCU讀取。在硬件上,LED的電源和其他部分的電源不是同一個,因為LED為了保證足夠的出射光強,需要瞬間大電流(最大50ma),這就要求LED的正向電壓足夠大(要求3.1V以上)。而其余的AD轉(zhuǎn)換和I2C總線部分,為了實現(xiàn)低功耗要求電壓足夠。ㄒ1.8V),所以傳感器需要兩路獨立的電源。此外,由于LED電源會產(chǎn)生瞬間大電流,所以電源引腳附近要加一個大電容減輕對電源電壓的影響。
傳統(tǒng)的脈搏測量方法主要有三種:一是從心電信號中提。欢菑臏y量血壓時壓力傳感器測到的波動來計算脈率;三是光電容積法。前兩種方法提取信號都會限制病人的活動,如果長時間使用會增加病人生理和心理上的不舒適感。而光電容積法脈搏測量作為監(jiān)護測量中最普遍的方法之一,其具有方法簡單、佩戴方便、可靠性高等特點。

光電容積法的基本原理是利用人體組織在血管搏動時造成透光率不同來進行脈搏和血氧飽和度測量的。其使用的傳感器由光源和光電變換器兩部分組成,通過綁帶或夾子固定在病人的手指、手腕或耳垂上。光源一般采用對動脈血中氧合血紅蛋白(HbO2)和去氧血紅蛋白(Hb)有選擇性的特定波長的發(fā)光二極管(一般選用660nm附近的紅光和900nm附近的紅外光)。當光束透過人體外周血管,由于動脈搏動充血容積變化導(dǎo)致這束光的透光率發(fā)生改變,此時由光電變換器接收經(jīng)人體組織反射的光線,轉(zhuǎn)變?yōu)殡娦盘柌⑵浞糯蠛洼敵。由于脈搏是隨心臟的搏動而周期性變化的信號,動脈血管容積也呈現(xiàn)周期性變化,因此光電變換器的電信號變化周期就是脈搏率。





回復(fù)

使用道具 舉報

2073#
ID:513258 發(fā)表于 2019-9-3 18:24 | 只看該作者
  1. /*
  2. 【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百零四: MAX30102血氧儀手腕心率脈搏檢測心跳傳感器模塊
  4. 1、安裝庫:IDE-工具-管理庫-搜索“MAX30105”-安裝
  5. 2、項目:串口讀取測量數(shù)據(jù)
  6. 3、連線(I2C):
  7. VIN  → 3.3V
  8. GND  →  GND
  9. SDA  接 A4
  10. SCL  接 A5
  11. */

  12. #include <Wire.h>
  13. #include "MAX30105.h"
  14. #include "heartRate.h"

  15. MAX30105 particleSensor;

  16. const byte RATE_SIZE = 4; //Increase this for more averaging. 4 is good.
  17. byte rates[RATE_SIZE]; //Array of heart rates
  18. byte rateSpot = 0;
  19. long lastBeat = 0; //Time at which the last beat occurred

  20. float beatsPerMinute;
  21. int beatAvg;

  22. void setup()
  23. {
  24.   Serial.begin(115200);
  25.   Serial.println("Initializing...");

  26.   // Initialize sensor
  27.   if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) //Use default I2C port, 400kHz speed
  28.   {
  29.     Serial.println("MAX30105 was not found. Please check wiring/power. ");
  30.     while (1);
  31.   }
  32.   
  33.   Serial.println("Place your index finger on the sensor with steady pressure.");

  34.   particleSensor.setup(); //Configure sensor with default settings
  35.   particleSensor.setPulseAmplitudeRed(0x0A); //Turn Red LED to low to indicate sensor is running
  36.   particleSensor.setPulseAmplitudeGreen(0); //Turn off Green LED
  37. }

  38. void loop()
  39. {
  40.   long irValue = particleSensor.getIR();

  41.   if (checkForBeat(irValue) == true)
  42.   {
  43.     //We sensed a beat!
  44.     long delta = millis() - lastBeat;
  45.     lastBeat = millis();

  46.     beatsPerMinute = 60 / (delta / 1000.0);

  47.     if (beatsPerMinute < 255 && beatsPerMinute > 20)
  48.     {
  49.       rates[rateSpot++] = (byte)beatsPerMinute; //Store this reading in the array
  50.       rateSpot %= RATE_SIZE; //Wrap variable

  51.       //Take average of readings
  52.       beatAvg = 0;
  53.       for (byte x = 0 ; x < RATE_SIZE ; x++)
  54.         beatAvg += rates[x];
  55.       beatAvg /= RATE_SIZE;
  56.     }
  57.   }

  58.   Serial.print("IR=");
  59.   Serial.print(irValue);
  60.   Serial.print(", BPM=");
  61.   Serial.print(beatsPerMinute);
  62.   Serial.print(", Avg BPM=");
  63.   Serial.print(beatAvg);
  64.   Serial.println();
  65.   delay(1000);
  66. }
復(fù)制代碼


回復(fù)

使用道具 舉報

2074#
ID:513258 發(fā)表于 2019-9-3 18:29 | 只看該作者
Initializing...
Place your index finger on the sensor with steady pressure.
正在初始化…
將食指穩(wěn)定地放在傳感器上。
(初始化后的串口數(shù)據(jù)-未放上手指)




回復(fù)

使用道具 舉報

2075#
ID:513258 發(fā)表于 2019-9-3 18:33 | 只看該作者


放上手指,只有一組數(shù)據(jù),比較平穩(wěn)估計是血氧值,大約95%
回復(fù)

使用道具 舉報

2076#
ID:513258 發(fā)表于 2019-9-3 19:04 | 只看該作者

回復(fù)

使用道具 舉報

2077#
ID:513258 發(fā)表于 2019-9-4 06:54 | 只看該作者
37款傳感器與模塊的提法,在網(wǎng)絡(luò)上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百零五:12位 WS2812 5050 RGB LED 智能全彩RGB環(huán)開發(fā)板大環(huán)




回復(fù)

使用道具 舉報

2078#
ID:513258 發(fā)表于 2019-9-4 07:40 | 只看該作者

WS2812B
是一種將控制電路和rgb芯片集成在一起的智能控制led光源。5050組件的包裝。內(nèi)部包括智能數(shù)字端口數(shù)據(jù)鎖存和信號整形放大驅(qū)動電路。還包括精密內(nèi)部振蕩器和12V電壓可編程恒流控制部分,有效保證了像素點光色高度一致。數(shù)據(jù)傳輸協(xié)議采用單NZR通信方式。像素上電復(fù)位后,DIN端口接收數(shù)據(jù)來自控制器,第一個像素收集初始24位數(shù)據(jù),然后發(fā)送到內(nèi)部數(shù)據(jù)鎖存器,其他數(shù)據(jù)由內(nèi)部信號整形放大電路通過DO端口發(fā)送到下一個級聯(lián)像素進行整形。后對于每個像素的傳輸,信號要減少24位。像素采用自動整形傳輸技術(shù),使像素級聯(lián)數(shù)不受信號傳輸?shù)南拗疲蝗Q于信號傳輸?shù)乃俣。?fù)位時間>280μs,中斷時不會造成誤復(fù)位,支持較低頻率,價格低廉單片機。刷新頻率更新到2kHz,畫面頻率低,高清攝像機無閃爍,提高出色的展示效果。LED具有驅(qū)動電壓低、環(huán)保節(jié)能、亮度高、散射角大、一致性好、功率低、壽命長等優(yōu)點。集成在led上的控制芯片越來越多電路簡單,體積小,安裝方便。

回復(fù)

使用道具 舉報

2079#
ID:513258 發(fā)表于 2019-9-4 08:02 | 只看該作者

回復(fù)

使用道具 舉報

2080#
ID:513258 發(fā)表于 2019-9-4 08:04 | 只看該作者

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表