ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

arduinoコミュのコップの水がこぼれない映像

  • mixiチェック
  • このエントリーをはてなブックマークに追加
コップの水がこぼれない映像をYouTubeで発見しました!

「なんのこっちゃ?」って?!とりあえず以下のムービーを見て下さい。
http://www.youtube.com/watch?v=-q7pv8vKH68

で、今度はコレに挑戦しようと思います!(笑)

ムービーの解説に「センサ・サーボ他部品は秋月電子のオンラインショップで購入...」と書かれているので、部品の購入も簡単に出来そうです。
#部品の選定もなんとなく予想がつきそうです!

ただ私はソフトウエア屋ではありますが、私の時代にはロボットとかな流行ってなかったので、ハードウエアやセンサー系がイマイチ判りません。

これを作るには「加速度センサ」と「ジャイロセンサ」のどちらを使えば良いのでしょう?
これらのセンサとサーボと...あとは器用な工作の出来る腕(笑)があれば完成しそうな気がします!
#サーボのコントロールもarduinoのライブラリにあるみたいだし!

この手のセンサのことが解る方がいらっしゃいましたら、どちらのセンサを使えば良さげか教えていただけないでしょうか?

コメント(30)

加速度センサですね…。
3軸のやつで、ギャップの振動も吸収してください(笑)
torobeat様、やっぱりそうですよね!
ってギャップ部分の対応を考えてました(笑)

そうですか、加速度センサで測るのですね!有難うございます。

秋月電子で加速度センサは3軸の物が2種類しかWEBに載っていません。
たぶんムービーのかたは、そのどちらかを使われたのだと思います(勝手な予想)。
http://akizukidenshi.com/catalog/g/gI-01425/
http://akizukidenshi.com/catalog/g/gI-02347/
一方の商品は「衝撃や2Gを超える加速度を与えると出力が異常な値を出力したまま固定したり、オフセットや感度がずれて戻らなくなったりしますので、ご注意下さい」とアレな感じです。
しかも、どちらも今の私では資料がサッパリ理解できない感じです!

とりあえず資料を理解するところから開始です。
なんとなく...アナログ入力に繋ぐだけじゃダメっぽくて悲しい気がします。

浅草ギ研からは、使いやすそうな3軸加速度センサが出ていますが、チトお高いですね(笑)
http://www.robotsfx.com/robot/TriAxisSen.html
でも....私みたいな人間は「お金払っても楽な道を通ろうかな」と思うかもです。
#理解出来ず、前に進めないことの方が嫌
面白いですね、これ。

このレベルになると実用性とかはどうでもいいですね。

ネックになりそうなのは、
動く台の工作
サーボモーターの使いこなし
加速度センサーの使いこなし
の3つになりそうです。

逆にこの3つさえ解決できれば後は気合で何とかなりそうです。
Wiiのコントローラから加速度の信号を取れたと思います。
安くて入手しやすいと思いますがどうでしょうか!?
http://d.hatena.ne.jp/clayfish/20090405/1238924970

natsuki様、なんか異常に楽しそうですね!

でも急激にやる事が増えそうな....?

ハードウエアも4ピンだけでarduino直結みたいだし
I2CとやらもWireライブラリでOKっぽいし
なによりソースが付いてるので...むしろ簡単なのか!?!?

一番の問題は、私がWiiもヌンチャクも持ってない事ですね(笑)

浅草ギ研のを買っても4000円チョイするのでヌンチャクを買うのも楽しいかなぁ?
デジタル方向キーも付いてるみたいだし面白い入力デバイスになりそうなのでヌンチャクで行こうかなぁ?
しかし精度は...いや、まともにゲームが出来るのだから大丈夫ってことにしようかな!?

ちょっと悩んで土日には何かしら買ってプロジェクトをスタートしようかと思います!(笑)
先日、サーボを買いました。
arduinoならライブラリ完備なので、ほんとに簡単に制御できます。
現在の為替レートを針式のメーターで示す…なんてのを作りました。

サーボ自体を動かすのは簡単なのですが、問題は「サーボの動きを、他のメカにいかに伝えるか」です。サーボの固定とか、付属のホーンをどのように使うか、このあたりの情報は結構少ないですね。メカの加工を伴うので、スケッチを組む事より大変というイメージ。

