【療法士監修】Arduinoで作る荷重練習フィードバック機器|音と光で麻痺側荷重を可視化する

医療AI活用ラボ






【療法士監修】Arduinoで作る荷重練習フィードバック機器|音と光で麻痺側荷重を可視化する










DIY Weight-Bearing Feedback Device — Clinical Reasoning Log

Arduinoで作る荷重練習フィードバック機器
音と光は、麻痺側荷重をどこまで「見える化」できるのか?

脳卒中後片麻痺の荷重練習を想定し、FSRやロードセルで荷重の変化を検出し、音と光でフィードバックするArduino機器の自作ガイドです。ただし本記事の主眼は「光らせ方」ではなく、臨床で観察される現象・測定したい物理量・適したセンサー・フィードバック設計・練習課題・測定できない限界という一連の対応関係を、理学療法士の視点で結びつけることにあります。

使用部品: Arduino Uno/Nano/FSR or ロードセル+HX711/LED・ブザー 想定読者: 理学療法士・作業療法士など専門職 公開範囲: 臨床解釈・センサー選定・回路図・コード・限界・安全管理
専門職向け技術解説コード全文コピペ可限界を明示非医療機器の学習教材
最初に断っておきたいこと(必ずお読みください)

本記事は理学療法士・作業療法士など専門職の技術学習を目的とした内容であり、患者本人やご家族が本記事だけを参考に自作・導入・閾値設定を行うことは想定していません。紹介する機器は医療機器ではなく、疾患の治療・改善効果を保証するものでもありません。適用の可否、対象者の除外基準への該当、目標値の設定、監視の要否・単独使用の可否は、すべて担当の理学療法士・作業療法士・医師が対象者ごとに個別評価のうえで判断する事項です。本記事の内容だけで導入や運用の可否を決めないでください。

01

なぜ荷重練習に音と光を使うのか

片麻痺のある方に「もっと麻痺側に体重を乗せてください」と口頭で伝えても、足底感覚の低下や身体図式の変化により、本人には「乗せているつもり」でも実際にはほとんど荷重できていないことが少なくありません。鏡を使ったフィードバックも有効ですが、鏡は姿勢の見た目を映すだけで、荷重量そのものは教えてくれません。

ここに、荷重に応じて変化する音や光を組み合わせると、本人の内的な感覚とセンサーが示す客観的な値とのズレを、その場でリアルタイムに提示できます。これは運動学習の分野で言うところの外的フィードバック(拡張フィードバック)にあたり、視覚・聴覚を通じて誤差情報を即座に返すことで、荷重の調整を促す狙いがあります。

この記事のスタンス

「踏んだら光る/鳴る」という仕組みそのものは電子工作として難しくありません。本記事が重視するのは、どの臨床現象を、どのセンサーで、どう解釈し、どう練習課題に落とし込むかという一連の設計です。センサー値の意味を理解しないまま導入すると、代償動作を強化してしまうリスクもあるため、まず測定原理と限界を押さえてから機器の話に入ります。

視覚・聴覚フィードバックを用いた荷重練習の有効性については、慢性期脳卒中者を対象に前足部への荷重を視覚フィードバックで提示し、歩行の対称性への即時効果を検証した研究も報告されています。本記事はこうした知見の一部を参考にしつつ、臨床現場でなくても再現できる最小構成での自作にフォーカスしています。Arduinoを使ったリハビリセンサー全般の考え方は、当ラボのArduino×Python×AIで作るリハビリセンサー自作ガイドでも扱っているので、あわせて参考にしてください。

02

脳卒中後、麻痺側荷重が減る理由

脳卒中後片麻痺で非麻痺側への荷重依存が強くなる背景には、複数の要因が重なっていることが多く、荷重練習を設計する前にどの要因が強いのかを見極めておく必要があります。

  • 運動麻痺・筋力低下: 麻痺側下肢で体重を支えるだけの随意的な筋出力が不足している。
  • 感覚障害: 足底や下肢の表在感覚・深部感覚が低下し、荷重していること自体を感知しにくい。
  • 疼痛・不安定感: 膝折れや足関節の不安定性への恐怖から、無意識に荷重を避けている。
  • 学習性の非使用: 発症後、非麻痺側に頼る動作パターンが繰り返され、それが習慣として定着している。
  • プッシャー症候群など知覚の偏り: 身体の垂直性の認識そのものが崩れており、本人はむしろ非麻痺側への荷重を「傾いている」と感じている場合がある(詳細はPhysiopediaのプッシャー症候群の解説を参照)。

