{"id":3027,"date":"2020-05-04T10:09:04","date_gmt":"2020-05-04T01:09:04","guid":{"rendered":"https:\/\/androiphone.uvs.jp\/?p=3027"},"modified":"2024-06-13T00:19:54","modified_gmt":"2024-06-12T15:19:54","slug":"esp8266max30102-max30102%e3%81%a7%e3%83%91%e3%83%ab%e3%82%b9%e3%82%aa%e3%82%ad%e3%82%b7%e3%83%a1%e3%83%bc%e3%82%bf%e3%83%bc%e3%82%92%e4%bd%9c%e3%82%8b","status":"publish","type":"post","link":"https:\/\/androiphone.uvs.jp\/?p=3027","title":{"rendered":"[ESP8266][MAX30102] MAX30102\u3067\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u3092\u4f5c\u308b"},"content":{"rendered":"<ul class=\"bogo-language-switcher list-view\"><li class=\"en-US en first\"><span class=\"bogoflags bogoflags-us\"><\/span> <span class=\"bogo-language-name\"><a rel=\"alternate\" hreflang=\"en-US\" href=\"https:\/\/androiphone.uvs.jp\/?lang=en\" title=\"\u82f1\u8a9e\">English<\/a><\/span><\/li>\n<li class=\"ja current last\"><span class=\"bogoflags bogoflags-jp\"><\/span> <span class=\"bogo-language-name\"><a rel=\"alternate\" hreflang=\"ja\" href=\"https:\/\/androiphone.uvs.jp\/\" title=\"\u65e5\u672c\u8a9e\" class=\"current\" aria-current=\"page\">\u65e5\u672c\u8a9e<\/a><\/span><\/li>\n<\/ul>\n<hr \/>\n<p><strong><span style=\"font-size: 24pt; color: #ff6600;\">\u30b3\u30ed\u30ca\u80ba\u708e\u3068\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc<\/span><\/strong><\/p>\n<p>\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u306e\u91cd\u75c7\u5ea6\u306e\u5224\u5b9a\u3067\u8840\u4e2d\u9178\u7d20\u98fd\u548c\u5ea6\u3092\u7c21\u5358\u306b\u6e2c\u5b9a\u3067\u304d\u308b\u3067\u30d0\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u304c\u54c1\u8584\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3002\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u3092\u6307\u306b\u631f\u3080\u3053\u3068\u3067\u8108\u62cd(\u8108\u6ce2\u30fb\u5fc3\u62cd\u6570)\u3068\u9178\u7d20\u98fd\u548c\u5ea6(\u30b5\u30c1\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3)\u3092\u7c21\u5358\u306b\u6e2c\u5b9a\u3067\u304d\u308b\u3002\u6b6f\u79d1\u6cbb\u7642\u306b\u304a\u3044\u3066\u3082\u3001\u3053\u306e2\u9805\u76ee\u3092\u30e2\u30cb\u30bf\u30fc\u3059\u308b\u3053\u3068\u3067\u3001\u60a3\u8005\u3055\u3093\u306e\u7570\u5e38\u3092\u65e9\u304f\u691c\u77e5\u3067\u304d\u308b\u306e\u3067\u3068\u3066\u3082\u5fc3\u5f37\u3044\u3057\u3001\u4fa1\u683c\u3082\u5b89\u4fa1(\u3060\u3063\u305f)\u306a\u306e\u3067\u8907\u6570\u6301\u3063\u3066\u3044\u308b\u5148\u751f\u3082\u591a\u3044\u3068\u601d\u3046\u3002<\/p>\n<p>\u4f53\u6e29\u8a08\u304c\u4e00\u6c17\u306b\u5e02\u5834\u304b\u3089\u6d88\u3048\u305f\u306e\u3068\u540c\u3058\u304f\u3001\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u306b\u3088\u308b\u80ba\u708e\u306e\u91cd\u75c7\u5ea6\u306e\u76ee\u5b89\u3068\u3057\u3066\u300c\u8840\u4e2d\u9178\u7d20\u98fd\u548c\u5ea6(SpO2)\u304c\u5e38\u306b95%\u4ee5\u4e0b\u300d\u3068\u306e\u5831\u9053\u304c\u306a\u3055\u308c\u308b\u3068\u540c\u6642\u306b\u5e97\u304b\u3089\u6d88\u3048\u305f\u3002\u4e2d\u56fd\u767a\u9001\u306e\u3082\u306e\u306f\u307e\u3060\u8cb7\u3048\u308b\u307f\u305f\u3044\u3060\u3051\u3069\u3001\u5230\u7740\u307e\u3067\u65e9\u304f\u3066\u30821\u304b\u6708\u4ee5\u4e0a\u306f\u304b\u304b\u308b\u3068\u601d\u3046\u3002<\/p>\n<p>\u6614\u306b\u30e9\u30ba\u30d1\u30a4\u306e\u30bb\u30f3\u30b5\u30fc\u3092\u8cb7\u3044\u6f01\u3063\u3066\u305f\u6642\u306bSpO2\u3092\u6e2c\u5b9a\u3067\u304d\u308b\u30bb\u30f3\u30b5\u30fc\u306eMAX30102\u30922\u500b\u8cb7\u3063\u3066\u3044\u305f\u3053\u3068\u3092\u601d\u3044\u51fa\u3057\u305f\u3002\u3053\u306e\u6642\u306f\u3001MAX30102\u3092\u30e9\u30ba\u30d1\u30a4\u3067\u4f7f\u3046\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u898b\u3064\u3051\u3089\u308c\u306a\u304f\u3066\u65e9\u3005\u306b\u8208\u5473\u3092\u7121\u304f\u3057\u3001\u3044\u3064\u304b\u4f7f\u3046\u3067\u3042\u308d\u3046\u30dc\u30c3\u30af\u30b9\u306b\u6295\u3052\u8fbc\u3093\u3067\u304a\u3044\u305f\u3002<\/p>\n<p>\u3053\u306e\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u304c\u8db3\u308a\u306a\u3044\u73fe\u5728\u3001Arduino\u3084ESP8266\u3067\u5b9f\u7528\u5316\u3067\u304d\u308b\u30ec\u30d9\u30eb\u307e\u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308c\u3070\u3001\u3082\u3057\u30b3\u30ed\u30ca\u306b\u611f\u67d3\u3057\u305f\u6642\u306b\u5e38\u306b\u30e2\u30cb\u30bf\u30fc\u3057\u3066\u3001\u5fc3\u62cd\u3001SpO2\u306b\u7570\u5e38\u304c\u3042\u308c\u3070\u5bb6\u65cf\u306b\u81ea\u52d5\u7684\u306b\u30e1\u30fc\u30eb\u306a\u3069\u3059\u308c\u3070\u6700\u60aa\u306e\u4e8b\u614b\u306f\u907f\u3051\u3089\u308c\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/p>\n<hr \/>\n<p><span style=\"color: #ff6600;\"><strong><span style=\"font-size: 24pt;\">MAX30102(\u5fc3\u62cd\u6570\u30fbSPO2\u30bb\u30f3\u30b5\u30fc)\u3092ESP8266\u3067\u4f7f\u3046<\/span><\/strong><\/span><\/p>\n<p>\u65e9\u901f\u3001ESP8266\u3001MAX30102\u3067\u4e0b\u306e\u30b5\u30a4\u30c8\u3092\u53c2\u8003\u306b\u3059\u3059\u3081\u3066\u307f\u305f\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/create.arduino.cc\/projecthub\/SurtrTech\/measure-heart-rate-and-spo2-with-max30102-c2b4d8\" data-lkc-id=\"687\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=create.arduino.cc\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">Arduino Project Hub<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-po\">37 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"https:\/\/s.wordpress.com\/mshots\/v1\/https%3A%2F%2Fcreate.arduino.cc%2Fprojecthub%2FSurtrTech%2Fmeasure-heart-rate-and-spo2-with-max30102-c2b4d8?w=100\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">Measure Heart Rate and SpO2 with MAX30102<\/div><div class=\"lkc-url\" title=\"https:\/\/create.arduino.cc\/projecthub\/SurtrTech\/measure-heart-rate-and-spo2-with-max30102-c2b4d8\">https:\/\/create.arduino.cc\/projecthub\/SurtrTech\/measure-heart-rate-and-spo2-with-max30102-c2b4d8<\/div><div class=\"lkc-excerpt\">Interfacing MAX30102 with Arduino + BPM measure project with OLED + buzzer. By SurtrTech.<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>I2C\u63a5\u7d9a\u3067MAX30102\u3092\u7e4b\u3052\u308b\u3002Arduino\u306e\u30c7\u30d5\u30a9\u30eb\u30c8(A4[SDA]\u30fbA5[SCL])\u3067\u63a5\u7d9a\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u3051\u3069\u3001ESP8266\u3067\u5229\u7528\u3059\u308b\u306b\u306fGPIO0\u3068GPIO2\u3092\u4f7f\u3063\u3066\u884c\u3046\u3002\u57fa\u672c\u69cb\u6210\u306f\u4e0b\u56f3\u3067\u884c\u3053\u3046\u3068\u304a\u3082\u3046\u3002ESP-01\u306a\u611f\u3058\u3067\u66f8\u3044\u3066\u3042\u308b\u3051\u3069( \u00b4\u2200\uff40 )\u3002\u3002\u3002\u6280\u9069\u901a\u3063\u305fESP8266\u306b\u9069\u5b9c\u8aad\u307f\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/01\/SnapCrab_NoName_2020-1-19_15-43-46_No-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2823\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/01\/SnapCrab_NoName_2020-1-19_15-43-46_No-00.png\" alt=\"\" width=\"498\" height=\"250\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/01\/SnapCrab_NoName_2020-1-19_15-43-46_No-00.png 951w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/01\/SnapCrab_NoName_2020-1-19_15-43-46_No-00-300x150.png 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/01\/SnapCrab_NoName_2020-1-19_15-43-46_No-00-768x385.png 768w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/a><\/p>\n<blockquote><p><strong><span style=\"font-size: 18pt; color: #000000;\">Wire.begin(0,2);<\/span><\/strong><\/p><\/blockquote>\n<p>\u3092I2C\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u6642\u306b\u3092\u5fd8\u308c\u305a\u306b\uff01\uff01\u3002<\/p>\n<p>\u3061\u306a\u307f\u306bMAX30102\u306f\u3057\u305f\u306e\u3092\u8cfc\u5165\u6e08\u307f(<strong><span style=\"color: #ff0000;\">\u53bb\u5e74\u306e10\u6708w<\/span><\/strong>)<\/p>\n<div class='amazon-auto-links'>\n<div class='warning' data-type='item_lookup' data-id='0' data-locale='JP'>\n<p>Auto Amazon Links: \u30d7\u30ed\u30c0\u30af\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002<\/p>\n<\/div>\n<p><!-- Rendered with Auto Amazon Links by miunosoft --><\/div>\n<p>\u3067\u3001\u53c2\u8003\u30b5\u30a4\u30c8\u3092\u8aad\u3093\u3067\u3044\u308b\u3068\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u3082\u5c0e\u5165\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u4e0b<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\" data-lkc-id=\"688\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-hb\">1 User<\/div> <div class=\"lkc-sns-po\">14 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/947c69ee2380cf227e0d5a4f54bf4fbdebe3632869e8fdb66f8e5ca4ea1d77fd.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">GitHub - sparkfun\/SparkFun_MAX3010x_Sensor_Library: An Arduino Library for th...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\">https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library<\/div><div class=\"lkc-excerpt\">An Arduino Library for the MAX3015 particle sensor and MAX30102 Pulse Ox sensor - GitHub - sparkfun\/SparkFun_MAX3010x_Sensor_Library: An Arduino Library for the MAX3015 particle sensor and MAX30102...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>Arduino Studio\u304b\u3089\u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u53ef\u80fd\u3002\u30b5\u30f3\u30d7\u30eb\u30b9\u30b1\u30c3\u30c1Example8_SPO2\u3092\u5b9f\u884c\u3057\u3066\u307f\u308b<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/blob\/master\/examples\/Example8_SPO2\/Example8_SPO2.ino\" data-lkc-id=\"689\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/947c69ee2380cf227e0d5a4f54bf4fbdebe3632869e8fdb66f8e5ca4ea1d77fd.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">SparkFun_MAX3010x_Sensor_Library\/Example8_SPO2.ino at master \u00b7 sparkfun\/Spark...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/blob\/master\/examples\/Example8_SPO2\/Example8_SPO2.ino\">https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/blob\/master\/examples\/Example8_SPO2\/Example8_SPO2.ino<\/div><div class=\"lkc-excerpt\">An Arduino Library for the MAX3015 particle sensor and MAX30102 Pulse Ox sensor - SparkFun_MAX3010x_Sensor_Library\/Example8_SPO2.ino at master \u00b7 sparkfun\/SparkFun_MAX3010x_Sensor_Library<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_8-27-43_No-00-e1588637815833.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3035\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_8-27-43_No-00-1024x649.png\" alt=\"\" width=\"397\" height=\"252\" \/><\/a><\/p>\n<p>\u3093\u30fb\u30fb\u30fb\u3002<strong><span style=\"font-size: 18pt; color: #0000ff;\">HR=166\u3001SPO2=76-89<\/span><\/strong>\u3068\u304b\u30fb\u30fb\u30fb\u3002<\/p>\n<blockquote><p><strong><span style=\"color: #ff0000; font-size: 24pt;\">\u3053\u306e\u30d0\u30a4\u30bf\u30eb\u30b5\u30a4\u30f3\u306f\u30fb\u30fb\u30fb\u6b7b\u3093\u3067\u307e\u3059\u3088\uff1f\uff57\uff57<\/span><\/strong><\/p><\/blockquote>\n<p>\u3069\u3093\u306a\u51e6\u7406\u3057\u3066\u3044\u308b\u306e\u304b\u30b3\u30fc\u30c9\u3092\u8ffd\u3063\u3066\u307f\u308b\u3002\u3002\u3002\u3069\u3046\u3084\u3089spo2_algorithm.cpp\u304c\u5fc3\u81d3\u90e8\u3089\u3057\u3044\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/blob\/master\/src\/spo2_algorithm.cpp\" data-lkc-id=\"690\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/947c69ee2380cf227e0d5a4f54bf4fbdebe3632869e8fdb66f8e5ca4ea1d77fd.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">SparkFun_MAX3010x_Sensor_Library\/spo2_algorithm.cpp at master \u00b7 sparkfun\/Spar...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/blob\/master\/src\/spo2_algorithm.cpp\">https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/blob\/master\/src\/spo2_algorithm.cpp<\/div><div class=\"lkc-excerpt\">An Arduino Library for the MAX3015 particle sensor and MAX30102 Pulse Ox sensor - SparkFun_MAX3010x_Sensor_Library\/spo2_algorithm.cpp at master \u00b7 sparkfun\/SparkFun_MAX3010x_Sensor_Library<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>\u8aad\u3093\u3067\u307f\u308b\u3068\u30fb\u30fb\u30fb<\/p>\n<blockquote><p><strong><span style=\"color: #800080; font-size: 24pt;\">\u306a\u306b\u3057\u3066\u308b\u304b\u3088\u304f\u308f\u304b\u3093\u306d\u3047\u3047\u3088\uff57\uff57<\/span><\/strong><\/p><\/blockquote>\n<p>\u300c\u3053\u308c\u306f\u30fb\u30fb\u30fb\u7d42\u308f\u3063\u305f\u304b\u306a\uff1f\u300d\u3068\u304a\u3082\u3063\u305f\u3051\u3069\u3001\u4e0b\u306e\u30c6\u30b9\u30c8\u30b9\u30b1\u30c3\u30c1\u3067\u751f\u30c7\u30fc\u30bf\u3092\u30b7\u30ea\u30a2\u30eb\u30d7\u30ed\u30c3\u30bf\u3067\u307f\u308b\u3068\u3001\u3061\u3083\u3093\u3068\u30c7\u30fc\u30bf\u306f\u53d6\u308c\u3066\u3044\u308b\u3088\u3046\u3060\u30fb\u30fb\u30fb\u3002<\/p>\n<pre class=\"lang:c decode:true \">#include &lt;Wire.h&gt;\r\n#include \"MAX30105.h\"\r\n\r\nMAX30105 particleSensor;\r\n\r\nvoid setup()\r\n{\r\n  Wire.begin(0,2);                       \/\/ I2C\u306e\u30d4\u30f3\u8a2d\u5b9a\r\n  Serial.begin(115200);\r\n  \r\n  Serial.println(\"\");\r\n  Serial.println(\"Initializing...\");\r\n\r\n  \/\/ Initialize sensor\r\n  while(!particleSensor.begin(Wire, I2C_SPEED_FAST)){\r\n    Serial.print(\".\");\r\n  }\r\n  Serial.println(\"OK!\");\r\n  \r\n\r\n  \/\/Setup to sense a nice looking saw tooth on the plotter\r\n  byte ledBrightness = 0x1F; \/\/Options: 0=Off to 255=50mA\r\n  byte sampleAverage = 8; \/\/Options: 1, 2, 4, 8, 16, 32\r\n  byte ledMode = 2; \/\/Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green\r\n  int sampleRate = 400; \/\/Options: 50, 100, 200, 400, 800, 1000, 1600, 3200\r\n  int pulseWidth = 411; \/\/Options: 69, 118, 215, 411\r\n  int adcRange = 4096; \/\/Options: 2048, 4096, 8192, 16384\r\n\r\n  particleSensor.setup(ledBrightness, sampleAverage, ledMode, sampleRate, pulseWidth, adcRange); \/\/Configure sensor with these settings\r\n\r\n  Serial.println(\"ir,red\");  \r\n}\r\n\r\n\r\nvoid loop()\r\n{\r\n  uint32_t ir_v = particleSensor.getIR();\r\n  uint32_t red_v = particleSensor.getRed();\r\n\r\n  Serial.print(ir_v);\r\n  Serial.print(\",\");\r\n  Serial.println(red_v);\r\n}\r\n<\/pre>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-3_16-24-48_No-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3034\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-3_16-24-48_No-00-1024x508.png\" alt=\"\" width=\"525\" height=\"260\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-3_16-24-48_No-00-1024x508.png 1024w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-3_16-24-48_No-00-300x149.png 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-3_16-24-48_No-00-768x381.png 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-3_16-24-48_No-00.png 1046w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/a><\/p>\n<p>\u8d64\u5916\u7dda(IR)\u30d1\u30eb\u30b9\u3068\u8d64\u8272(Red)\u30d1\u30eb\u30b9\u3092\u5206\u6790\u3059\u308b\u3053\u3068\u3067SPO2\u304c\u308f\u304b\u308b\u3089\u3057\u3044\u306e\u3067\u3001\u3067\u304d\u308b\u304b\u3069\u3046\u304b\u3082\u542b\u3081\u3066\u8cc7\u6599\u3092\u30cd\u30c3\u30c8\u306e\u6d77\u304b\u3089\u96c6\u3081\u308b\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><div class=\"lkc-unlink\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=core.ac.uk\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">core.ac.uk<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-po\">1 Pocket<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"https:\/\/s.wordpress.com\/mshots\/v1\/https%3A%2F%2Fcore.ac.uk%2Fdownload%2Fpdf%2F81961664.pdf?w=100\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">https:\/\/core.ac.uk\/download\/pdf\/81961664.pdf<\/div><div class=\"lkc-url\" title=\"https:\/\/core.ac.uk\/download\/pdf\/81961664.pdf\"><strike>https:\/\/core.ac.uk\/download\/pdf\/81961664.pdf<\/strike><\/div><\/div><div class=\"clear\"><\/div><\/div><\/div><\/div><\/div>\n<p><a href=\"https:\/\/arxiv.org\/ftp\/arxiv\/papers\/1907\/1907.11989.pdf\">https:\/\/arxiv.org\/ftp\/arxiv\/papers\/1907\/1907.11989.pdf<\/a><\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/qiita.com\/vrn\/items\/1ac58c61194b23af1d8c\" data-lkc-id=\"692\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=qiita.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">Qiita<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-hb\">3 Users<\/div> <div class=\"lkc-sns-po\">25 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"https:\/\/s.wordpress.com\/mshots\/v1\/https%3A%2F%2Fqiita.com%2Fvrn%2Fitems%2F1ac58c61194b23af1d8c?w=100\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">Raspberry Pi\u3068\u5fc3\u62cd\u30bb\u30f3\u30b5(MAX30102)\u3067\u8108\u3092\u898b\u3066\u307f\u3088\u3046 - Qiita<\/div><div class=\"lkc-url\" title=\"https:\/\/qiita.com\/vrn\/items\/1ac58c61194b23af1d8c\">https:\/\/qiita.com\/vrn\/items\/1ac58c61194b23af1d8c<\/div><div class=\"lkc-excerpt\">(2019.05.02 \u8ffd\u8a18: github\u5074\u3067\u300cred\u3068ir\u306e\u8aad\u307f\u51fa\u3057\u304c\u3054\u3063\u3061\u3083\u3060\u3088\u300d\u3068\u6307\u6458\u304c\u3042\u3063\u305f\u306e\u3067\u4fee\u6b63\u3057\u307e\u3057\u305f\uff0e\u5f71\u97ff\u7bc4\u56f2\u306fmax30102.py\u306eread_fifo()\u90e8\u5206\u3068\uff0c\u300c\u30b0\u30e9\u30d5\u8868\u793a\u3057\u3066\u307f\u308b\u300d\u5168\u822c\u3067\u3059\uff0e)\u5065\u5eb7\uff0c...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_9-28-18_No-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3041\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_9-28-18_No-00.png\" alt=\"\" width=\"361\" height=\"477\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_9-28-18_No-00.png 361w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_9-28-18_No-00-227x300.png 227w\" sizes=\"auto, (max-width: 361px) 100vw, 361px\" \/>(\u629c\u7c8b)<\/a><\/p>\n<p>\u4e0a\u306e\u30b0\u30e9\u30d5\u56f3\u306b\u3059\u3079\u3066\u304c\u96c6\u7d04\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3060\u3002\u3064\u307e\u308a\u306fRed_AC\u3001Red_DC\u3001IR_AC\u3001IR_DC\u304c\u308f\u304b\u308c\u3070SPO2\u304c\u51fa\u308b\u3063\u3066\u3053\u3068\u306d\u3002\u3042\u3068\u306f<\/p>\n<p>$$R=\\frac{Red_{AC} \\div Red_{DC}}{IR_{AC} \\div IR_{DC}}$$<\/p>\n<p>\u3067R\u3092\u6c42\u3081\u3066\u3001R\u304b\u3089SPO2\u3092\u6c42\u3081\u308b\u5f0f\u306fspo2_algorithm.cpp\u306b\u3042\u3063\u305f\u306e\u3067\u3053\u308c\u3092\u6e96\u7528\u3059\u308b\u3002<\/p>\n<p>$$SPO_{2}[\\%]=-45.060R^2+30.354R+94.845$$<\/p>\n<p>\u81ea\u5206\u306fSPO2\u306f\u901a\u5e38\u3001\u5b89\u9759\u72b6\u614b\u306797-99\u7a0b\u5ea6(\u624b\u6301\u3061\u306e\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u3067\u78ba\u8a8d\u6e08)\u306a\u306e\u3067\u3001<\/p>\n<p>$$98=-45.060R^2+30.354R+94.845$$<\/p>\n<p>\u4e0a\u306e\u4e8c\u6b21\u65b9\u7a0b\u5f0f\u3092\u89e3\u304f\u3068 \u5927\u4f53R = 0.1284 , 0.5452\u3068\u306a\u308b\u3002\u3053\u306e\u4ed8\u8fd1\u306e\u6570\u5024\u306b\u306a\u308c\u3070\u3044\u3044\u3068\u4e88\u60f3\u304c\u3064\u304f\u3002<\/p>\n<p>\u305d\u306e\u4e0a\u3067\u30b0\u30e9\u30d5\u306e\u76ee\u76db\u308a\u3092\u5927\u4f53\u3067\u8aad\u3093\u3067\u624b\u8a08\u7b97\u3067\u6c42\u3081\u305f\u3089\u3001R=1.782\u3068\u304b\u306b\u306a\u3063\u305f\u3002\u4f55\u5ea6\u3082\u4f55\u5ea6\u3082\u691c\u7b97\u3057\u3066\u30821\u4ee5\u4e0b\u306b\u306a\u3089\u306a\u3044<\/p>\n<blockquote><p><strong><span style=\"font-size: 24pt; color: #800080;\">\u3082\u3046\u3055\u3041\uff5e\u3053\u306e\u30bb\u30f3\u30b5\u30fc\u58ca\u308c\u3066\u306a\u3044\uff1f<\/span><\/strong><\/p><\/blockquote>\n<p>\u5fc3\u304c\u6298\u308c\u305d\u3046\u306b\u306a\u3063\u305f\u305d\u306e\u6642\u3001<strong><span style=\"font-size: 18pt;\">1.782<\/span><\/strong>\u3063\u3066\u30fb\u30fb\u30fb\u306a\u3093\u304b\u30fb\u30fb\u30fb<\/p>\n<p>$$\\frac{1}{1.782}=0.561$$<\/p>\n<p>\u9006\u6570\u306b\u3059\u308b\u3068\u3061\u3087\u3046\u3069\u3088\u304f\u306d\uff1f\u606f\u3054\u3089\u3048(SPO2\u3092\u610f\u56f3\u7684\u306b\u4e0b\u3052\u308b)\u3057\u3066\u8a08\u7b97\u3057\u3066\u3082<span style=\"font-size: 14pt;\">93-94%<\/span>\u306b\u843d\u3061\u3066\u3044\u308b\u3088\u3046\u3060\u3002<\/p>\n<blockquote><p><span style=\"color: #ff0000;\"><strong><span style=\"font-size: 24pt;\">\u3053\u308c\u306f\u30fb\u30fb\u30fbIR\u3068Red\u304c\u9006\u306a\u3093\u3067\u306f\uff1f<\/span><\/strong><\/span><\/p><\/blockquote>\n<p>\u30b3\u30fc\u30c9\u4e0a\u3067\u304c\u9006\u306b\u306a\u3063\u3066\u308b\u69d8\u5b50\u306f\u306a\u3044\u3002\u5acc\u306a\u4e88\u611f\u30fb\u30fb\u30fbledMode = 1(\u8d64\u8272LED\u306e\u307f)\u306b\u3057\u3066\u30bb\u30f3\u30b5\u30fc\u3092\u307f\u308b\u3068\u3001\u8d64\u8272LED\u306f\u5149\u3063\u3066\u3044\u306a\u3044\u3002\u6307\u3092\u304b\u3056\u3059\u3068getRed()\u3067\u5909\u5316\u3059\u308b\u6570\u5024\u304c\u53d6\u5f97\u3067\u6765\u3066\u3044\u308b\u30fb\u30fb\u30fb\u30fb\u3053\u308c\u306f\u30fb\u30fb\u30fb\u3082\u3057\u3084\u30fb\u30fb\u30fbIR(\u8d64\u5916\u7dda)\u306e\u307b\u3046\u3067\u306f\uff1f<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2019\/12\/6481392ce1eb65bf23008700470e2d1f.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2794\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2019\/12\/6481392ce1eb65bf23008700470e2d1f.jpg\" alt=\"\" width=\"316\" height=\"180\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2019\/12\/6481392ce1eb65bf23008700470e2d1f.jpg 391w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2019\/12\/6481392ce1eb65bf23008700470e2d1f-300x171.jpg 300w\" sizes=\"auto, (max-width: 316px) 100vw, 316px\" \/><\/a><\/p>\n<p>\u8d64\u5916\u7dda\u30ab\u30e1\u30e9\u3067\u78ba\u8a8d\u3057\u3066\u307f\u308b\u3068<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1445.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3050\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1445-1024x576.png\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1445-1024x576.png 1024w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1445-300x169.png 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1445-768x432.png 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1445.png 1334w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/a><\/p>\n<blockquote><p><span style=\"font-size: 24pt;\"><strong><span style=\"color: #800000;\">\u304aEEEE\uff01\uff01\uff01\u3084\u3063\u3071\u308a\u9006\u3058\u3083\u306d\u30fc\u304b\uff01<\/span><\/strong><\/span><\/p><\/blockquote>\n<p>\u3053\u306e\u500b\u4f53\u304c\u9006\u306a\u306e\u304b\u3001\u30e1\u30fc\u30ab\u6b63\u898f\u54c1(SparkFun)\u306f\u6b63\u5e38\u306a\u306e\u304b\u3001\u308f\u304b\u3089\u306a\u3044\u3051\u3069\u3001\u3053\u308c\u306f\u3068\u308a\u3042\u3048\u305aIR\u3068Red\u306f\u9006\u306a\u3093\u3067\u3059\u306dw\u3002\u3053\u3093\u306a\u306e\u30672\u65e5\u3082\u60a9\u3093\u3060\u3088\u30fb\u30fb\u30fb\u30de\u30b8\u3067\u30fb\u30fb\u30fb<\/p>\n<hr \/>\n<p><span style=\"color: #ff6600;\"><strong><span style=\"font-size: 24pt;\">\u7d44\u307f\u7acb\u3066\u3068\u30b9\u30b1\u30c3\u30c1\u5b9f\u88c5<\/span><\/strong><\/span><\/p>\n<p>\u6c17\u3092\u53d6\u308a\u76f4\u3057\u3066\u30013D\u30d7\u30ea\u30f3\u30bf\u3067\u30de\u30a6\u30f3\u30bf\u3092\u4f5c\u308a\u3001\u30de\u30b8\u30c3\u30af\u30c6\u30fc\u30d7\u306e\u30d0\u30f3\u30c9\u3092\u3064\u3051\u3066\u5b89\u5b9a\u3057\u3066\u56fa\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_14-58-45_No-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3061\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_14-58-45_No-00.png\" alt=\"\" width=\"361\" height=\"317\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_14-58-45_No-00.png 845w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_14-58-45_No-00-300x263.png 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_14-58-45_No-00-768x673.png 768w\" sizes=\"auto, (max-width: 361px) 100vw, 361px\" \/><\/a><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/2020-05-05_06-18-47_975-scaled-e1588897208776.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3069\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/2020-05-05_06-18-47_975-768x1024.jpeg\" alt=\"\" width=\"242\" height=\"323\" \/><\/a><\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3052\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-768x1024.jpg\" alt=\"\" width=\"259\" height=\"346\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-768x1024.jpg 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-225x300.jpg 225w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-1152x1536.jpg 1152w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-1536x2048.jpg 1536w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1448-scaled.jpg 1920w\" sizes=\"auto, (max-width: 259px) 100vw, 259px\" \/><\/a><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1446-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3054\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1446-768x1024.jpg\" alt=\"\" width=\"261\" height=\"348\" \/><\/a><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3053\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-768x1024.jpg\" alt=\"\" width=\"261\" height=\"348\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-768x1024.jpg 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-225x300.jpg 225w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-1152x1536.jpg 1152w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-1536x2048.jpg 1536w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/img_1447-scaled.jpg 1920w\" sizes=\"auto, (max-width: 261px) 100vw, 261px\" \/><\/a><\/p>\n<p>\u30bb\u30f3\u30b5\u30fc\u8868\u9762\u306b\u306f\u76f4\u63a5\u91d1\u5c5e\u7aef\u5b50\u304c\u89e6\u308c\u306a\u3044\u3088\u3046\u3001\u30bb\u30ed\u30c6\u30fc\u30d7\u3092\u8868\u9762\u306b\u5f35\u308a\u4ed8\u3051\u305f\u3002<\/p>\n<pre class=\"lang:default decode:true\">#include &lt;Wire.h&gt;\r\n#include \"MAX30105.h\"\r\n\r\n#include &lt;movingAvg.h&gt;   \r\n\r\nMAX30105 particleSensor;\r\n\r\n\/\/------ \u5b9a\u6570\u5b9a\u7fa9\r\nconst uint32_t TH_FIN = 7000;   \/\/\u6307\u304c\u7f6e\u3044\u3066\u3042\u308b\u304b\u3069\u3046\u304b\u306e\u95be\u5024\r\nconst int32_t  TH_AMOUNT = 300; \/\/\u30d1\u30eb\u30b9\u306e\u8d77\u70b9\u3068\u306a\u308b\u691c\u51fa\u5909\u5316\u91cf\r\n\r\nconst int32_t MIN_INIT = 9999999; \/\/\u6700\u5c0f\u5024\u306e\u521d\u671f\u5024\r\nconst int32_t MAX_INIT = 0;       \/\/\u6700\u5927\u5024\u306e\u521d\u671f\u5024\r\n\r\n\/\/\u8868\u793a\u3059\u308b\u5fc3\u62cd\u6570\u3068SpO2\u306e\u7bc4\u56f2(\u7528\u9014\u306b\u3088\u308a\u9069\u5b9c\u5909\u66f4)\r\nconst uint32_t DISP_MIN_HR   = 30;\r\nconst uint32_t DISP_MAX_HR   = 180;\r\nconst uint32_t DISP_MIN_SPO2 = 70;\r\nconst uint32_t DISP_MAX_SPO2 = 100;\r\n\r\n\/\/\u30d1\u30eb\u30b9\u691c\u51fa\u4fdd\u6301\u5909\u6570\r\nlong l_time = millis();    \/\/\u6700\u5f8c\u306e\u30d1\u30eb\u30b9\u691c\u51fa\u6642\u9593\u306e\u4fdd\u6301\r\nint32_t before_ir_v = 0;   \/\/\u6700\u5f8c\u306eir_v\u5024\u4fdd\u6301\r\nint32_t b_diff = 0;        \/\/ \u6700\u5f8c\u306e\u5dee\u306e\u4fdd\u6301\r\nlong pulse_interval = -1;  \/\/ \u30d1\u30eb\u30b9\u9593\u9694\u6642\u9593\r\n\r\n\/\/1\u30d1\u30eb\u30b9\u4e2d\u306e\u751f\u30c7\u30fc\u30bf\u306e\u6700\u5927\u30fb\u6700\u5c0f\u5024\u306e\u4fdd\u6301\r\nint32_t min_ir_v = MIN_INIT ,max_ir_v  = MAX_INIT;\r\nint32_t min_red_v= MIN_INIT ,max_red_v = MAX_INIT;\r\n\r\n\/\/\u79fb\u52d5\u5e73\u5747\u5024(IR_DC\u3001RED_DC)\u300030(20\uff5e50)\u30b5\u30f3\u30d7\u30eb\r\nmovingAvg avgIr_v(30);\r\nmovingAvg avgRed_v(30);\r\n\r\n\/\/\u79fb\u52d5\u5e73\u5747\u5024(\u5fc3\u62cd\u6570\u306f\u76f4\u8fd13\u30d3\u30fc\u30c8\u3001SPO2\u306f5\u30d3\u30fc\u30c8\u306e\u5e73\u5747)\r\nmovingAvg avgHR(3);\r\nmovingAvg avgSPO2(5);\r\n\r\nvoid setup()\r\n{\r\n  Wire.begin(0,2);                       \/\/ I2C\u306e\u30d4\u30f3\u8a2d\u5b9a\r\n  Serial.begin(115200);\r\n  \r\n  Serial.println(\"\");\r\n  Serial.println(\"Initializing...\");\r\n\r\n  \/\/ \u30bb\u30f3\u30b5\u30fc\u521d\u671f\u5316\r\n  while(!particleSensor.begin(Wire, I2C_SPEED_FAST)){\r\n    Serial.print(\".\");\r\n  }\r\n  Serial.println(\"OK!\");\r\n  \r\n  byte ledBrightness = 0x1F; \/\/Options: 0=Off to 255=50mA\r\n  byte diffmpleAverage = 8; \/\/Options: 1, 2, 4, 8, 16, 32\r\n  byte ledMode = 2; \/\/Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green\r\n  int diffmpleRate = 400; \/\/Options: 50, 100, 200, 400, 800, 1000, 1600, 3200\r\n  int pulse_intervalWidth = 411; \/\/Options: 69, 118, 215, 411\r\n  int adcRange = 4096; \/\/Options: 2048, 4096, 8192, 16384\r\n\r\n  particleSensor.setup(ledBrightness, diffmpleAverage, ledMode, diffmpleRate, pulse_intervalWidth, adcRange); \/\/Configure sensor with these settings\r\n\r\n  \/\/\u521d\u671f\u5024\u3068\u3057\u3066\u4e00\u56de\u8aad\u3093\u3067\u304a\u304f(ir_v\u3092\u30d1\u30eb\u30b9\u8a08\u6e2c\u306b\u7528\u3044\u308b)\r\n  before_ir_v =  particleSensor.getRed();\r\n  \r\n  \/\/\u30d1\u30eb\u30b9\u6700\u7d42\u53d6\u5f97\u6642\u9593\u306e\u521d\u671f\u5316\r\n  l_time = millis();\r\n\r\n  \/\/\u79fb\u52d5\u5e73\u5747\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u521d\u671f\u5316\r\n  avgIr_v.begin();\r\n  avgRed_v.begin();\r\n  avgHR.begin();\r\n  avgSPO2.begin();\r\n}\r\n\r\nvoid loop()\r\n{\r\n  \/\/\u9006\u306b\u306a\u3063\u3066\u3044\u308b\u3002\u30bb\u30f3\u30b5\u30fc\u304c\u9006\u3092\u8fd4\u3057\u3066\u3044\u308b\u306e\u3067\u5404\u81ea\u30c1\u30a7\u30c3\u30af\r\n  uint32_t red_v = particleSensor.getIR();\r\n  uint32_t ir_v = particleSensor.getRed();\r\n\r\n  \/\/\u6307\u3092\u7f6e\u3044\u3066\u3044\u308b\u304b\r\n  if(red_v&lt; TH_FIN || ir_v &lt; TH_FIN) return;\r\n\r\n  \/\/\u79fb\u52d5\u5e73\u5747\u5024(IR_DC RED_DC\u306e\u7b97\u51fa)\r\n  double ir_v_dc = avgIr_v.reading(ir_v);\r\n  double red_v_dc = avgRed_v.reading(red_v);\r\n  \r\n  \/\/IR\u3068RED\u306eAC\u3092\u6c42\u3081\u308b\u70ba\u306b\u6700\u5927\u5024\u30fb\u6700\u521d\u5024\u306e\u66f4\u65b0\r\n  if(ir_v&lt;min_ir_v) min_ir_v = ir_v; if(ir_v&gt;max_ir_v) max_ir_v = ir_v;\r\n\r\n  if(red_v&lt;min_red_v) min_red_v = red_v; if(red_v&gt;max_red_v) max_red_v = red_v;\r\n\r\n  \/\/\u30d1\u30eb\u30b9\u691c\u51fa\u306b\u306fir_v\u3092\u5229\u7528\u3002\u524d\u56de\u3068\u306e\u5dee\u5206(\u5909\u5316\u5024)\u3092\u6c42\u3081\u308b\r\n  int32_t diff =  before_ir_v - ir_v;\r\n  \r\n  \/\/TH_AMOUNT\u4ee5\u4e0a\u306e\u5909\u5316\u304c\u3042\u308b\u5834\u5408\u3001\u30d1\u30eb\u30b9\u8d77\u70b9\u3068\u3059\u308b\r\n  if(b_diff &lt; TH_AMOUNT &amp;&amp; diff &gt; TH_AMOUNT){\r\n    \r\n    \/\/1\u30d1\u30eb\u30b9\u306e\u6642\u9593\u3092\u8a08\u7b97\r\n    pulse_interval = millis() - l_time;\r\n    l_time = millis();\r\n\r\n    \/\/1\u30d1\u30eb\u30b9\u306e\u6642\u9593\u3088\u308a\u5fc3\u62cd\u6570\u306e\u8a08\u7b97\u3002avgHR\u306f\u6574\u6570\u306e\u307f\u306a\u306e\u30671000\u500d\u3057\u30661000\u3067\u5272\u308a\u5c11\u6570\u4fdd\u6301\r\n    double hr =  (double)avgHR.reading(60000*1000\/pulse_interval) \/ 1000.0;\r\n\r\n    \/\/SPO2\u306e\u8a08\u7b97\r\n    \/\/IR\u30fbRED\u306eAC\u3092\u6c42\u3081\u308b(\u632f\u5e45\u6700\u5927-\u632f\u5e45\u6700\u5c0f)\r\n    int32_t ir_v_ac = max_ir_v-min_ir_v;\r\n    int32_t red_v_ac = max_red_v-min_red_v;\r\n\r\n    \/\/ R = (AC_RED \/ DC_RED) \/ (AC_IR \/ DC_IR)\u306e\u8a08\u7b97\u5f0f\u3088\u308a\r\n    double red_div = double(red_v_ac)\/red_v_dc;\r\n    double ir_div = double(ir_v_ac)\/ir_v_dc;\r\n    double R = red_div \/ ir_div;\r\n    \r\n    \/\/ SPO2 = -45.060*R^2 + 30.354*R + 94.845 \u3053\u308c\u306fspo2_algorithm.cpp\u306b\u3042\u3063\u305f\u306e\u3092\u6e96\u7528\r\n    \/\/ \u4e57\u96641000\u306f\u5c11\u6570\u4fdd\u6301\u306e\u305f\u3081\r\n    double spo2 = (double)avgSPO2.reading((-45.060*R*R + 30.354*R + 94.845)*1000.0) \/ 1000.0;\r\n\r\n    \/\/\u6700\u5927\u5024\u30fb\u6700\u5c0f\u5024\u306e\u521d\u671f\u5316\r\n    min_ir_v = MIN_INIT;\r\n    max_ir_v = MAX_INIT;\r\n    min_red_v = MIN_INIT;\r\n    max_red_v = MAX_INIT;\r\n\r\n    \/\/\u5fc3\u62cd\u6570\u3068SPO2\u306e\u8868\u793a(\u7bc4\u56f2\u306f\u5b9a\u7fa9\u3067\u5909\u66f4\u53ef)\r\n    if(hr &lt;= DISP_MAX_HR &amp;&amp; hr &gt;= DISP_MIN_HR &amp;&amp; spo2 &lt;= DISP_MAX_SPO2 &amp;&amp; spo2 &gt;= DISP_MIN_SPO2){    \r\n      Serial.print(hr);\r\n      Serial.print(\",\");\r\n      Serial.println(spo2);\r\n    }\r\n  }\r\n\r\n  \/\/\u30d1\u30eb\u30b9\u691c\u51fa\u7528\u5024\u306e\u4fdd\u6301\r\n  before_ir_v = ir_v;\r\n  b_diff = diff;\r\n}\r\n<\/pre>\n<p>\u30b9\u30b1\u30c3\u30c1\u306b\u30b3\u30e1\u30f3\u30c8\u3044\u308c\u3066\u3042\u308b\u3051\u3069\u3001\u8981\u70b9\u306f3\u3064\u306e\u307f<\/p>\n<ul>\n<li><strong><span style=\"font-size: 14pt;\">\u30d3\u30fc\u30c8\u306e\u533a\u5207\u308a\u306f\u76f4\u524d\u306e\u30c7\u30fc\u30bf\u3068\u306e\u5dee\u306e\u5909\u4f4d\u91cf\u3067\u5224\u65ad(IR\u306e\u65b9\u3092\u4f7f\u3063\u3066\u3044\u308b)<\/span><\/strong><\/li>\n<li><strong><span style=\"font-size: 14pt;\">DC\u306e\u8a08\u7b97\u306f1\u30d3\u30fc\u30c8\u306e\u79fb\u52d5\u5e73\u5747\u3092\u4f7f\u3046<\/span><\/strong><\/li>\n<li><strong><span style=\"font-size: 14pt;\">AC\u306e\u8a08\u7b97\u306f1\u30d3\u30fc\u30c8\u306e\u6700\u5927\u5024\u3068\u6700\u5c0f\u5024\u306e\u5dee\u3067\u8a08\u7b97<\/span><\/strong><\/li>\n<\/ul>\n<p>\u3061\u306a\u307f\u306b\u30d3\u30fc\u30c8\u3068DC(\u79fb\u52d5\u5e73\u5747)\u306e\u30b0\u30e9\u30d5\u3092\u63b2\u8f09<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_6-48-17_No-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3038\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_6-48-17_No-00-1024x614.png\" alt=\"\" width=\"525\" height=\"315\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_6-48-17_No-00-1024x614.png 1024w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_6-48-17_No-00-300x180.png 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_6-48-17_No-00-768x461.png 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_6-48-17_No-00.png 1177w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/a><\/p>\n<p>\u3061\u306a\u307f\u306b\u79fb\u52d5\u5e73\u5747\u3092\u7c21\u5358\u306b\u51e6\u7406\u3057\u3066\u304f\u308c\u308b\u4e0b\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u308f\u305b\u3066\u3082\u3089\u3063\u305f\u3002\u611f\u8b1d\uff01<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/JChristensen\/movingAvg\" data-lkc-id=\"693\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-po\">6 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/e1c106d93b82515406d5170afe19d06bb16677b4f4ea5ad5f3bcaa730366d99f.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">GitHub - JChristensen\/movingAvg: A simple Arduino library for calculating mov...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/JChristensen\/movingAvg\">https:\/\/github.com\/JChristensen\/movingAvg<\/div><div class=\"lkc-excerpt\">A simple Arduino library for calculating moving averages. - GitHub - JChristensen\/movingAvg: A simple Arduino library for calculating moving averages.<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>\u30ce\u30a4\u30ba\u51e6\u7406\u306f\u3082\u30fc\u3061\u3087\u3044\u3057\u305f\u307b\u3046\u304c\u3088\u3055\u305d\u3046\u3060\u3051\u3069\u3001\u30b5\u30f3\u30d7\u30eb\u30b9\u30b1\u30c3\u30c1\u306a\u3093\u304b\u3088\u308a\u306f\u3088\u3063\u307d\u3069\u5b89\u5b9a\u3057\u3066\u3044\u308b\u3068\u601d\u3046\u3002<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_7-54-10_No-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3036\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_7-54-10_No-00-1024x593.png\" alt=\"\" width=\"519\" height=\"301\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_7-54-10_No-00-1024x593.png 1024w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_7-54-10_No-00-300x174.png 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_7-54-10_No-00-768x445.png 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-5_7-54-10_No-00.png 1183w\" sizes=\"auto, (max-width: 519px) 100vw, 519px\" \/><\/a><\/p>\n<p>\u8d64\u306fSPO2\u3001\u9752\u306f\u5fc3\u62cd\u6570\u3002SPO2\u304c\u4e0b\u304c\u3063\u3066\u3044\u308b\u3068\u3053\u308d\u306f\u606f\u3054\u3089\u3048(\u9811\u5f35\u3063\u3066\u606f\u3092\u6b62\u3081\u308b)\u3092\u3057\u305f\u3068\u3053\u308d\u3002<\/p>\n<p>\u9178\u7d20\u304c\u5c11\u306a\u3044\u8840\u304c\u6307\u307e\u3067\u904b\u3070\u308c\u308b\u306e\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067\u3001\u5b9f\u969b\u4e0b\u304c\u308b\u306e\u306f5\u79d2\uff5e10\u79d2\u5f8c\u306a\u306e\u3067\u4e0b\u304c\u3089\u306a\u3044\u304b\u3089\u3068\u3044\u3063\u3066\u6b62\u3081\u3066\u308b\u3068\u6b7b\u306b\u307e\u3059\u304b\u3089\u6ce8\u610f\u3067\u3059\u3002<\/p>\n<p>\u5fc3\u62cd\u6570\u306f\u30ae\u30b6\u30ae\u30b6\u4e0a\u4e0b\u3057\u3066\u3044\u308b\u3088\u3046\u306b\u898b\u3048\u3051\u3069\u3001\u3053\u308c\u306f\u606f\u3092\u5438\u3046\u6642\u306f\u5fc3\u62cd\u6570\u304c\u5c11\u3057\u4e0a\u304c\u308a\u3001\u5410\u304f\u3068\u304d\u306b\u5c11\u3057\u4e0b\u304c\u308b\u3068\u3044\u3046\u751f\u7406\u73fe\u8c61\u3002\u3055\u3059\u304c\u306b\u606f\u6b62\u3081\u306e\u524d\u5f8c\u306f\u5909\u5316\u3057\u3066\u308b\u3051\u3069\u3001\u547c\u5438\u6027\u306e\u5909\u5316\u3082\u6349\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u308b\u306e\u306f\u9a5a\u304d\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/style.nikkei.com\/article\/DGXKZO96409530S6A120C1W13001\/\" data-lkc-id=\"694\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=style.nikkei.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">NIKKEI STYLE<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-x\">1 Post<\/div> <div class=\"lkc-sns-hb\">5 Users<\/div> <div class=\"lkc-sns-po\">17 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/b97531d134b10ee2adb40314b4627748993a60455c560ddbb9700178cb491f21.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">\u5fc3\u62cd\u306e\u63fa\u3089\u304e\u3092\u77e5\u308d\u3046\u3000\u98db\u3076\u8108\u30fb\u6975\u7aef\u306b\u9045\u3044\u8108\u306f\u8981\u6ce8\u610f\uff5c\u30d8\u30eb\u30b9\uff35\uff30\uff5cNIKKEI STYLE<\/div><div class=\"lkc-url\" title=\"https:\/\/style.nikkei.com\/article\/DGXKZO96409530S6A120C1W13001\/\">https:\/\/style.nikkei.com\/article\/DGXKZO96409530S6A120C1W13001\/<\/div><div class=\"lkc-excerpt\">\u663c\u3082\u591c\u3082\u52d5\u304d\u7d9a\u3051\u308b\u5fc3\u81d3\u3002\u751f\u6daf\u306e\u5fc3\u62cd\u6570\u306f20\u5104\u56de\u306b\u3082\u4e0a\u308b\u3068\u3044\u3046\u3002\u6642\u8a08\u306e\u3088\u3046\u306b\u898f\u5247\u6b63\u3057\u3044\u30ea\u30ba\u30e0\u3092\u523b\u3093\u3067\u3044\u308b\u3068\u601d\u3046\u304b\u3082\u3057\u308c\u306a\u3044\u304c\u3001\u5fc3\u62cd\u306e\u30ea\u30ba\u30e0\u306f\u3001\u5b9f\u306f\u5fae\u5999\u306b\u63fa\u3089\u3044\u3067\u3044\u308b\u3002\u3088\u304f\u63fa\u3089\u3050\u306e\u306f\u3001\u3080\u3057\u308d\u5065\u5eb7\u306a\u3042\u304b\u3057\u3060\u3068\u3044\u3046\u3002\u306a\u305c\u5fc3\u62cd\u306f\u63fa\u3089\u3050\u306e\u3060\u308d\u3046\uff1f\u5fc3\u81d3\u306e\u2026<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>\u624b\u6301\u3061\u306e\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u3068\u306e\u6bd4\u8f03\u3057\u305f\u3051\u3069\u3001\u307b\u307c\u540c\u3058\u6570\u5024\u3092\u3068\u3063\u3066\u3044\u307e\u3057\u305f\uff5e\u3002\u3068\u308a\u3042\u3048\u305a\u3001\u3053\u3053\u307e\u3067\u3067\u304d\u308c\u3070\u3042\u3068\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3067\u713c\u304f\u306a\u308a\u716e\u308b\u306a\u308a\u3059\u308c\u3070\u3044\u3044\u3068\u601d\u3044\u307e\u3059\u300295%\u4ee5\u4e0b\u304c3\u5206\u7d9a\u3044\u305f\u3089\u30e1\u30fc\u30eb\u3068\u304b\u306d\u3002\u3082\u3046\u75b2\u308c\u305f\u304b\u3089\u4eca\u5ea6\u3084\u308a\u307e\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u4e00\u8a00\uff01\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u524d\u306b<\/p>\n<blockquote><p><span style=\"color: #ff0000;\"><strong><span style=\"font-size: 24pt;\">\u8d64\u5916\u7dda\u3068\u8d64\u8272\u5149\u306e\u6570\u5024\u3092\u8981\u30c1\u30a7\u30c3\u30af\uff01\uff01<\/span><\/strong><\/span><\/p><\/blockquote>\n<p>\u3053\u308c\u91cd\u8981\uff01\uff01<\/p>\n<p>[\u8ffd\u8a182020\/05] \u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u30b0\u30e9\u30d5\u8868\u793a\u3082\u3057\u3066\u307f\u307e\u3057\u305f<\/p>\n<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/androiphone.uvs.jp\/?p=3099\" data-lkc-id=\"695\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=androiphone.uvs.jp\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">ANDROIPHONE<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/2020\/05\/SnapCrab_NoName_2020-5-12_17-50-11_No-00-150x150.png\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">[ESP8266][MAX30102] \u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u30e2\u30cb\u30bf\u30fc\u3059\u308b<\/div><div class=\"lkc-date\">&#x1f552;&#xfe0f;2020\u5e745\u670813\u65e5<\/div><div class=\"lkc-excerpt\">MAX30102\u3067\u4f5c\u3063\u305f\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u4ee5\u524d\u306e\u8a18\u4e8b\u3067\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u307e\u3067\u88fd\u4f5c\u3057\u305f\u3051\u3069\u3001\u305b\u3063\u304b\u304fESP8266\u306b\u3084\u3089\u305b\u3066\u3044\u308b\u3093\u3060\u304b\u3089\u30b0\u30e9\u30d5\u3067\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3067\u304d\u305f\u3089\u306a\u3068\u601d\u3063\u305f\u3002\u305d\u3093\u306a\u4e2d\u3053\u3093\u306a\u30b5\u30a4\u30c8\u3092\u898b\u3064\u3051\u305f\u3002Highcharts\u3063\u3066\u3044\u3046\u30b0\u30e9\u30d5\u63cf\u753b\u7528\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u3066\u3001BME280\u304b\u3089\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u30bb\u30f3\u30b7\u30f3\u30b0\u3057\u305f\u6e29\u5ea6\u30fb\u6c17\u5727\u30fb\u6e7f\u5ea6\u3092\u8868\u793a\u3057\u3066\u3044\u308b\u69d8\u5b50\u3002\u3068\u308a\u3042\u3048\u305a\u3001\u624b\u5143\u306bBME280\u304c\u3042\u3063\u305f\u306e\u3067\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306b\u6cbf\u3063\u3066\u52d5\u304b\u3057\u3066\u307f\u305f\u3089\u7d50\u69cb\u826f\u3055\u305d\u3046\u306a\u306e\u3067\u5fc3\u62cd\u6570\u3001SPO2\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u8868\u793a\u3092\u3057\u3066\u307f\u3088\u3046\u3068\u601d\u3063\u305f\u3002Youtube\u3067\u691c\u7d22\u3059\u308b\u3068\u4f3c\u305f\u3088\u3046\u306a\u3053\u3068...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>[\u8ffd\u8a182020\/05\/20]<\/p>\n<p>FB\u3067\u30e9\u30a4\u30d6\u30e9\u30ea\u306eissue\u306b\u300cIR\u3068Red\u304c\u9006\u3058\u3083\u306a\u3044\uff1f\u300d\u307f\u305f\u3044\u306a\u8cea\u554f\u3042\u308b\u306d\u3063\u3066\u60c5\u5831\u3082\u3089\u3044\u307e\u3057\u305f\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/issues\/25\" data-lkc-id=\"696\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/dfacc0ffaf5b014d3a453327de1a076ec147a4e30826aa3b661e4a124f7ecd84.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">Wrong activation of R and IR in MAX30102? \u00b7 Issue #25 \u00b7 sparkfun\/SparkFun_MAX...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/issues\/25\">https:\/\/github.com\/sparkfun\/SparkFun_MAX3010x_Sensor_Library\/issues\/25<\/div><div class=\"lkc-excerpt\">Hi, I&#039;m playing with a MAX30102 sensor using this library on Arduino Nano board. Trying to configure the code I came across with some guy who used this sensor in a research project. And he comm...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>5\/10\u306bissue\u6295\u7a3f\u3057\u3066\u308b\u3093\u3060\u3051\u3069\u30015\/4-5\u306b\u3053\u306e\u8a18\u4e8b\u3060\u3057\u3066\u308b\u304b\u3089\u3001\u3082\u3057\u304b\u3057\u3066\u3053\u306e\u30b5\u30a4\u30c8\u307f\u305f\u306e\u304b\u306a\u3041(\u671f\u5f85)\uff1f\u305d\u308c\u306f\u3044\u3044\u3068\u3057\u3066\u2026\u3068\u308a\u3042\u3048\u305aSparkFun\u7d14\u6b63\u4f7f\u3063\u3066\u306a\u3044\u3068\u7b54\u3048\u3066\u304f\u308c\u306a\u3044\u3060\u308d\u3046\u3057\u2026\u56de\u7b54\u3092\u898b\u5b88\u308a\u307e\u3059\u3002<\/p>\n<p>[\u8ffd\u8a182021\/11\/05]<\/p>\n<p>\u3076\u3089\u3076\u3089\u3057\u3066\u3044\u305f\u3089\u7d50\u69cb\u672c\u683c\u7684\u306b\u89e3\u8aac\u3057\u3066\u3044\u308b\u30b5\u30a4\u30c8\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u3044\u307e\u3061\u3087\u3063\u3068\u5225\u306a\u3053\u3068\u3084\u3063\u3066\u308b\u3093\u3067\u4eca\u5ea6\u8aad\u307f\u8fbc\u3093\u3067\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/morf.lv\/implementing-pulse-oximeter-using-max30100\" data-lkc-id=\"713\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=morf.lv\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">morf.lv<\/div><div class=\"lkc-share\"> <div class=\"lkc-sns-hb\">1 User<\/div> <div class=\"lkc-sns-po\">38 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/84c43853821910175b12870c5590a45918f0d27158e74ccec56c12c5d4164447.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">Implementing pulse oximeter using MAX30100 - MORF - Coding And Engineering<\/div><div class=\"lkc-url\" title=\"https:\/\/morf.lv\/implementing-pulse-oximeter-using-max30100\">https:\/\/morf.lv\/implementing-pulse-oximeter-using-max30100<\/div><div class=\"lkc-excerpt\">For my smart watch project I decided to experiment with sensors for reading pulse. Looking around I stumbled upon a sensor made by Maxim \u2013 MAX30100. For my surprise once I got my development board and delved into the sensor\u2019s datasheet I discovered it\u2019s not as simple as just wiring up the sensor to a microcontroller and reading the data. A lot of work you have to do yourself. In this tutorial, I\u2019ll try to explain what I\u2019ve learned about pulse oximeter and how to ...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u30b3\u30ed\u30ca\u80ba\u708e\u3068\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc \u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u306e\u91cd\u75c7\u5ea6\u306e\u5224\u5b9a\u3067\u8840\u4e2d\u9178\u7d20\u98fd\u548c\u5ea6\u3092\u7c21\u5358\u306b\u6e2c\u5b9a\u3067\u304d\u308b\u3067\u30d0\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u304c\u54c1\u8584\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3002\u30d1\u30eb\u30b9\u30aa\u30ad\u30b7\u30e1\u30fc\u30bf\u30fc\u3092\u6307\u306b\u631f\u3080\u3053\u3068\u3067\u8108\u62cd(\u8108\u6ce2\u30fb\u5fc3\u62cd\u6570)\u3068\u9178\u7d20\u98fd\u548c\u5ea6(\u30b5\u30c1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3054,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"ja","_original_post":"https:\/\/androiphone.uvs.jp\/?p=3027","footnotes":""},"categories":[25,80,81,83,82,73],"tags":[85,84],"class_list":["post-3027","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3d","category-arduino","category-esp8266","category-max30102","category-82","category-73","tag-max30102","tag-84","ja"],"_links":{"self":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts\/3027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3027"}],"version-history":[{"count":36,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts\/3027\/revisions"}],"predecessor-version":[{"id":4427,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts\/3027\/revisions\/4427"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/media\/3054"}],"wp:attachment":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}