この、コップの水が溢れない…というのも、センサーとサーボを活用した格好の題材だと思うのですが、「会社のレーザー加工機をこっそり借りて作成」との記述にちょっと引いてしまいました。やっぱりメカの加工って大変なんですかねえ。

ちなみにこれは、コップを置くテーブルにセンサーを設置、(Zが高さ方向として)X,Y方向の加速度がゼロになるようにそれぞれの軸のサーボを制御すればいいのかな。
インタフェースをどうするかで、
アナログだったら秋月のセンサでXYZの電圧をA/Dで取得です。
デジタルだったらI2Cです。

Wiiヌンチャクのコネクタを切るのがちょっともったいない気がするので
蓋を開けてリード線を出せば壊さずにアクセスできそうです。試してませんが。w

wiiコントローラ本体だったらBluetoothで通信できるはずなので、通信できないか実験する予定です。
ArduinoにつながりそうなBluetoothチップを輸入してるところです。10個あります。w


面白いですね。
もう1軸(上下)加えて自転車でやってみたいな。w
段差とか無理かなぁ。Gの範囲が広いセンサが必要そうだ。

ArduinoならPID制御のライブラリもあるからライブラリを組み合わせるだけでできるかもしれないですね。
車ならタイヤ、ショックアブソーバ、マウントブッシュ等でそこそこマイルドになってると思うので、試しにサンプリングしてみて、ほんとに超えるかどうか確認してみるのが妥当かも。
あとはセンサのマウント方法を斜めにするとか、究極的にはステージの上にマウントしてGを吸収する機能でセンサ自身を守るとかw

とにかく面白そうな事になってきたのでWIIのヌンチャクを購入しました(笑)

しかし...三又ネジなので私の手元のドライバーでは開かないようです....。

イキナリ線を切るのもなぁ...と思った矢先にコネクタ(?)を発見!
しかもarduino用みたいです!
http://www.switch-science.com/products/detail.php?product_id=221
「スイッチサイエンス」ってメーカーで「WiiChuckアダプター」ってモノです。

カラー液晶の時同様「スグ欲しいから行くので直販してくれませんか?」とメールを(笑)
さて、いつ返事返って来るかな?

これでコントローラを破壊せずに実験出来そうです!
ちょっと話はそれますが....

じぇーけーそふと様 & torobeat様

そーなんですよ!
車やバイクにはショックがついているので、動き(突き上げとか)がマイルドなのにな....
と思い断念することが多いです。

例えばPSP本体とPSP用GPSレシーバーとPSP用ナビソフトが販売されています。
秋葉原の怪しいショップでPSPを自転車のハンドルに固定するユニットも売られています。
しかし、その固定ユニットはプラスチック製で、ハンドルに直留めです。
PSP本体は電子機器だし、UMDドライブも付いてるし....自転車での路面衝撃に耐えられなくね?
と考えると購入まで至りません...。

その点クルマやバイクは路面からの衝撃がショックアブソーバーにより軽減されているため
その部分の心配は少なくなります。

今回の「コップの水....」も、Y軸(上下)衝撃吸収まで考えたいですが、自転車での衝撃には
追い付かない気がしますね....
と言うか、自転車にarduino本体を固定する時点で悩んじゃいそうな弱気な私でした!
私はPSPにナビソフトを入れてバイクでナビしてます。
メモリにソフトを入れておけばUMDいらないです。

ヌンチャク買ったんですね。w センサー入りで1600円なので安いです。どうせWiiに繋がないならぶった切っても良いような気がしてしまうんですが、基盤300円はちょっと高いです。
最終的には自転車にコップの水をこぼさない台を付けたいのでしょうか?
natski様

なんとなく、ぶった切る勇気がありません。
本当は、この基板みたいなものを自作したいのですが、ぶった切った場合での線(の色)に対する何の線であるかの解析ページは見付かるのですが、コネクタのままでのピン配の解析情報が見付かりません....

どなたかWii用ヌンチャクコントローラの4ピン(VCC,GND,CLOCK,DATA)の配置が解る方いらっしゃいませんか?
これがわかればコネクタ(基板)を買う必要はないんですがね....

ちゃんとしたコネクタなら買う価値ある気がしますが、たしかにこの基板ではちょっとテンション下がるかもですね(笑)
ただ300円で情報を買うと思えば安いもんかな...と。

