MESH™ 射的を作った話
最近
MESH™ GPIOタグで、サーボモーターを動かすスキルを身に付けたので、早速レシピを考えてみました。
第1弾は「MESH™射的」です。
MESH™射的って?
射的の的をMESH™ Moveタグにすることで、的が倒れる時に効果音を鳴らし、さらに、自動的に的を起こすという、画期的なアイディアです!
お一人様での射的練習も、断然楽しくなります!
動作の様子はこちら
レシピ
準備するもの
- MESH™ Moveタグ、MESH™ GPIOタグ
- レゴブロック
- マイクロサーボ(SG92R)
- ジャンパワイヤ(オス⇔オス) 4本
- ブレットボード
- 5V電源(今回はモバイルバッテリーを使用)
- セロテープ
- ビニールテープ
- 接着剤か両面テープ
- 射的の的(今回は画用紙と爪楊枝で作成)
MESH™キャンバス
ロジックは非常に簡単で、
- 倒れたら45度位まで回転 & 効果音
- 1秒待って、0度まで、戻る
だけです。
作り方
まずは、レゴブロックに両面テープでマイクロサーボモーターを取り付けます。しっかり固定されている事を確認してください。
次に、ホーン部(回る羽の箇所)にもレゴブロックを貼りつけます。ここは、力がかかる所なので、接着剤か両面テープでガチガチに固めて下さい。
ホーン部をモーターに取り付けると、このような感じです。
今度は、土台を作ります。 的を起こす仕組みのための「穴」をあけておくことが重要なポイントです。
マイクロサーボモーターの部分と結合します。 ホーン自体が長いため、ホーンが回転できるだけの十分な高さを確保する事が重要です。 今回はレゴブロックでできた黒い箱があったので、そこに取りつける形で実現しました。
次にGPIOタグまわりについてです。 写真の様に結線します。 マイクロサーボモーターの電源/GNDは5V電源と、コントロールするためのPWMはGPIOタグと、それぞれ結線します。
テスト的に「起こし」動作を確認します。 図のように「穴」をすり抜けて、ホーンがあがってくれば成功です! 失敗する場合は各種位置の調整を行って下さい。
Moveタグにビニールテープなどで的をとりつけた後、セロテープでレゴブロックの台に固定できれば準備はOKです!
試しにMoveタグに取り付けた的を射ぬいてみましょう。 何度倒れても、立ち上がって来ることが確認できると思います。 今回の的は那須与一をイメージしています。
倒れて、起き上がる様を横から見た図です。 快適な射的ライフをお楽しみください。
感想・考察
MESH™ 風鈴を作った話
きっかけはアイディアソン
2014年の夏頃に、Sony MESH™を使ったアイディアソン に参加したのですが、その時のアイディアについては放置していました。
久々の飛び石連休を使って、これを実現してみようと思います。
当時の発表スライド(の一部)
他にも発展アイディア等ありましたが、今回のベースとなる部分だけ。
導入。
夏の暑い日だったので、風鈴とか良くない?
でも、風鈴で知恵袋を検索すると皆さん困っているのが騒音問題。
風鈴の音が嫌いな人だっていますよね。
そこで、Sony MESH™を使って、風を感じる部分と、音がなる部分を分離して、上記問題を解決しましょう!
これが実現できると、他にもこんな良いことあるよね。
以上の内容を発表していました。
早速、できました。
MESH™ 風鈴。
音が鳴っている様子はこちら。
スピーカーMESH™タグなんてのはないので、iPod Touchから直接、音を出しています。
作り方
MESH™ 風鈴HW
準備するのは、下記の材料。
- MESH™ moveタグ とその箱
- たこ糸
- 小さめのヒートン × 3
- だいたいの家庭に1つはある、ドーナツ状の木材
- たこ糸が4本通るサイズのビーズ
ドーナツ状の木材は、良くヤスリがけした後、キリを使って等間隔に穴を開け、そこにヒートンをねじ込みます。
ねじ込んだものがこちら。
ヒートンにたこ糸を通して、三本のたこ糸をビーズに通したら外側はほぼ完成です。
今度は、風を受ける所を作ります。
といっても、MESH™が入っていた箱の蓋と中蓋?を切り取るだけです。
先ほど切り落とした蓋とMESH™ moveタグをたこ糸とテープを使って繋ぎます。
MESH™ moveタグの上面にもたこ糸をつけて、先ほどのビーズに通したら完成です!
ここのたこ糸の長さは、上手くmoveタグが風になびいて外側に当たるように微調整してください。
試しに外に吊るして、家の中で音を出してみましたが、見事に外部の風を感じることができました!
上手く行きすぎてちょっとびっくり。
MESH™ 風鈴SW
キャンバス側も紹介しておきます。
以下の通りですが、風鈴の音はランダムに複数種鳴るようにしておくと、それっぽいです。
うちには本物の風鈴が無く(笑)、風鈴の音がとれなかったので、コップを叩いた音を二種頼録音して、それを使っています。
考察・感想
- 風を使ったアイディアは、風鈴以外でもなんかできそう
- 風鈴の外観はもっと凝ることが可能。和風・洋風色んなものが作れそう
- 「振動を検知したら」だと誤検出することもしばしば。加速度の生値取りたいなあ
MESH SDK IRKit tagをインターネット経由でも使えるようにする
Internet経由のIRKit操作にチャレンジ
せっかくソフトウェアタグのソースコードを差分管理できるようになった ので、開発欲がでてきました。
今回は、今まで見て見ぬふりをきめこんでいた、Internet経由のIRKit操作にチャレンジしてみたいと思います。
"Internet経由"を実現するためのAPI
詳しくはIRKitのページに記載があります。
できました
前回までの成果物は"Local", 今回の成果物は"Internet"という名前にしています。
ソースコードはこちら
詳細ビューも参照下さい。
"Internet"版の使い方
IP Addressの準備
まずは、ローカルなネットワーク環境にて、こちらを参考に、IRKitのIP Addressを準備しておきます。
取得できましたら、IRKit tagのSetup画面にある"IP Address"の値として、入力します。
IRKitサーバー利用のための登録
Internet経由で自宅のIRKitに接続するためには、IRKitサーバーを利用する必要があり、タグ内にそのトークン情報などを登録する必要があります。
ローカルなネットワーク環境にて、MESH Canvas上でIRKit tagの"Register"コネクタにボタンタグ等を接続し、実行してください。
登録作業自体はこれだけで完了です。
リモコンコードの学習
MESH Canvas上でIRKit tagの"Learn"コネクタにボタンタグ等を接続し、実行してください。
その後、対象のリモコンコマンドをIRKit本体に向けて発行します。
これでリモコンコードがタグ内に保存されます。
リモコンコードの発行
ここからは、ローカルなネットワーク環境でなくてもOKです。
MESH Canvas上でIRKit tagの"Send"コネクタにボタンタグ等を接続し、実行してください。
外出先からの指示にもかかわらず、お家のIRKit本体から、リモコンコードが発行されるはずです!
ただ、困ったことに
MESH SDK開発のためのお助けツール
MESH SDKを使ってみた感想
前回の投稿 で、脆弱性対応のため、ソース変更を行いましたが、管理対象の"Export"ソースは、一行テキストなので、修正差分を表示してみると、残念な感じです。
また、一行テキストのため、他人のソースを参考に開発したい場合でも、一旦"Imoort"が必要になってしまうのはイマイチかなぁと。
ツール、作りました
MESH SDK上でExportした(JSON)テキストをコピペするだけで、下記2種類を得ることができるツールを作ってみました。
- 差分管理向けの整形済みテキスト
- 一覧性を重視したHTML形式の出力
こちらにupしていますので、いつでもご利用いただけます。
使用イメージ
先日作った、IRKit tagで試してみます。 まずは、Exportしたテキストをコピペして、"Decode and View!"ボタンを押してみてください。
すると、こんなのとか、
こんなのとかが、得られます。
それぞれに付いている、ダウンロードボタンを押すと、テキスト/HTMLファイルとしてダウンロードできます。
これを使うと、差分管理も、いい感じです。
MESHのSDKでIRKitのソフトウェアタグを作った話
結論から言いますと
成果物はこれ↓です。
MESHがiPod対応してくれたので
iPadが無いわが家では、カラフルな重さの無い文鎮と化していたSony MESH™ですが、最近iPodにも対応してくれたので、気軽に弄ることが出来るようになりました。
また、先日、MESH SDKが限定公開されたので、実装仕様をチェックしたうえで、IRKitのタグを作ることにしました。
できました
今のところ、ローカルな環境限定ですが、事前にIRKitのIP Addressさえ指定しておけば、任意の赤外線リモコンコードの学習・発行が可能です。
使い方
IP Addressの準備
こちらを参考に、IRKitのIP Addressを準備しておきます。
取得できましたら、IRKit tagのSetup画面にある"IP Address"の値として、入力します。
リモコンコードの学習
あらかじめ、対象のリモコンコマンドをIRKit本体に向けて発行しておきます。
その後、MESH Canvas上でIRKit tagの"Learn"コネクタにボタンタグ等を接続し、実行してください。
これでリモコンコードがタグ内に保存されます。
リモコンコードの発行
MESH Canvas上でIRKit tagの"Send"コネクタにボタンタグ等を接続し、実行してください。
IRKit本体から、リモコンコードが発行されたはずです!
まさかの落とし穴
久しぶりにIRKitについて調べてみたら、なんと脆弱性対応のため、新バージョンのIRKiに対しては、新しいWebAPIに対応する必要があることがわかりました。
早速対応します。
要はHTTPのヘッダ部に
X-Requested-With: curl
を追加するだけで良い
という話ですので、以前のコードに対して、下記のような変更を加えて、動作することを確認できました。
IRKit ver2.0, 3.0両方で動作することを確認済みです。
brickpino製作日誌 その6
動作確認の前に
これから何度も抜き差しするかなと考え、レゴブロックと基板/配線をくっつけることにしました。
特に、ピンソケットのプラスチックは(色々な接着剤を試しましたが)完璧にくっつけることができず、結局、ただのボンドを注入して固定することにしました。
後戻りできないため、かなり勇気いりましたが、1日経って確認したら、ひとまずはうまく行ったみたいです。
動作確認
ダメでした。
PCに接続してもUSBドライバがあたってくれず、Unknown Device表示となります…
(とすると信号品質?)
ジグを外してみたり、直接8pinoのD+D-線とUSBケーブルを繋いでみたり、色々な事を試しましたが、今のままのHW構成だと、何かがお気に召さない様です。
ここで心折れる
むー。
ハンダからやり直す事を考えると、ちょっとげんなり。
他に優先度高い案件があるので、しばらく時間を置いてから再チャレンジとします…
考察
- 良く考えたら、8pinoに前もってfirmを焼いておけば良かった。こぼしてしまったミルクを嘆く。
- やっぱりハンダ付け多用の工作は初心者には難しい。AgIC 粘土版みたいなの出ないかな。
- 今回は売ってる部品をそのまま駆使して作ったので、大きくなってしまったが、削ったり、工夫すれば、もう少し小さくできると思う。結果、レゴブロック内の円柱を折らなくても良くしたい。
- 何事も勉強すれば(多少は)上手くなる。
- 失敗こそ、記録に残すべき。実験ノートじゃ無いけれど。
brickpino製作日誌 その5
今回はジグの話
今までは主にMESHとの接続に関する記載が多かったのですが、やはり普通の工作には、ブレッドボードを使う方が圧倒的に多いと思います。
がしかし、brickpinoの2×5ピン配置だと、普通のブレッドボードにはささりません。
恐らく、ケーキボード
というものでしたら、直接させる(し、レゴ・フレンドリーだ)と思いますが、正式販売はまだの様ですし、何より、早く動作確認したいです。
というわけで
普通のブレッドボードに挿すためのジグを作ることにしました。
材料は、
- 2 × 5 ピンソケット
- 1 × 5 ピンヘッダ 2個
- 8pinoに付いてきた手で折れる基板の寄せ集め
の3つです。
一回戦 → 失敗
まずはピンソケットと基板を着けてから、ピンヘッダを付けてみました。
1. 裏面。 2. 表面。 3. ピンヘッダは、長さ調節しておきます。 4. 完了
4.の時に、穴同士を繋ぐ事がなかなかうまくできなくて、ちんたらしてたら、ピンソケットの穴にハンダが流れ込んで、ピンがささらなくなりました。
こんなのばっかり…
二回戦 → 成功
一回戦の失敗を踏まえて、ピンソケット側の足を折り曲げて、ピンヘッダの近くにもっていくことで、成功!
A. ハンダの量も少なくて済みました。
B. ハンダ付け直後の様子。
C. ピンヘッダの不用部分をカット。
brickpinoとドッキング!
いい感じです。導通確認もOKです。
環境も出来上がったので、次回はいよいよ、ブレッドボード上で動作確認です!