これらは互いに排他的ではなく、多くの場合いくつかが同時に存在します。したがって「荷重量が増えた」という結果だけを見るのではなく、どの要因に働きかけた結果として荷重が変化したのかを療法士が評価しながら使う前提が必要です。プッシャー症候群がある場合はそもそも本記事の機器単独での自主練習には適さない点は、後述の安全管理の章で改めて扱います。なお、麻痺側への荷重非対称性と姿勢の不安定性との関連については、脳卒中後の荷重非対称性に関するシステマティックレビューでも整理されており、対称性の回復を目指す訓練が長年重視されてきた背景がまとめられています。

03

この装置で測れるもの・測れないもの

「荷重」という言葉を曖昧なまま使うと、センサー値の解釈を誤ります。今回の装置がセンサーで直接検出しているのは、あくまでセンサー面に加わる垂直方向の力・圧力の変化です。まずこの前提を明確にします。

MEASURABLE — 測定できるもの

  • 一定以上の荷重が加わったかどうか
  • 荷重量が増えたか、減ったか(相対的な変化)
  • 設定した目標範囲を維持できたか
  • 左右の荷重差(正規化した比率として)
  • 荷重を開始するまでの時間(反応時間)
  • 目標範囲内での保持時間
  • 反復ごとの値のばらつき

NOT MEASURABLE — 測定できないもの

  • 身体重心そのものの位置・三次元的な移動
  • 前後・左右方向の剪断力
  • 股関節・膝関節のモーメントや筋活動
  • 足底圧の詳細な分布(面としての圧分布)
  • 荷重時にどのような姿勢戦略を使ったか
  • 荷重が「望ましい運動パターン」で行われたか
最も誤解されやすい点

センサー値が目標に到達しても、それが体幹側屈・骨盤の代償的な移動・上肢での支持・非効率な代償戦略によって達成されている可能性は、この装置だけでは判別できません。荷重量の増加と、運動の質は別の指標であるという前提を、使用者にも伝えたうえで導入することが重要です。

04

FSRとロードセル、何が違うか


荷重を検出するセンサーとして、本記事ではFSR(感圧抵抗センサー)とロードセル(HX711アンプと組み合わせるひずみゲージ式センサー)の2種類を扱います。どちらを選ぶかは、練習の目的によって変わります。

比較項目 FSR ロードセル+HX711
得意なこと 荷重の有無・増減の検出、閾値判定 荷重量のある程度定量的な把握
出力特性 荷重に対して非線形、個体差が大きい 校正すれば比較的線形に近い関係が得られる
設置の影響 踏む位置・角度でかなり値が変わる 荷重位置や台の構造・たわみの影響を受ける
向いている課題 「踏めたか/踏めていないか」を知らせる初級課題 目標荷重量への到達・左右荷重量の比較
限界 正確なkg表示には不向き 校正・複数センサーの合算処理が必要、医療機器と同等の精度は保証できない

結論として、「踏めた/踏めていない」という単純なオン・オフのフィードバックから始めたい場合はFSR目標荷重量(体重の何%など)を段階的に扱いたい場合はロードセルを選ぶのが実用的です。次章以降では、この2系統をそれぞれ初級・中級として構成を分けて紹介します。FSRセンサーそのものの特性や基本的な配線を学び直したい場合は圧センサーを用いた電子工作の基礎編、他のセンサー選択肢と比較検討したい場合はArduino用センサー完全ガイド16選もあわせて参考にしてください。

05

部品一覧と難易度別の構成

構成 主な部品 できること
初級(FSR) Arduino Uno/Nano、FSR、抵抗(10kΩ程度)、LED、圧電ブザー、ブレッドボード、ジャンパーワイヤー 一定以上の荷重でLEDと音を鳴らす、荷重の有無の検出
中級(ロードセル) Arduino、ロードセル(体重計用など)、HX711、RGB LED、ブザー、小型ディスプレイ(任意) 目標荷重量に対する不足・適正・過剰を色分け
応用(左右比較) ロードセル×2、HX711×2(またはマルチプレクサ)、LEDバー、ブザー、OLED/LCD、SDカード等の記録用モジュール 左右荷重率・保持時間・成功回数の表示と記録