因みに自動車やバイクのようなショックのあるものに取り付け、水がこぼれなくなったら満足して実験終了となるでしょう。
とりあえず、秋月で買った加速度センサーと千石で買ったサーボで、1軸での「サーボを動かしてもセンサー部は常に水平」ってのを作ってみました。
しかしサーボの動作スピードを加味した制御が必要になり、発振せず、かつ水がこぼれないような高速な制御となると、結構難しいですね。
itakao様

サーボの速度使用を教えていただけませんか?
#「スピード:0.17秒/60度(4.8V)」とか

もしくはサーボの型番などを教えて下され。


0.05秒/60度くらい早くなったところで....あまり変わらないですかね?

VCCの量によっても変わるみたいなので、入力出来る最大量を入れてみるとか!
#熱問題が発生するかな?

など。

今日はサーボをみに秋葉原に出向く予定です!
#ヌンチャクはコネクタ(基板)が来ない or ピン配が解らないので未着手です...
わかにゃんさん:

ここで使ったのは、ミニスタジオのRB303cというものです。千石で買いました。
0,20sec/60度(4.8V)、これを5Vで駆動しています。

センサーを台の上に乗せてフィードバック制御するよりも、センサーは台の外に置いて単純に加速度によって台の傾きを制御するほうが簡単そうです。
jtakao様

本日既にTowerProのMG16Rってのを購入しちゃいました。
http://www.vstone.co.jp/top/robotcenter/
上記ショップで購入したのですが、今調べてみたら945円は安かったようです。
#千円以下なので何も考えず買ってみました

今からサーボをarduinoに接続してみます。

ヌンチャクはピン情報が得られず放置中!
きっと明日(平日)にはコネクタやさんから返事が来るでしょう。
直販OKだったら明日の昼間には購入に行こうと思います!
そーすれば明日にはヌンチャクにも着手出来るでしょう!

とか。
写真のマーキングから、大部分は見当つきますけどねー
パターンも透けてるし(笑)

http://todbot.com/blog/2008/02/18/wiichuck-wii-nunchuck-adapter-available/

VCC pur(+)
GND gnd
CLOCK clk
DATA dat

nc は未接続としても、attはなんでしょね?
torobeat様

うーん...パターン透けはイマイチわかりませんが...

purとattが何だか解らなかったのがpur=VCCとわかり助かりました!

いつもそうなのですが...嬉しさのあまり、試す前に書き込んでしまいます。
よって今から試してみます!
キターッ!
ヌンチャクのデータが読めました!!

さて、どのように説明しましょうね...?

--------------
ヌンチャクのコネクタを覗くと、下の段(?)には3つ接点がありますが、上の段には左右2つしか接点がありません。
--------------
この表現で私が言いたい上下が理解していただけますかね?

では、もう一つ違った表現を。
--------------
ヌンチャクのコネクタは凹形状ですよね?
コネクタを覗くように見て、平らな方を下として、へこんだ側を上とします。
--------------
この表現ではイカガでしょう?


では、私が接続したピンの説明です。
--------------
コネクターを覗き込んでの向きで書きます。
1.左上がクロック(arduinoのanalog5に接続)
2.右上がグランド(arduinoのGNDに接続)
3.左下がVCC(私の場合はarduinoの5Vに接続、3.3Vに接続でも良いらしいです)
4.右下がdata(arduinoのanalog4に接続)

1 2
凹
3 4

こんな感じです。

間違わないように書いたつもりですが、この通り繋いで壊れても私に文句いわないで下さいね〜

P.S.ブレッドボードで使うジャンパワイヤーが、ヌンチャクのコネクタにイイ具合にささりました!
おめでとう!
取得情報をシリアルでPCに転送してみてください。
natuki様

値を液晶に表示してみました。
#かなりプルプル変化しています(泣)

map命令を使って-90〜+90度に変換しました。
#目指しやすいようにプラスマイナス表記にしました

その数値をサーボに渡しました!

サーボがプルプルし続けます。

このままでは、何もしていないのにコップの水がこぼれます!!!!!

jtakao様、秋月の加速度センサーで作った場合はイカガなもんだったでしょうか?!
私の持っている書籍(arduinoをはじめよう)では「サーボは2つ(9ピンと10ピン接続)」しか書いてありません。
なので密かに3軸はパスろうかな...と思っていました。

