かずくん日記

脊髄性筋萎縮症(SMA)1型の息子との生活や介護の記録をつづっていこうと思います。

USB接続版スイッチ・インターフェイス

Arduino Microを使って、USB接続のスイッチ・インターフェイスを作ってみました。主にパソコンでの利用を想定しています。

今回はUSB接続と言うことで、内蔵電池や電源ボタンは不要です。

例によってまずはブレッドボードを使って動作検証。ATMega32u4内蔵のプルアップ抵抗を使うことにしたため、抵抗も不要になり、いたってシンプルな回路になりました。

f:id:oganoken:20170722213708j:plain:w240

Hearty Ladderの設定画面を見ると、Windowsではゲームコントローラをスイッチとして使うようなので、Arduinoにはゲームコントローラのふりをしてもらうことにしました。ArduinoJoystickLibraryを使わせてもらい、ソースコードはこんな感じにしました。

ポインタを使えば構造化とかもっとちゃんとできそうですが、構文的にどこまでサポートされてるのかよく分からないので、まあこれで良しとします。

続いてハードの作製です。
テーパーリーマーでプラケースに穴を開け・・・
f:id:oganoken:20170722214529j:plain:w240


あっという間に完成!
f:id:oganoken:20170722214547j:plain:w240

タミヤ歩く象工作セットを改造 その2

タッチセンサー式スイッチでたまに動作しないのがやっぱり気になったので、もう少し手を加えてみることにしました。

たぶん流れている電流量が多すぎて、タッチセンサーのほうが動作不良状態になってるんだろうなと思い、いろいろ調べてみました。そしたらどうもトランジスタを使えば、スイッチ側に流す電流を抑えつつ、モーターにはしっかり電流を供給できることがわかりました。

さっそくブレッドボードを使って下図のようなプロトタイプを作ってみたところ、概ね問題なく動くことが確認できました。

f:id:oganoken:20170505130837j:plain:w240


回路図にすると下図のような感じです。モーターがMax 500mAの電流を流せるみたいなので、家にあったトランジスタの増幅率(コレクタ電流300mAで40倍)を気にしつつ、実際のモーターの動作っぷりを見ながらスイッチ側回路の抵抗を330Ωにしました。330Ωだとちょっとモーターの力が弱いみたいなので、ほんとはもっと抵抗を小さくしてもいいのかもしれません。

f:id:oganoken:20170505130843j:plain:w240


小さいユニバーサル基盤に部品をハンダ付けして、基盤そのものはスポンジテープで象さんの脇腹にはりつけて完成。例によってイマイチ回路が正しいか自信がないので、感電・発火に注意しながら使います(^_^;)

f:id:oganoken:20170506143120j:plain:w240

タミヤ歩く象工作セットを改造

f:id:oganoken:20170504184800j:plain:w240 f:id:oganoken:20170504184802j:plain:w240

GW2日目は、タミヤから出ている歩く象工作セットを改造して、スイッチで動かせるようにしてみました。
まずは普通に組み立てて動作を確認し、その後モノラルジャックをはんだで取り付けて完成。今回は超簡単でした。でも、タッチセンサーのスイッチだとたまに動作不良になります。たぶん流れている電流や電圧の関係なんだろうなー。機械式のスイッチだとまったく問題なく動作しました。でも機械式はもうかずくんは押せないので、若干の動作不良は目をつぶって、タッチセンサー式スイッチでかずくんに遊んでみてもらいました。

f:id:oganoken:20170504185136j:plain:w240

スイッチと連動して動いていることに気付いたのか、不思議がってしばらくスイッチをペチペチ押しながら、動く象さんを見ていました。何日かやったら、「スイッチ押す⇒象が動く」の因果関係がわかるかな?

スイッチでマリオラン

f:id:oganoken:20161230173202j:plain

マリオランをiPadにインストールして、スイッチで遊べるようにしてみました。
1-1面はたまに自力でクリアしています(^_^)

アンパンマンおもちゃの改造

f:id:oganoken:20161021214633j:plain f:id:oganoken:20161021214641j:plain
アンパンマンのおもちゃを改造してスイッチで遊べるようにしました。お気に入りのおもちゃだったので、自分で音が出せるようになって喜んでくれたみたいです。

BLE接続版かずくんスイッチの作製 その2

その1はこちら

ケース加工とハンダ付けも終わり、無事にBLE版スイッチインターフェースが完成しました。例によって、ケースの穴開けが一番大変でした。
f:id:oganoken:20161008212119j:plain f:id:oganoken:20161008212132j:plain

今回使用した主な部品は以下の通り。トータルで6,000円ほどかかりました。

# 部品 説明
1 Adafruit Feather 32u4 Bluefruit LE Arduino互換のBLE機能付きボード。今回の心臓部です。
2 Feather用のプロトタイプ基盤 回路を載せるのに使いました。でも今回は回路といっても抵抗2つで済んだので、なくても良かったかも。
3 LED付きスイッチ 電源ボタン兼電源ランプとして使用。Adafruit Featherは、GNDとEN(able)ピンを繋ぐことによって電源OFFにできます。そのため、OFFの状態では回路が開いていて、ONにすると回路が閉じるボタンが必要になったのですが、いろいろ探してようやくみつけたのがこれでした。ちょっと大きいですが、LEDもついてるので良しとしました。
4 リチウムイオンポリマー充電池 どれくらいの容量がいいのかわからず、と言ってもあんまり容量が大きいと怖いので、110mAhを選びました。
5 モノラルジャック x 2 スイッチ接続用。右手と左手でそれぞれスイッチを使えるよう2つ使いました。
6 1kΩ抵抗 x 2 プルダウン抵抗として使用。こちらも2つ使いました。
7 プラスチックケース 前回のケースより2まわりほど小さいケースをチョイス。部品構成を見直したらもっと小さいケースにできたかも。

明日からさっそく運用開始です。電池がどれくら持つかわからないので、あまり持たないようだったら、電池容量をアップしてみます。

BLE接続版かずくんスイッチの作製 その1

f:id:oganoken:20161004215727j:plain

以前こちらで紹介した通り、かずくんがiPadを操作できるようにArduino UnoとRN42 Bluetoothモジュールを使用してBluetooth接続スイッチインターフェースを自作していましたが、いろいろ不満があったので2号機を作ることにしました。

1号機は、Bluetoothのバージョンが2.2だからか、電池がすぐになくなるというのと、なぜかiPadとの自動接続ができないという不満がありました。

今回は、Bluetoothのバージョンをあげて、BLE対応にし、ベースの基盤としてAdafruit Feather 32u4 Bluefruit LEを使うことにしました。

このボードは、HIDKeyboard化するためのサンプルコードが用意されているので、それをもとにソースコードを書いてみました。まだ修正する可能性はありますが、だいたい以下のような感じです。

ブレッドボード上で組んだ回路は次のような感じです。
f:id:oganoken:20161004230610j:plain

この後は、ケースを作製して、その中に回路一式と充電池を格納する予定です。これが一番めんどくさいんだな。

それと、電源ボタンの実装に若干悩んでいて、ENピンをGNDにつなげると電源オフになるらしく、これをどう実現するかを決める必要があります。プッシュ式のボタンを使うつもりでしたが、それだとONにすると回路が閉じますが、逆にONにすると回路が開くようにする必要があります。スライドスイッチかロッカスイッチを使うしかないかなあ。

その2に続く