いずれの構成でも、Arduino本体はUSB給電またはモバイルバッテリー等の低電圧電源で駆動させ、コンセント電源を機器本体に直接使うことは避けてください。配線・電源まわりの注意点は安全管理の章で改めてまとめます。ロードセルとHX711の基本的な使い方は、モジュール付属のリファレンスやHX711ブレークアウトボードの公式ドキュメントを参照すると回路の理解が早まります。Arduino本体の選び方やピン配置はArduinoメインボード徹底解説、ブレッドボード上での配線に不安がある場合はブレッドボード完全攻略ガイドを参考にしてください。

06

初級版:FSRで荷重の有無を知らせる

まずは「目標の荷重に到達したらLEDが点灯し、ブザーが鳴る」という最小構成です。FSRの分圧回路はA0に接続し、しきい値はシリアルモニタで生の値を確認しながら決めます。

FSR分圧回路

FSRの片足を5V、もう片足をA0とし、A0から10kΩ抵抗を経由してGNDへ。荷重が増えるほどanalogRead値が大きくなる。

出力系統

緑色LED→D6(目標到達の合図)、圧電ブザー→D7(短音で到達を知らせる)

コードを使う前に

以下のコード中のthreshold = 400はあくまでサンプル値であり、そのまま対象者に使用しないでください。しきい値を対象者の実際の能力より低く誤設定すると、荷重が不十分な状態でも「目標達成」と判定され、誤った成功体験や転倒リスクにつながります。必ず10章の手順に従い、対象者ごとに療法士が値を決定・確認してから使用してください。

fsr_basic_feedback.ino
// 初級版:FSR1chで荷重の有無を知らせる(LED+ブザー)
const int FSR_PIN = A0;
const int LED_PIN = 6;
const int BUZZER_PIN = 7;
// --- しきい値(要調整):まずシリアルモニタで生の値を確認してから決める ---
int threshold = 400;   // ★療法士が対象者ごとに調整する値
bool wasAboveThreshold = false;
void setup() {
  Serial.begin(115200);
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
  int value = analogRead(FSR_PIN);
  bool isAboveThreshold = value > threshold;
  // 目標到達の瞬間だけ短く鳴らす(立ち上がりエッジ)
  if (isAboveThreshold && !wasAboveThreshold) {
    tone(BUZZER_PIN, 1200, 150);  // 到達音
  }
  digitalWrite(LED_PIN, isAboveThreshold ? HIGH : LOW);
  wasAboveThreshold = isAboveThreshold;
  Serial.println(value);  // しきい値決定用に生の値を出力
  delay(20);  // 約50Hzでの確認(練習中はミス検出を防ぐため後述のデバウンスを推奨)
}
int threshold = 400; // ★療法士が対象者ごとに調整する値
この数値を全対象者に共通で使わないことが最も重要です。設定方法は10章で扱いますが、必ず対象者ごとに「現在の能力」を基準に決めてください。
初級版の位置づけ

この構成は「踏めているかどうか」の二値情報しか扱えません。荷重量そのものを段階的に把握したい場合や、左右差を比較したい場合は、次章以降のロードセル構成が必要になります。tone()や立ち上がりエッジ検出など、他の電子工作でも使い回せる基本パターンはArduinoプログラム集20選にもまとめているので、コードの書き方に慣れたい方はあわせてご覧ください。

07

中級版:ロードセルで荷重量を測る

ロードセルとHX711アンプを使うと、目標荷重量に対して「不足・適正・過剰」の3段階をRGB LEDの色で示すことができます。ここでは体重の一定割合を目標とする想定でコードを組みます。

HX711配線

ロードセル出力(赤・黒・白・緑)をHX711のE+/E-/A+/A-へ。HX711のDT→D2、SCK→D3、VCC→5V、GND→GND。

RGB LED

赤→D9、緑→D10、青→D11(共通カソード想定、抵抗を各色に挿入)

コードを使う前に

以下のコード中のcalibrationFactortargetWeightKgは校正前の仮値です。校正(8章)を行わないままkg表示を信用して練習判定に使うと、実際の荷重量と表示値が大きくズレたまま「適正」と判定される恐れがあります。校正・目標値の確定は必ず療法士が行い、確定するまでは練習判定には使用しないでください。

