はじめに
以前に息子のリハビリのモチベーション向上&歩こうとする意欲を上げるために、『靴に体重を乗せると効果音の鳴るメロディ靴』を作ってみた。
このコンセプト自体はよかった様で、最初は息子も「なんだなんだー?」と興味を持ってくれていたのですが、残念ながら長続きせず。
原因を分析したところ、
・靴とスピーカーボックスが有線ケーブルでつながっていて、足をケーブルに絡めてしまったりで運用に難色あり
・音だけだと息子の興味が長続きせず。。。
そんな中、先月に娘が「Nintendo LABOで弟が歩く練習が出来る靴を作ろう!」という事で、Nintendo LABOで『靴に体重を乗せると効果音の鳴るメロディ靴 Ver.2』を父娘合作で発明してみた。
歩行困難な息子。歩行リハビリが少しでも楽しく出来ないかな、という事で、私と小一の娘の二人でNintendo Laboで『足を動かすと、光&音&振動を返すメロディ靴』を作ってみた。機能は娘考案。
— おぎもとき (@ogimotoki) 2018年6月13日
息子の反応も上々で良い感じ! もう少しブラッシュアップだ!#肢体不自由児#リハビリ支援#NintendoLabo pic.twitter.com/CB7iTdXxP9
これの反応はなかなか良好でした。良好だったポイントとしては
・足をフリフリすると靴も振動する(バイブレーション)
・足のフリフリに応じて、タブレット画面も光る&音が鳴る(音は娘チョイス)
でした。振動もさる事ながら、タブレットに大きく光が音と同時に見えるのがうけたみたい!
じゃあ、これを実際に運用していこうとしていたが、これも長続きせず。。。。
原因はというと、
妻&娘が毎日Nintendo Switchで別ゲームを遊び続けるので、リモコンが確保できない事!!!(笑)
まぁ、これだけが要因ではないのですが、せっかくなら専用で新たにメロディ靴を起こそうと思った訳です。
要求仕様
①靴部とスピーカ部はケーブルレス
(可能ならスピーカも靴に入れたいが、まだそこまで至れず)
②スピーカ部はVer.1のものをできる限り流用する事
(スピーカをもう一回作るのは面倒くさいので)
③靴に体重をかけた際に、靴を光らせる&振動させる
(足を動かす事への興味を引き付ける目的)
④靴を光らせる際の体重量(閾値)は簡単に変更できる様にする
(息子の成長に柔軟に対応できる様に)
⑤足が当たる事が懸念されるので靴部分のモジュールは壊れにくく作る
(ちゃんとした外装をつける)
そんな完成品は以下。なお、靴部のモジュールは3Dプリンタで外装設計した筐体に収めてみた。
TWELITE DIP導入
そもそもどうやってケーブルレスを実現するか、という事で、無線モジュールを検討開始。
WifiはAPが必要になるから宅外に持っていくとソフト書換えが発生して面倒やなぁ、
Bluetoothは親1対子2みたいな通信が簡単に構築できるか不安だなぁ、
と悩んでいた時、たまたま見つけたTWELITE DIPに注目!
TWELITEはモノワイヤレス株式会社のZigbee(2.4GH)無線モジュール。
消費電力が低い、簡単にネットワークが構築できる事、モジュールがコンパクトである事が特徴だ。
個人的に一番気に入ったのは、子機の入出力信号(デジタル/アナログ)が親機の入出力信号にミラーリングされる点。
つまり、無線接続であるのにあたかも有線でつなげている様な感覚で使える!
超簡単!標準アプリ(App_Twelite) - MONO-WIRELESS.COM
子機へのデジタル入力(4本)→親機からのデジタル出力(4本)
子機へのアナログ入力(4本)→親機からのデジタルPWM出力(4本)
親機へのデジタル入力(4本)→子機からのデジタル出力(4本)
親機へのアナログ入力(4本)→子機からのデジタルPWM出力(4本)
要求仕様で上げていた「スピーカー部はVer1(有線)と共用できる事」も実現できそう!
うまくやればソフト開発なしで出来る気がしてきた!!
という事で TWELITEを導入してみる事に。
全体ハードシステム
Ver1(有線版)と 今回のVer.3(TWELITE無線版)のシステム比較が以下の図。
Ver.1では、靴からの感圧センサー値を見て、ある閾値以上の値になればスピーカ出音& LED制御という仕組みが入っていたので、その制御仕様をそのまま使えそうな事が確認できた。LED+振動モータをスピーカ部から制御せず、靴部内で完結させる案も考えたが将来的な仕様拡張性を優先して、スピーカ部で制御を集約する仕様とした。
(例えば、左足に体重をかけた後、右足に体重をかけた後でないと、左足のLED+振動モーターがONにならない様な仕様に変更する場合、左右両方の状態が分かるスピーカ部で制御する様がやりやすいから)
TWELITE設定
「超簡単!標準アプリ(App_Twelite)」モードを使うので、特に購入時からソフトの書き換えの必要はなし。ただし、1対2通信を行うため、設定値のみ変更を行った。
変更方法は下記参照
設定変更(インタラクティブ)モード - MONO-WIRELESS.COM
・a: set Application ID を変更 (なんでもよいが、全モジュールで統一させる)
・z: PWM周波数 を10KHzに変更 (LPF回路でリップル成分を減らすため)
回路設計(子機側)
コンパクトにしたいため、電源としてはボタン電池を採用。振動モーター等を動かすので電流容量は必要と思ったので、CR3023を使用。1個当たり3Vだが、TWELITE DIPは3.3V駆動でやや不安が残るため、「CR3023×2 (6V) → LDOで3.3V電圧駆動」とした。LEDは10mA程度でも十分光量が確保できそうなため、端子に直接(抵抗経由で)接続した。ただし、振動モーターは同程度の電流をひっぱる懸念があったため端子は別に分けた。
回路設計(親機側)
親機側はスピーカ部と有線接続する形とした。スピーカ部のマイコン端子電圧は5V、TWELITE DIP端子電圧は3.3Vなので、両者の接続のためレベルシフタICを間に挟んだ。注意すべきは、子機から来る感圧センサー値。子機側ではアナログ値で取得して、親機ではPWM値で来るため、5Vへのレベルシフト後にRCフィルタでLPFを形成してアナログ電圧にしてやる必要がある。
フィルタ計算に使ったサイトは以下。
手元にある部品で極力カットオフ周波数を落とせる組み合わせが、C=1uF/R=510Ω であった。これでカットオフ周波数は約312Hz。1kHzのPWMに対してはかなり原信号成分が残ってしまうため、PWM周波数をdefaultから一桁分変更する事にした。まぁ、趣味なのでこの程度で良いだろう。
出来上がった回路は以下。
なお、ブレッドボード図は、Fritzingで作成している。
Fritzing Download
完成動画
マリオのコイン音の場合
足を踏み込むと音の鳴る自作メロディ靴、ようやくロールアウトして息子実験開始!
— おぎもとき (@ogimotoki) 2018年7月5日
反応はちょっと薄い(様子見?)
どうやら、マリオのコイン音だとあまり興奮しない様だ。 手で触ってる時は興味ありそうやったけど、、、
息子が今はまってる音に変えなあかんなぁ
早く作り、早くフィードバック! pic.twitter.com/83Ls4g9YC8
息子の好きなピタゴラスイッチ音の場合
先日作成した音の鳴る自作メロディ靴。息子が今一番はまっている「ピタゴラスイッチ」の音楽に変更!
— おぎもとき (@ogimotoki) 2018年7月14日
前のマリオ音より食い付きよく、お母さんの手を引っ張ってきて「足押して!」のアピール! 良い感じ♪
しかし、靴にLEDを付けると姿勢が下がってしまった。こりゃ、まだ改良が必要だ! pic.twitter.com/GYAoT9AoW5
やはり、好きな音楽になると食いつきが違う!母の手を引っ張ってきて、「押してー!」とアピールしている様子が見える。
この様に、その時の好みに応じて柔軟に対応できるのが、このメロディ靴の良いところ。
LEDと振動モータをつけたのも良い傾向ですが、LEDを靴につけた分、下向きの姿勢になってしまうのが残念だった。
やはりLEDは体の正面にする必要がありそうですね。失敗したなぁ(>_<)
こりゃあ、さらに改良版が必要そうだ。
先は長いなぁ~ 頑張ろう!