しかし今一度WEB上のarduino日本語リファレンスを見ると!
http://www.musashinodenpa.com/arduino/ref/
Servo部分に「Arduino-0017から、ServoライブラリはほとんどのArduinoボードで最大12個のサーボをサポートします」と書かれているではありませんか!

ただココで疑問なのは「ほとんどのArduinoボード」と言うのがArduinoDuemilanoveを含んでいるのか?」です。
しかも「Megaにおいては最大48個です」とも書かれているのでMegaじゃなくても12個もコントロール出来るんだ!って感じですね。

通常は9と10ピンを使います、つまりデジタルピンを使いますね。
しかしデジタルピンは13個ありますね。
しかも0と1はTXとRXですね。
サーボ12個コントロールには何番ピンが使えるのでしょうね?

「デジタルピンは13個あるので、サーボも13個コントロール出来るのでは?」と思うのは私が素人だから?
もしくは大人の事情で12個なの?(笑)
>「ほとんどのArduinoボード」と言うのがArduinoDuemilanoveを含んでいるのか?
現在、標準的なArduinoといったらArduinoDuemilanoveでしょうから、問題ないかと(^^;
328と無印(168)の違いはメモリー容量の違いだけですので。

>しかしデジタルピンは13個ありますね。
デジタルピンは実質0〜19の20本ですね。↓補足参照
http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=1773

>サーボ12個コントロールには何番ピンが使えるのでしょうね?
サーボのライブラリをざっと読んでみました。
どのピンにもサーボを割付できて、
割り付けられる最大数が12本という事の様です。

なぜ12本までなのかは調査続行中(^^;
パルス送出間隔内に、順番に1巡して戻ってくるとすると、そのくらいの数になりそうな気が…。

そいや、標準的な送出間隔よりも短い間隔でパルスを送り込むと、ゲインがあがるとかいうイレギュラーな使い方があったような…。もちろんアナログなサーボ限定のお話でしょうが…。
わかにゃんさん:
私が14で作ってみた例は、センサーをテーブルの上に置いてフィードバック制御していました。
なので、サーボがプルプルするかどうかは、フィードバックするゲインの大きさに大きく依存します。

フィードバックだと結構面倒なので、今度はフィードバックしない方式で作ってみました。Arduino基板の上に加速度センサーがあり、基板を傾けてもサーボの出力は(ほぼ)水平です。

普通に制御すると、ノイズや微妙な振動でかなりサーボはプルプルと暴れます。加速度センサーの場合に限らず、A/D変換にはノイズ等による微妙な変動が付き物なので、それをうまく吸収する必要があるでしょう。
この動画の例では、loop()の中に1msのディレイを置いた上で、過去40回分の平均値でサーボを制御しています。

加速度センサーは結構感度が良く、サーボとArduino基板を接した瞬間にサーボの振動がセンサーに伝わってさらに振動…なんていう事もありました。

jtakao様

わざわざムービーまで有難うございます(笑
「過去40回分の平均値...」との事ですが、それだと反応が遅くなっちゃいませんかね?
車の挙動とコップの水...と考えると過去2〜3回が限度じゃないかな?とか思っております。
とくにヌンチャクコントローラではjtakao様のプログラムよりずっと遅いプログラムになっていると思います。
さらにカラー液晶にデバック表示をシリアル通信で山程してますし....

しかしムービーを見る限り十分な反応速度ですね!

と言う事で、明日秋葉原方面に行くのでjtakao様と同じ(だと思う)秋月の加速度センサを買ってリトライします。

なんとなくヌンチャクコントローラが楽しくて画面に立方体を表示してグルグル回して楽しんじゃったりしていた一日でした。
#元々ゲームのプログラマーなので画面内で絵が動くのが楽しいです(笑)

サーボも小さくて安いの買ったから...コレも怪しいんだよな...
定数入れてもジージー鳴ってプルっちゃう角度とかあるしぃ〜

しかし秋月の1000円センサ
http://akizukidenshi.com/catalog/g/gI-01425/
「衝撃や2Gを超える加速度を与えると出力が異常な値を出力したまま固定したり、オフセットや感度がずれて戻らなくなったりしますので、ご注意下さい」
この注意書きが気になる...
あと、WEB上ではチップ自体の英語PDFですが、商品には基板上のピン配マニュアルが付いてるんですよね?

とりあえず「部品のせいにしてみようかな!」みたいな感じです(笑)
わかにゃんさん:
はい、「過去40回分」というのは、安定して制御されているように見えるように適当に選んだ値で、たぶんこれだと水はこぼれます。実際にコップの水がこぼれないようにするためには、大きく変動する値は採用し、微妙に変動する値は無視するというようなプログラミング上の工夫が必要かもしれません。まぁ、こういった、いかにうまくデータを処理するかという事が、センサーを利用したフィジカルコンピューティングの楽しさのひとつでしょうかね。

ちなみに僕もデバック段階ではシリアル通信で各種情報を送信してますが、今回の撮影段階ではそれらの処理はすべて消しました。

秋月の1000円センサーは、各ピンの処理方法がマニュアルに日本語で明記されているので問題なく使えると思います。電源を5Vにすれば0Gで2.5Vが出力されるので、そのままAnalog入力端子に接続するだけで良く、とても簡単です。
本当は新しいスレッドを立てたかったのですが、arduinoとはチト違った話になってしまうのでココに続けて書きます。

本日秋葉原に行きました。
最近「ロボット」が流行っているので「色々な機械パーツが売ってるのだろうな!」と心踊らせて行きました。
しかし現実は.....

私が欲しかった物は、サーボの先に付ける部品や、物を固定する部品でした。
しかし実際には「既製品のロボット」に近いものがほとんど....

なんとも表現が難しいのですが、木工を例に例えると....
「木材と木ネジと木工用ボンドが欲しかったのに、既に加工され、はめこむだけで完成する商品しか売ってない!」
こんな感じです。

実際ロボットコンテストとかの番組はチョロッとしか見た事がないのですが、あれらのロボットは完全オリジナルで、全パーツ手作りとかじゃないのですか?

今回まわったロボット屋さんは「ツクモロボット王国」と「ヴイストンロボットセンター」の二店です。
http://robot.tsukumo.co.jp/
http://www.vstone.co.jp/

モーターとかサーボ、コントロールボードなど電子機器は売っています。
あとはロボット本体(パーツは完成していて組み立てるだけ)です。
ギアやプーリーなんかは売っていますが、ピアノ線とかジョイントなんかの「素材に近いパーツ」は無かったです。
#ギアやプーリーも十分素材に近いパーツですが...

もしかして、ホームセンター探した方がマシだった?
とか思った次第。

しかし、そこは気を取り直し....今度はラジコン屋を目指しました。
候補としては「スーパーラジコン」と「フタバ産業」です。
http://www.super-rc.co.jp/cp-bin/oscommerce/catalog/default.php
http://www.f-sangyo.co.jp/shop/goods/goods.asp?top
たまたまフタバに近い場所にいたので、先にフタバに行きました。
そうしたら....あるじゃないですか!

「テトラ」ってメーカー最高です!
今回購入したものは「ボールアジャスターA型」を2つと、「アジャスタストッパーS型」2つです。
本当は呂方ともA型かS型で買うものらしいのですが、売ってなかったのでサイズ違いを購入し加工予定です。
あと、テトラ....メーカーサイトが見付からないのですが、下記のような商品を出しているようです。
http://www.rchobby.jp/online/cargo/tetora.htm

と言う事で、素材に近いパーツを加工して、オリジナルの何かを作りたい場合は、ロボット屋さんではなく、ラジコン屋さんやホームセンターに行く方が良いのか?
と思った今日でした。


ちょっと疲れちゃったので「スーパーラジコン」は行きませんでした。
そして秋月のセンサーは......買い忘れた!!!!!!!!
「コップの水」とは関係ないですが、サーボ関連ということでここに…。

最近、PC用のモニタの調子が悪くなり、電源OFFで設定値がすべてクリアされてしまうようになってしまいました。毎回電源ON時に、入力を切り替え、輝度を調整し、そしてオンスクリーンメニューを消すという操作をしています。

これをArduinoで自動化しました。
サーボを2個使い、モニターのボタンを順番に操作します。



アホらしい事ですが、成功した瞬間は妙に嬉しいものです(笑)。

サーボの固定が問題でしたが、タミヤのユニバーサルプレートを使い、右側の大きなサーボは裏蓋固定のネジを一旦外し、そのネジでプレートに固定しています。左側の小さなサーボは0.5mm厚のアルミ版で固定金具を作り、それで固定しました。

問題は、この装置を置くと、キーボードを置く場所が無くなってしまいます(笑)。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

arduino 更新情報

arduinoのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。