loadcell_zone_feedback.ino
// 中級版:ロードセルで荷重量を測定し、目標範囲を色分け(要 HX711 ライブラリ)
#include <HX711.h>
const int DT_PIN = 2;
const int SCK_PIN = 3;
const int LED_R = 9, LED_G = 10, LED_B = 11;
const int BUZZER_PIN = 7;
HX711 scale;
// --- 校正値(8章の手順で必ず対象者ごとに決め直す) ---
float calibrationFactor = -420.0;  // ★校正未実施の仮値。そのまま使わないこと
// --- 目標荷重量(kg):療法士が対象者ごとに設定 ---
float targetWeightKg = 15.0;   // 例:麻痺側に載せたい荷重の目安値
float toleranceKg = 2.0;       // 目標の±範囲を「適正」とみなす幅
unsigned long holdStartTime = 0;
bool isHolding = false;
const unsigned long HOLD_SUCCESS_MS = 3000;  // 3秒保持で成功
bool successPlayed = false;
void setup() {
  Serial.begin(115200);
  pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  scale.begin(DT_PIN, SCK_PIN);
  scale.set_scale(calibrationFactor);
  scale.tare();  // ゼロ点合わせ(センサーに何も載っていない状態で実行すること)
}
void setColor(bool r, bool g, bool b) {
  digitalWrite(LED_R, r); digitalWrite(LED_G, g); digitalWrite(LED_B, b);
}
void loop() {
  float weightKg = scale.get_units(5);  // 5回平均で読み取りノイズを軽減
  if (weightKg < 0) weightKg = 0;       // 微小な負値をゼロに丸める

  float lowerBound = targetWeightKg - toleranceKg;
  float upperBound = targetWeightKg + toleranceKg;

  if (weightKg < lowerBound) {
    setColor(true, false, false);   // 赤:荷重不足
    isHolding = false; successPlayed = false;
  } else if (weightKg > upperBound) {
    setColor(true, true, false);    // 黄:荷重過剰(赤+緑)
    isHolding = false; successPlayed = false;
    tone(BUZZER_PIN, 300, 100);     // 低めの警告音
  } else {
    setColor(false, true, false);   // 緑:適正範囲
    if (!isHolding) { holdStartTime = millis(); isHolding = true; }
    unsigned long heldMs = millis() - holdStartTime;
    if (heldMs >= HOLD_SUCCESS_MS && !successPlayed) {
      tone(BUZZER_PIN, 1500, 250);  // 成功音
      successPlayed = true;
    }
  }
  Serial.print(weightKg);
  Serial.print(" kg, target=");
  Serial.println(targetWeightKg);
  delay(50);
}
scale.tare();
練習開始のたびに、センサーに何も載っていない状態でゼロ点を取り直す処理です。これを省略すると、前回の使用時のズレが残ったまま荷重量を表示してしまいます。
float calibrationFactor = -420.0;
この値はセンサー個体・設置状況ごとに異なります。仮の数値のまま使うとkg表示が大きく実際とズレるため、必ず次章の校正手順を行ってから使用してください。

力の変化をリアルタイムに数値化してフィードバックするという考え方自体は、当ラボで以前公開したリアルタイム握力計測ゲームのコード解説とも共通しています。荷重量ではなく握力を対象にした構成ですが、センサー値の平均化やコード構造は参考になります。

08

ロードセルの校正方法

ロードセルを使う場合、コードを書くこと以上に校正が重要です。校正を省略した状態のkg表示は、見た目の数値があるだけで実際の荷重量とは大きくズレている可能性があります。

  1. センサーに何も載せていない状態で scale.tare() を実行し、ゼロ点を取る。
  2. 重量が分かっている物(体重計で確認済みの重りや、体重が分かっている協力者など)を載せる。
  3. その時のセンサー生出力と実際の重量の比から、calibrationFactor を計算し直す。
  4. 異なる重量(軽い・中間・重い)で複数回試し、表示値と実測値のズレを確認する。
  5. 実際に使用する足部・体幹の位置でも同様に確認する(荷重位置によって値が変わることがあるため)。
  6. 使用開始前には毎回ゼロ点を確認する習慣をつける。
簡易的な精度確認の方法

