かならずお読みください注意事項

エンチャントでおもちゃ

ワンスイッチでどこまでできるのか

スイッチ操作練習用サンプル

スイッチテスト用

0 はじめに

無料のオンラインゲーム製作フレームワーク、enchant.jsを使ってパソコンでもスマホでも使えるコミュニケーションエイドを作るためにいろいろ試しています。

ところでこれを利用して、操作スイッチのいろいろなアルゴリズム(仕組み、ルール)を作れることがわかりましたので、前回までのようにバナナを上下に動かすゲームを題材に何種類か作って試してみました。enchant.jsはゲームを構築する際の画像や効果音などの基本的機能が一式セットになっていますので準備も勉強も少ない手間でできます。さらに欲しい機能を追加するときにはJavaScriptで書き足したり、誰かが作った機能を参照したりなどして、自分なりの創意工夫が手軽に実現できますので、医療や福祉や教育などの現場で仕事する人には向いているように思います。

このような分野に関心をお持ちのかたは取り組んで見る価値はあると思います。うまく行けば欲しいものが自分で作れるようになるかもしれません。

さて今回は、ワンスイッチでどこまで出来るのかと題して、ここまでやったことを応用して、ひとつのボタンで複数のボタンを使い分けるスイッチプログラムをつくります。不自由な人と接する機会のある人もない人もご覧になってください。それでは始めましょう。

1 今回の取り組み

まずスイッチの働きを理解するためにシンプルなプログラムを2種類つくります。ひとつは押す(ONにする)時間で複数の選択肢をえらびます。もうひとつは一定時間に押す(ONにする)回数で複数の選択肢をえらぶ方式です。どちらも操作のための動作は『押して放す』(ONにしてOFFにする)ですが、押し方と放し方の良し悪し、言葉を代えると『動作の品質』によって使えるボタンの数が増えてくるところに注目してください。

2 ON時間で選択する

このサンプルはこのページトップの画像のような外見をしています。起動すると1,2,3の数字と3つの時計と5つの星が表示されます。そこで黄色い四角をクリック(タップ)し続けると1秒間隔で時計が表示されます。

1番目の時計が表示される前に放すと1番の上の星が、1番が表示されて2番が表示されるまえに放すと1番の星が、2番が表示されて3番が表示されるまえに放すと2番の星が、3番が表示されて一秒以内に放すと3番の星が、それ以降に放す一番下の星が表示されます。

ことばで説明するととてもわかりにくいですので、実際にサンプルを動かしてください。そのほうがより理解できると思います。さてこのようにONする時間で5つの星のうちどれを表示させるかを選ぶことができるようになります。

 ON時間で選択するサンプル

このタイプの特徴

不自由を持つひとは震えや痙性(例えば筋硬直)によってうまくスイッチ操作できない場合があります。震えではごく短い時間ONになり、痙性では長くONになります。上のサンプルで1秒以下や4秒以上の場合何もしないようにプログラムするとこのような失敗が減り、使う人の不便を減らすことができるかもしれません。

またスイッチからノイズがでることもあります(チャタリング)。普通は回路の工夫で取り除くことが多いですが、ソフト的に取り除くこともできます。

このタイプを使用するには長くONできることが必要です。この際、視覚や音で提示するとタイミングが取りやすくなることがあります。

長くONしたり、短くONしたりできると、単にONOFFできる場合よりも倍以上可能性が広がるのですが、その分知的な負担が大きいので理解や疲労に注意が必要になります。

パシフィックサプライのppsスイッチなどワンショット信号のスイッチではここで使っている長くONすることができません。このような場合は二番のサンプルをお試しください。

3 ON回数で選択する

スイッチ操作練習用サンプル

スイッチテスト用

このサンプルは上の画像のような外見をしています。(まるで見分けがつきませんね)起動すると1,2,3の数字が表示されます。そこで緑の四角をクリック(タップ)するごとに時計が表示されます。

3秒間で1回クリックすると時計がひとつで1番に星が出ます。3秒間で2回クリックすると時計が2個で2番に星が出ます。3秒間で3回クリックすると時計が3個で3番に星が出ます。4回めのクリックすると元に戻ります。

これもことばではわかりにくいですので、実際に下のサンプルを動かしてみてください。このように一定時間内にONする回数で3つの星のうちどれを表示するか選べます。

 ON時間で選択するサンプル

このタイプの特徴

このタイプはONを続けたりタイミングをとる必要がありません。単発、双発、三連発を使い分けて待つだけです。身体的負担はありますがシンプルで理解しやすいです。ただ決定までの時間(このサンプルでは3秒)が必要ですので、先読みして操作するか、時間的にゆとりのある用途にする必要があるかもしれません。

また選択数が多いと、多連発が必要になり疲労や制限時間の設定などで実用性が低くなる傾向があります。

4 これらで3ボタンを操作しバナナをうごかす

せっかくサンプルを2つつくりましたので、以前「バナナをうごかそう」でつくった、3ボタンでバナナをうごかすサンプルに組み込んでみます。実際には今回のサンプルから何行かをコピーしました。

スイッチ操作練習用サンプル

ワンスイッチで3ボタンを操作するテスト用

ワンスイッチのON時間でバナナをうごかすサンプル ボタンでバナナがうごきます。ボールが10秒間隔で落ちてきます。

ワンスイッチのON回数でバナナをうごかすサンプル ボタンでバナナがうごきます。ボールが10秒間隔で落ちてきます。

このようなやり方ができると、Aさんの好きなアプリにAさんがわかりやすいスイッチアルゴリズムを組み込んでAさんが使いやすいスイッチでそれを操作する、といったことができるようになります。

5 おわりに

今回は操作できるスイッチ数が少なくても、なんとかする方法について考えてみました。またサンプルを作り、実際に体験していただきました。またこのシリーズで3ボタンでバナナを動かすゲームを1ボタンでできるように改造して見ました。みなさんいかがだったでしょうか。

スイッチが少なくてもなんとかなるといえばなんとかなります。しかしご本人はそのためには、いろいろなルールを覚えたり、仕組みを理解したり、そして操作の練習が必要になります。もちろんうまくいって満足行く結果にたどり着けることもあるでしょう。

しかしその取り組みでご本人のこのような苦労が報われるのでしょうか。

このように考えると、可能な限り多くの随意運動を見つけ、それにふさわしいスイッチを適切に設置し、それぞれのスイッチに負担を考慮して適切に機能を割り振って、目的となる課題を実現するという従来の方法のよさを改めて考えさせられます。何よりもシンプルでそのひとが理解しやすくさらにエクササイズにもなります。

今回紹介したように、手段はいろいろたくさんあります。ですから特に理由のない限りは、特定の手段にこだわるよりも、何に取り組んだらその人のためになるかに力を入れるのがこれから大切になると思います。

そしてそのためにはどんな手段があるのかできるのか、そしてそのひとができるにはやりやすくするにはどうしたらいいのか。これを試し考え表現する手段として、enchant.jsとJavaScriptは役に立つのではないかと思います。

しかしいま『なにに取り組むべきか』を考えてアイデアを持つひとたちに、この『試し考え表現する手段』があまり普及していないのがとても残念です。

2020年から小学校でプログラミング教育が始まるそうです。せっかくやるのでしたらプログラミングでなにをやるのかなににつかうのかも考えてほしいと思います。

参考URL


2018/11/16 公開

研究企画課リハ工学科にもどる ←もくじはこちらです