どこでもスイッチを作っている話
sohatach
自己紹介
エムスリーでエンジニアをやっています。
今月で入社10ヶ月目になります。
職場では、テックサポートという形でMR君という医師向けサービスに関する社内からの
技術的な問い合わせの対応を主な業務としています。
言語としては、ShellScript(bash)とSQLをよく書いています。
その他にもJava,Python,Rubyなども時々やります。
今回のお話
業務とは関係ない完全に趣味の世界の話になりますが、
Arduinoという小型のコンピュータを
Androidスマホから操作して、
壁のあらゆるスイッチを押せるようにする。
使い方
遠くにあるスイッチを手元で押せます。
いち早くスイッチを押せれば、待たずにスイスイ乗れちゃう?
どんな作り?
必要なもの(1/2)
・Arduino UNO R3
・マイクロサーボSG90 http://akizukidenshi.com/catalog/g/gM-08761/小型のサーボモーターです。
サーボモーターとは、
連続回転する通常のモーターと異なり
角度を制御できるモーターです。
90度だけ回転する。といったことが可能で、
回すのではなく、(例えばロボットの腕を)振る。
といった動作が可能です。
これが今回物理的にスイッチを押す役割を担います。
必要なもの(1/2)
・SBDBT (ランニングエレクトロニクス) http://runningele.cart.fc2.com/ca1/2/p-r-s/
ArduinoをBluetooth化し、シリアル通信可能にしてくれる優れもののマイコン基板です。
この基板のおかげで Arduino側のプログラムがとてもシンプルになります。
PC用のUSB接続のBluetoothアダプターが使用できるため、技適に適合した国内流通の無線機器を使用でき
ます。
・Bluetooth®4.0+EDR/LE対応 USBアダプター BSBT4D09BK http://buffalo.jp/product/peripheral/wireless-adapter/bsbt4d09bk/
参考 SBDBTを使ったArduinoとWindows PC間のBluetooth通信
http://qiita.com/imura/items/8c640fc2b0af0d8ef2d5
・モバイルバッテリー (Arduinoの電源に使用 )スマホの充電用に使用されるごく一般的なものです。
・各種ケーブル、ビニールテープ(サーボモーター固定用)
全体像
設置例
動画再生
ソースコードなど
Arduino側の一部抜粋です。
void loop() { char c; c = Serial.read(); if (c == '1') { delay(10); myservo.write(30); delay(1000); myservo.write(0); }}
全ソースコードはこちら、 https://gist.github.com/soha/30cbd50181306b6a8a4e
Android側の実装は?
時間がなく作れませんでした。。。ごめんなさい。
代わりに有志が既に作成してくれている
Bluetoothでターミナル接続できる
アプリで動作確認しています。
S2 Terminal for Bluetooth Freehttps://play.google.com/store/apps/details?id=jp.side2.apps.btterm&hl=ja
まとめ
悩んだ点
・どうやったら物理的に押すという動作ができるのか?
・壁への取り付け方法
これからやりたいこと
・小型化
・壁に取り付けるスマートな方法の開拓(ビニールテープはちょっと。。。)
・モバイルバッテリーで実際どこまで動かせるか
・Androidアプリの開発
・エレベーターへの設置
ご清聴ありがとうございました。
Top Related