体重計など、すでに校正されている別の機器と並べて数値を比較すると、どの程度の誤差が出ているかを把握しやすくなります。誤差が大きい場合は、台の構造(たわみ・荷重位置による偏り)や固定方法を見直してください。

09

応用版:左右の荷重を比較する

左右それぞれにロードセル(またはFSR)を設置し、荷重率を算出する構成です。左右荷重率は次の式で扱います。

affected_side_ratio.txt
麻痺側荷重率(%) = 麻痺側荷重 ÷ (麻痺側荷重 + 非麻痺側荷重) × 100
例:麻痺側12kg、非麻痺側38kg の場合
   麻痺側荷重率 = 12 ÷ (12+38) × 100 = 24%
50%を目標にしない

左右50%ずつの荷重が、すべての対象者にとって最適な目標とは限りません。装具の使用、脚長差、疼痛の有無、支持基底面の広さ、課題の条件(静止立位かステップ肢位かなど)によって、目指すべき荷重率は変わります。目標値は療法士が個別に設定してください。

2系統のロードセルを1台のArduinoで読む場合、HX711モジュールを2枚使うか、時分割で読み取る方式を取ります。表示にはOLEDやLCDを使い、左右の荷重率・現在の保持時間・成功回数を並べて表示すると、練習中に本人が状況を把握しやすくなります。SDカードモジュールを追加すれば、5章の初級・中級コードと同様の要領で、1回の練習セッションごとに荷重率の推移をCSVとして記録できます。

他のセンサーと組み合わせる場合

荷重だけでなく下肢の筋活動もあわせて見たい場合は筋電センサー入門|Arduinoで学ぶ仕組み・配線・自作ゲーム作りまで完全ガイド、実際の姿勢や動作パターンも確認したい場合はスマホ1台でリハビリの動作分析はどこまでできる?現状と始め方を組み合わせると、荷重量だけでは見えない代償動作の把握につながります。

10

音・光・閾値の設定方法

色と音の設計

色・音 意味 設計上の注意
荷重不足 色覚特性を考慮し、色だけに頼らず点灯パターンや音と組み合わせる
目標範囲内 点灯を維持し、保持時間の経過が分かるようにする
荷重過剰 膝の過伸展など代償の兆候である場合があるため、観察と組み合わせる
課題開始待ち 準備が整っていることを示し、突然の音刺激で驚かせない
短い電子音 目標値への到達 1回だけ鳴らし、連続音にしない
低い警告音 荷重過剰 驚かせてバランスを崩さない音量・音程に調整する
刺激量の調整

音量やオン・オフを切り替えられるようにしておき、対象者の反応を見ながら刺激量を調整してください。音刺激とバランス・循環動態への影響については、14章の安全管理で改めてまとめています。

閾値設定の手順

  1. まず安全な立位姿勢(手すり・平行棒使用など)を確認する。
  2. 現在、無理なく可能な麻痺側荷重量を数回測定する。
  3. 平均値とばらつきを確認する。
  4. その値を踏まえ、無理なく達成できる範囲を初期目標として設定する。
  5. 成功率が安定して高くなってきたら、段階的に目標を引き上げる。

例えば、初回の測定で麻痺側荷重率が体重の25%程度だった場合、いきなり50%を目標にするのではなく、まずは30%前後を安定して維持できることを目指す、といった段階設定が現実的です。最大値を一度だけ出すことよりも、代償を抑えながら再現性高く達成できる範囲を見つけることを優先します。

11

臨床での使用例5パターン

レベル1:静止立位での荷重

手すりや平行棒を使用した立位で、麻痺側足部下のセンサーへ荷重します。体幹側屈、骨盤の側方移動、膝折れ、反張膝、足部内反、上肢への過剰依存がないかを療法士が並行して観察します。

レベル2:左右への重心移動

左右の荷重を交互に変化させる課題です。音や光を「到達すべき目標」として使い、急激に体重を移動させるのではなく、制御された速度での荷重移動を促します。

レベル3:軽度膝屈曲位での荷重保持(スクワット様課題)

軽度の膝屈曲位を取り、麻痺側下肢への荷重と下肢伸展活動を促します。センサー値だけでなく、膝・股関節・体幹のアライメントを療法士が目視で確認する必要があります。

