Arduinoベースの心電図・呼吸モニタリングシステムを構築する
必要な部品と材料
| ProtoCentral Electronics ADS1292R ECG/呼吸シールド for Arduino v2 | ×1 |
| Arduino UNO | ×1 |
使用するアプリとオンラインサービス
- Arduino IDE
プロジェクト概要
ECG呼吸シールドは、医療機器を新たなレベルへと引き上げます。心臓の電気的活動を監視する複雑なシステムが、携帯性に優れ、シンプルで効率的なECGモニタリングシステムへと進化しました。このプロジェクトでは、ECGシールドをArduinoと共に使用する方法を紹介します。
シールドをArduinoに接続する
ECG/呼吸シールドをArduinoの上にスタックするだけで接続できます。このシールドはSPIインターフェースを使用してArduinoと通信します。ICSPヘッダーを備え、新しいArduinoバリエーション(Yun、Dueなど)でのSPI通信にも対応しています。
Arduinoライブラリのインストール
ADS1292Rシールドと通信するために必要な関数を含むArduinoライブラリをインストールします。以下の手順に従ってください。
- ライブラリファイルをこちらからダウンロードします。
- アーカイブを解凍すると「ads1292r_shield」フォルダが現れます。これをArduino IDEのlibrariesフォルダにコピーします。OSによってはArduino IDEのフォルダ内、またはドキュメントフォルダ内にあります。詳細は公式ガイドを参照してください。
従来のBrainBayおよびXivelyのサンプルを使用する場合はこちらを参照してください。
Processingを使用したデータ可視化(新機能)
Processingは2001年から存在するデータ可視化ソフトウェアで、アーティストや科学者に広く利用されています。Javaベースのオープンソースコーディングフレームワークであり、Arduino環境に慣れている方なら学習コストはほとんどありません。
注意: ECG可視化コードはProcessing IDEバージョン2.2.1でのみ動作確認済みです。
手順1: お使いのOS用Processingをダウンロード
以下のリンクからProcessing IDE 2.2.1をダウンロードし、OSに合わせてインストールしてください。
- Mac OS
- Linux 32-bit / 64-bit
- Windows 32-bit / 64-bit
手順2: ECG可視化用Processingコードをダウンロード
- GitHubから必要なファイルとディレクトリをダウンロードまたはクローンします。
- 解凍すると「ads1292r_shield」フォルダが作成され、可視化コードが含まれます。
- Processingのスケッチブックディレクトリを確認します(インストール時に自動作成)。パスはOSにより異なります:
- Windows:
C:/My Documents/Processing - Mac:
/Users/ユーザー名/Documents/Processing - Linux:
/Home/ユーザー名/sketchbook/
- Windows:
- このディレクトリはWindows/Macでは「Processing」、Linuxでは「Sketchbook」と呼ばれます。存在しない場合は「libraries」サブディレクトリを作成してください。
ADS1292rShield_BreakoutProcessingces_view_ecgフォルダの内容をProcessingスケッチブックディレクトリにコピー/移動します。ADS1292rShield_BreakoutProcessinglibraries内のcontrolP5とgwopticsフォルダを、Processingスケッチブックのlibrariesディレクトリにコピーします。
これでADS1292Rシールドからの最初のECG読み取りを可視化する準備が整いました。
手順3: Processingを起動し、ces_view_ecgを実行
- Processing IDEが開いていた場合は一度閉じて再起動し、ライブラリとスケッチをリフレッシュしてください(開いたままでは更新されません)。
ces_view_ecgディレクトリ内の任意の.pdeファイルをダブルクリックし、全ECGコードをProcessing IDEで開きます。- 左上の「実行」ボタンをクリックしてコードを実行します。動作しない場合は、ライブラリのインストールとProcessingバージョン2.2.1の使用を確認してください。
- GUIが起動したら、「SELECT PORT」ドロップダウンからECG接続ポートを選択します。
- ポート選択が正しければ「START」ボタンが有効になります。クリックして可視化を開始します。
- ADS1292Rシールド ブレークアウトボードから取得した値でECG波形が生成されます。
ECG電極の接続
シールドには標準ステレオジャック付きの3電極ケーブルが同梱されています。オンボード電極インターフェースは以下の画像で確認できます。

電極コネクタの反対側は、身体に装着するスナップオン電極に接続します。テスト目的でECGシミュレーターを使用してボードに入力することも可能です。
警告: 身体に電極を接続する際は、Arduinoへのメイン/電源供給を切断する方が安全です。例えば、ノートPCとArduinoを使用している場合、ノートPCのバッテリー充電器を外すことをお勧めします。
身体への電極配置

重要な注意事項: 本デバイスは医療診断機器としての使用を意図していません。評価および研究目的のみで使用してください。
安全警告: ArduinoがコンピューターのUSBポートに接続された状態で電極を身体に接続する際は注意してください。ノートPCのメイン電源を切断し、グランドと身体の間に直接的な接続が生じないようにしてください。
コード
ProtoCentral ADS1292R Arduinoライブラリ
ProtoCentral ADS1292Rシールドを使用するためのArduinoライブラリ
GitHubリポジトリ
回路図
ProtoCentral ADS1292R Arduinoシールド回路図
製造プロセス
- Raspberry Piダッシュボードで家庭の温度を監視する
- Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
- Python連携で信頼性向上: Arduino RFID勤怠管理システム
- Arduinoで作る高精度エナジーモニター&データロガー – Dr. Wattsonボード活用
- Bluetooth操作のArduinoスパイボットを自作する
- Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
- Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
- ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
- Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携
- Arduino Dueと3.2インチTFTで作る温度監視付きリアルタイムクロック
- Arduino UNOで周波数とデューティサイクルを高精度測定