工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

COVID-19対策オープンソースパルスオキシメーター: Arduino Nano + MAX30102で自作

必要なパーツと材料

パーツ数量備考
Arduino Nano R31
MAX30102 パルス/心拍センサー (Maxim Integrated)1I2C接続、赤外線/赤色LED内蔵
128x64 I2C OLEDディスプレイ (DFRobot Gravity等)1SSD1306互換

必要な工具

使用するソフトウェア・サービス

プロジェクト概要

COVID-19 (SARS-CoV-2) は呼吸器系を冒し、無症状性低酸素血症 (「ハッピー・ハイポキシア」) を引き起こすことがあります。パルスオキシメーターで血中酸素飽和度 (SpO₂) と心拍数を監視し、早期に受診判断を助ける目的で、オープンソースのデバイスを設計・公開しました。

⚠ 免責事項: 本デバイスは医療用診断機器ではありません。参考値としてのみお使いください。

電子部品の概要

製作手順

  1. 3Dプリント部品の出力と仕上げ: Fusion 360で設計されたケースパーツ (ベース、蓋、センサー固定部等) をPLA、インフィル70-80%、サポートありで出力。サポート除去と軽いサンディングで組み立て精度を確保。
  2. 電子部品のはんだ付け: パーフボード (44×30mm) 上にNanoを実装。MAX30102のVIN, GND, SDA, SCLを配線し、ベース部下部を通してNanoへ。OLEDコネクターも同様に配線。完成した基板をケースにネジ止め (M3)。
  3. デバイス組み立て: OLEDを上部パーツに取り付け、蓋を本体にネジ止め。ヒンジ構造で開閉可能。
  4. スケッチ書き込み: 必要ライブラリ (MAX30105, spo2_algorithm, SSD1306Ascii) をインストールし、ボード「Arduino Nano」で書き込み。
  5. 使用方法: 指先をセンサーに当て、蓋を優しく閉じ、USB電源接続。数秒で心拍数とSpO₂が表示されます。

スケッチの動作フロー

  1. OLEDとMAX30102初期化 (エラー時はシリアル出力し停止)
  2. 最初の50サンプル取得で信号レンジ決定
  3. 最初の50サンプルで心拍/SpO₂初回計算 (maximアルゴリズム)
  4. 以降ループ: 古い25サンプルを捨て、新しい25サンプル取得、移動平均的に再計算、有効ならOLED表示

ソースコード

主要ライブラリ依存。maxim_heart_rate_and_oxygen_saturation() で計算。UNO/Nano (ATmega328P) ではSRAM節約のため16bit切り詰め配列を使用。OLEDには SSD1306AsciiWire でテキスト出力。

3Dプリントデータ / 回路図

ケースSTLファイルと回路図 (PNG) が提供されています。

製造プロセス

  1. FirePick Deltaプロジェクトログ: OpenPnPでオープンソースMicroFactoryを構築
  2. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  3. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  4. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  5. Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
  6. COVID-19緊急対応用 携帯型パルスオキシメーター(Arduino Nano+MAX30100)
  7. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  8. Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
  9. ゲーム用カスタムArduinoジョイスティックハンドルの製作
  10. ヘルスバンド:高齢者を見守る信頼のスマートウェアラブルアシスタント
  11. オープンソースがエッジでのイノベーションを駆動する理由──必携eBook