レベル4:ステップ練習前の支持脚荷重

非麻痺側下肢を前方に踏み出す前に、麻痺側支持脚へ十分な荷重が得られているかをフィードバックします。踏み出し前の準備としての荷重を強調する課題です。

レベル5:立ち上がり練習

足底または座面にセンサーを設置し、離殿前後での荷重変化を確認します。ただし足底荷重の変化だけでは、体幹の前傾や殿部離床のタイミングを完全には判断できないため、動作観察と併用します。

共通する注意点

いずれのレベルでも、センサーが示す数値を「正解」として鵜呑みにせず、療法士による動作観察と組み合わせることが前提です。自主練習の記録用紙をあわせて用意したい場合は、AIで作るリハビリ配布資料の安全な型も参考になります。

12

代償動作の観察ポイント

荷重量が目標に達していても、それが望ましい運動パターンで得られているとは限りません。以下のような代償動作がないか、練習中に観察してください。

体幹側屈・骨盤の側方移動

体幹を麻痺側へ傾けることで、下肢自体の努力なしにセンサー値だけを上げているケース。

上肢での支持

手すりや平行棒を強く握ることで体重の一部を上肢に逃がしながら、足底には荷重しているように見えるケース。

膝の過伸展(反張膝)・ロッキング

膝関節を過伸展位で固定することで、大腿四頭筋の努力性収縮を伴わずに荷重を「支えて」しまうケース。

足部の代償肢位(内反・外反)

足部を不自然な肢位にすることでセンサー面への荷重のかかり方だけを変え、実際の支持性向上を伴わないケース。

これらが見られる場合は、センサー値の目標達成を優先させるのではなく、一度目標を下げて運動の質を優先する、あるいは課題そのものを見直すといった対応を検討してください。

13

データの記録と解釈

発展的な構成として、次のようなデータをSDカード等に記録できます。

  • 最大荷重量・平均荷重量
  • 目標範囲内での保持時間
  • 成功回数
  • 荷重開始までの時間(反応時間)
  • 左右荷重率
  • 反復ごとのばらつき
  • 日ごとの変化の推移
記録を解釈する際の注意

日によるデータの変化には、測定姿勢、足部の設置位置、靴や装具の有無、疲労の程度、注意機能の状態など多くの要因が影響します。条件をできる限り統一したうえで記録し、単純な数値の増減だけで能力の変化を断定しないよう注意してください。記録したデータを既存の評価シートに整理する方法はリハビリ評価シートをAIで作る実践ガイドでも扱っています。

14

安全管理と使用中止基準

自主トレ機器として紹介する以上、転倒予防と適応判断を独立した章として扱います。まず、機器単独での自主練習が適さないケースを明示します。

自主練習単独での使用が適さない可能性が高いケース

  • 重度の立位バランス障害がある
  • 膝折れや足関節の不安定性が強い
  • プッシャー症候群がある
  • 重度の半側空間無視・注意障害がある
  • 指示理解が難しい
  • 血圧変動や循環器系のリスクが高い
  • 転倒時に自力で支持できない

これらに該当する場合、機器の使用自体が不適切というより、単独での自主使用が不適切であるケースが多く、監視下での使用や、練習内容そのものの見直しが必要です。

運用上の安全チェックリスト

  • 最初は必ず療法士の監視下で使用し、単独使用の可否は療法士が個別に判断する。
  • 平行棒・手すり・固定物のそばで実施する。
  • センサー台が滑らない構造にする。
  • 配線につまずかないよう、床面での取り回しを整理する。
  • 台に段差を作りすぎない。
  • 裸足・靴・装具の条件を測定ごとに統一する。
  • 疲労・疼痛・めまいなどの症状が出た時点で中止する。
  • 血圧変動や循環器リスクがある対象者では、音刺激への驚愕反応が血圧変動や転倒のきっかけになり得るため、事前に音量・音程を弱めに調整し、初回は必ず反応を確認しながら使用する。
  • 音に驚いてバランスを崩す様子が見られた場合は、その時点で音量を下げるか無音のフィードバック(光のみ)に切り替える。
  • 荷重目標を急激に引き上げない。
  • Arduio本体はUSB給電や低電圧のモバイルバッテリーで動作させ、露出した配線や不安定な電池ボックスを避ける。
15

市販機器との違いと臨床評価との組み合わせ

市販の重心動揺計や床反力計は、荷重の垂直成分だけでなく、重心位置の三次元的な移動や剪断力、周波数解析による姿勢制御の評価など、より多くの情報を較正された精度で提供します。今回のArduino機器は、それらと同じ土俵で比較できるものではなく、安価に「相対的な荷重の変化」を可視化するための補助具という位置づけにとどまります。なお、市販のバランスボードを使った安価な機器でも、静止立位課題における荷重非対称性の即時フィードバック効果が確認された研究があり、低価格帯の機器にも一定の役割がありうることが示唆されています。ただし同研究でも、動的課題での効果や機能的な改善への波及は今後の検証課題とされている点には注意が必要です。

そのため、この機器で得られた結果だけで完結させず、既存の臨床評価と組み合わせて解釈することが重要です。

  • 立位時の左右荷重割合(他の測定手段によるもの)
  • Berg Balance Scale
  • Functional Reach Test
  • Timed Up and Go
  • 10m歩行テスト
  • 立ち上がり動作の観察・評価
  • ステップ能力
  • 足底感覚・関節位置覚
  • 下肢運動麻痺の程度・痙縮・疼痛
  • 装具の使用条件
結論を急がない

「センサー上の荷重率が改善したから歩行能力も改善した」と安易に結論づけることは避けてください。荷重の変化と、実際の活動レベルでの変化(歩行速度、耐久性、バランス能力など)は別の指標であり、両者を照合したうえで評価する必要があります。関連する一次文献を自分で調べたい場合はChatGPTで医学論文を探す:PubMed検索式・要約・引用確認を進める5ステップ実践ガイド、荷重練習以外の自主トレ・AI活用のアイデアを広く知りたい場合はリハビリ職のAI活用17選も参考にしてください。

16

FAQ・まとめ

この機器は市販の重心動揺計や床反力計の代わりになりますか?

なりません。重心の三次元的な位置や剪断力、関節モーメントなどは測定できず、あくまで垂直方向の荷重の相対的な変化を捉える自主トレ用の補助具です。正式な評価や治療方針の判断には、既存の臨床評価と専門家の診察を組み合わせてください。

FSRとロードセル、どちらを使えばよいですか?

荷重の有無や増減といった相対的な変化を簡便に知らせたいだけならFSR、荷重量をある程度定量的に扱いたい場合はロードセル+HX711が適しています。ただしロードセルも校正と設置条件の管理が前提になります。

患者が一人で使っても安全ですか?

最初は必ず療法士の監視下で使用し、平行棒や手すりなど支持物のそばで行ってください。単独での自主使用が可能かどうかは、バランス能力や指示理解、循環動態などを踏まえて療法士が個別に判断すべき事項であり、機器自体が安全性を保証するものではありません。

荷重値が改善すれば歩行も改善しますか?

一概には言えません。センサー値の改善は体幹側屈や上肢支持などの代償動作によって得られている可能性があり、運動の質を保証しません。荷重量の変化とあわせて、動作観察や既存の臨床評価、活動レベルでの変化を確認することが必要です。

まとめると、Arduino+FSRやロードセルによる荷重フィードバック機器は、安価に荷重の相対的な変化を可視化できる自主トレ補助具であり、姿勢や運動の質までを自動評価する装置ではありません。臨床現象からセンサー、フィードバック設計、練習課題、そして測定の限界までを一つながりで理解したうえで導入することが、単なる「光る工作」との最大の違いです。

今後の発展

本記事の構成をベースに、左右2系統の常時計測、Bluetoothによる無線化、スマホカメラでの動作観察との連携などへ発展させることも可能です。

あわせて読みたい

センサー配線の基礎から学び直したい方は圧センサーを用いた電子工作の基礎編ブレッドボード完全攻略ガイド、力のフィードバックを別の切り口で見たい方はリアルタイム握力計測ゲームのコード解説、筋活動もあわせて計測したい方はArduino×筋電センサー完全ガイド、リハビリ用途のセンサー自作全般を知りたい方はArduino×Python×AIで作るリハビリセンサー自作ガイドもおすすめです。

DIY WEIGHT-BEARING FEEDBACK DEVICE — 学習・研究目的の電子工作記録です。医療上の判断は専門家にご相談ください。



関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP
CLOSE