カテゴリー別アーカイブ: device

nubot


DTMFのトーンデコーダICと、Arduino Leonardo的な構成です。しかしDTMF解析を専用ICでやるのはだいぶレガシーなのか、作っている内に表面実装のものが入手不可能になり、途中のバージョンからはDIPに変更。



http://nuuo.jp/nubot/

シリアル通信

Xportを使って、PCとデバイスの間をTCPかUDPでつなぐシリアル通信のトンネルを作ろうとしているのだけども、なかなか簡単ではない。Xport自体は本当にシンプルに0-255の1byteを送受信してくれるのだが、PC側がどうしてもASCIIを意識していて、勝手に文字列しか送受信できないようにしているのが多い!迷惑!

といいつつ、シリアル通信はASCII文字コードの影がちらつくおかげで、実に趣深くなっているのも事実。はるかな昔の黎明期、シンプルな音声帯域のモデムやら、タイプライターみたいなプリンタがコンピュータとやりとりしていたような雰囲気が漏れ出ている。

こちらの画像はWikipediaより。良いね〜。

Sanguino in 有楽町

先日大量生産したカウンターを、某所に設営して参りました。開始時刻は午前3時。出発するまでの待ち時間には、この日記の母体であるWordPressをアップデートしたりなど、、、

発注した基板

パーツを載せた(手作業なので全部DIP)

設置完了!!

これは表側には、カウンターと、いわゆるリアル「い●ね!」ボタンがついているというものなのですが、僕の担当は純粋に現場のハードウェア(と、一部ソフトウェア)なので、どうでもいい話を。。

このカウンターは、Arduinoの親戚、Sanguinoで作っています。そいつらを束ねているのは、Max。

各カウンター間は、接続にはEthernetケーブルを使っていますが、信号はいわゆるRS-232C。DMXのようなRS-485も数珠つなぎに便利なんだけど、中継なしで現場の環境でどこまで届くか不明だし(というか去年それで怖い思いをしているし)、RS-232Cを毎回中継することに。
Sanguinoは、ピン数やメモリの問題というよりも、使われているATmega644PにUARTが2つ載っているので、数珠つなぎにするのにちょうどよいなーと。7セグをダイナミックスキャンしながらソフトウェアシリアルも大変そうだし、、

ちょうどアップデートされたばかりのWiringも同じATmega644Pベースで良さそうだったんだけど、偶然僕の環境ではSanguinoのブートローダが問題なく書き込めたので、そのままそちらで開発。

ダイナミックスキャンのアノード側はPチャネルのMOSFETなのだが、最初 2SJ377 と 2SJ334 を比べていて、後者の方が明らかにLEDが明るく光る。が、微妙に漏れているのか、完全には消灯できない。で、前者の方も、ON/OFFのスピードが速くないのか、前後チャンネルにうっすらと数字が漏れてしまう。
で、秋月で50円と最安値だった 2SJ660 を試してみたところ、時間軸上の漏れもばっちりなくなった。パーツも着実に進化しているのだなー。

両面基板を初めて作ったけど、基板自体も大きいせいか、ベタアースからの放熱がすごくて、グランドの半田付けがホントに大変だった。。。

最近のルーチン

このところ数週間やっていることがほぼ変わらない。
起きて、自転車で成城学園前のスタジオへ行き、各種作業。深夜に帰宅。
という感じのルーチン。
これが微妙に必要な作業量が多くて、某氏送別会、肉を焼く会、ライブ、などなどいろんな行事に参加できずにおります。そして今日もカレーの会のお誘いに応えられず。。みなさま不義理をして申し訳ないです。

でもこのスタジオ作業は、それ自体はけっこうおもしろい。触っているものとしては、普段通りのセンサーやらモーター、ソレノイドあたりから始まり、滑車とか、自分にとって新しいゾーンとしては、アルミの延べ棒やら真鍮の棒やら。いままで自分と距離のあった材料と一挙に距離を縮めることができてうれしい。あと自転車なので、未知のゾーンを自分のテリトリーに追加している感もあります。

本日は途中から碑文谷某所にて作業のため、成城から仙川を下って二子玉川から駒沢通り経由で碑文谷へ(遠い)。
これは、スケジュール的には後がないプロジェクトで、ここで初めて機構と制御をガッチャンコしたところ、見事にトラブルだらけ、、わざわざここまで自転車で来たのにタクシーで目黒まで往復したりしつつ、どうにか稼働状態にして納めました。。
いままでTA7291みたいなモータードライバではCR積分回路を使って簡単にアナログ電圧を出してそれなりにうまくいっていたのだけど、今回はダメだった。ちゃんとDACのチップを使うと動いた。まあそりゃ、受け側の回路次第ですよね、、勉強になります。

作業の様子は、このあたりに動画が。
http://www.tout.com/m/t4wk8m#

2011111(素数)

oFの集いに参加中のダイトくんからの情報で知ったのだけど、AudioでILDA制御、をちゃんとまとめている人がいた〜。

(普通の会話でもシーキビなのに、こういう話題に限って早口英語でも聞き取れてしまう、、)

ちょうど1年前くらいにやっていたのだが、オーディオ出力をそのままレーザー制御の信号として使う、というやつで、まあ元々のアイデアは、いろんなやったことがある人がネット上で公開していたものなのだけど、それの専用変換ボックスを作ったのが1年前、その後、昨夏のoF開発合宿キャンプin千葉で、僕が担当といいつつも主に比嘉くんとZacharyが ofxILDAmotu という名のaddonにすべく、ベクターデータからオーディオに変換する部分を作ってくれて、それを使ってダイトくんが実際のプロジェクトに使ったりしていたんだけど、そのまま放置していたのであまり世の役に立っていなかった。。
で、ちゃんとまとめはやんないとねーと反省したんだけど、でもだいたいガーッと作って締め切りが終わって一休みして、気がついたら次の何かに追われていて、その中で時間を削って、前つくったもののドキュメントを整備するかっていうと、かなり気合いがいりますよね。。作業的におもしろくなさそうだし、、、
結論ないですが以上!

っといやいや、今日はとても良いニュースのあった日でした。心から、おめでとうございます!!

ILDAデー

秋葉原で諸々買い出し+ジャンク巡り〜。
ちょっと大度くん+石橋さんの手伝いで、MOTUのオーディオインタフェイス→ILDAのボックス製作。
ILDAはレーザー制御の信号規格なのだけど、割とレーザープロジェクタの実装にばらつきがあって、本来バランス信号であるはずのところに、ホット側だけ信号を入れたら、ものによってはバランス入力した際と変わりない物もあるし、振幅が半分になってしまう物もあり、、、

ラボにおいてあるレーザープロジェクタは強烈で、タバコに火が付きました。。。
というあたりの写真は、大度くんのブログにて。。。
http://www.daito.ws/weblog/2010/06/tokyo-24.html

ゴールデンウィーク・開発サイド

さて飲んでない日、あるいは飲んだ日の飲む前は、割とまじめにXBeeと戦っていました。
XBeeは単体でもADCやPWM出力、普通にDIOなどいろんなことができるようになっているのだが、そのフォーマットが分かりにくい。というか、そのフォーマットを解説したマニュアルが妙な構成になっていてヒドイ!最初にこういうフォーマットになってます、という説明をしているのに、後半になって、それはAPIフレームという規格の一部でした!というどんでん替えしがある。ので、一度最後まで目を通さないと無駄な苦労をすることになります。。。
まあ英語をあまり読まずに図表だけで理解しようとしているのがいけんのかもしれん。

というわけで、ADCのデータ3ch分を受けるとしたときの、Maxパッチはこちら。もし同じようなことをやろうとしている方のご参考になれば。。

しかしなんか妙な遅延があって、全く実測していないけど、100ms以上はある感じがする。。なぞだ。
あとADCのサンプリングレートは最終的にシリアル転送で結果を伝える速度によって制限されてしまう。

今回は割とまめに数値の変化を追う必要がある+小さなバッテリしか使えないものを作ろうとしているので、結局XBeeはタダのシリアルトランシーバーとして使って、小さいAVR (ATtiny13A) でマメにADCをして、あとXBeeのスリープ管理をして、必要なときだけ起動してすぐにスリープ、というものになった。
最近はArduinoばっかり使って堕落しているので、ひさびさにAVR-gccでゴリっと書こうと思ったらいろいろ忘れていた。。

その他、XBeeに至る前には赤外線通信をやろうとしてやめたりなど。かなりエラーがでて、冗長性をだいぶ持たせないと厳しい=データ転送に時間がかかりすぎる。。データじゃなくてただのタイミングを知らせるだけ(シリアルですらなくて、ただのパルスを送る)、とかのアプリケーションだったら便利かも。

完敗

ここしばらく進めていた件の、中間デモ的なものが終了。

ある物体が壁に衝突する位置を検出する必要があり、最初は回転するレーザー距離計のようなものも考えたのだけど、どれも腰が抜けるような値段なので断念し、ピエゾマイクを壁の四隅に貼り、衝撃音の到達時間差で位置推定、という作戦でいろいろと試していました。が、実用レベルで使うのはなかなか厳しい。
まず今回使う素材は衝撃音の波長が割と長く、それに比べて固体中を伝搬する速さが速く、時間差が小さい。衝撃音の立ち上がりも急峻でないので、衝撃音が始まっているのか、背景ノイズなのかの弁別が難しい。さらに壁の構造が一様でないので、衝突場所によって衝撃音や、各ピエゾに届く音が大きく異なってしまう。そのため、ノイズと衝撃音をうまく弁別できる作戦が立てにくい。
というわけで、背景ノイズを極力減らす工夫をしつつ、まあだいたい位置が取れているかな〜という感じにはなった。というのを一ヶ月ほどoFにて格闘。

もう少し精度を上げるべく、夜なべしてピエゾ6枚から位置を推定するようにしたりしていたのだが、当日昼になって届いた、起死回生の救世主、強力な赤外線レーザー!
石橋さんがこれをラインレーザーに改造し、高フレームレートのカメラと組み合わせ、バババッと画像解析のプログラムを書いて、やたら高精度な解析システムが完成!つまり、壁の前に赤外線レーザーの幕を張った状態にして、そこを物体が通過すると赤外線領域でピカッとそいつが光り、赤外線通過フィルターをつけたカメラでその位置を検出、というもの。これが、今までの苦労がなんだったのかと言うくらいに恐ろしいほど正確に位置が取れる。壁の構造にも依存しないし、どんなに周りに震動源があっても問題なし。
残念ながら、ピエゾ完全敗北!!!!一瞬で敗れました!

夜、この件でいろいろ音響処理について指南してくれたhiko1くんが渋谷に来ているというので合流し、家でわいわい話しつつ、YouTubeで大笑いしつつ、小打ち上げ。

秋葉原のジャンク屋

久しぶりに午前中に起床!何でも毛利がおれの知らないジャンク屋をいっぱい知っているらしく、案内してもらうことになったのだ。実は本気のジャンクは東京にないと思っていた。大阪の日本橋か広島の松本無線か、くらいかと思っていたので、半信半疑。。

というわけで秋葉原で毛利大先生と合流して、さっそく行ったのは「日米無線」。何で今まで知らなかったのだろう、というモーターのオンパレード。実はこの場所は「日本高架下建築協会」という全然違う文脈のサイトで知っていたにもかかわらず、そこがジャンク屋であることを知らなかった!

そちらのサイトにもありますが、場所はこちら。どう考えてもドサクサ系の立地。

大きな地図で見る

その後、「おいしくな〜れ、もえもえきゅ〜ん」の腹立たしいアナウンスの流れるゾーンにある地下の中華料理屋でひるごはんを食べたのち、「ニュー秋葉原センター」へ。


実にすばらしい!!「国際ラジオ」「小沢電気商会」など、すばらしいお店群。どちらもモーターやソレノイドが多いので、日本橋のデジットが好きな人なら全員好きなはず。意外や意外、国際ラジオには立派なウェブサイトまであった。
http://www2.国際ラジオ5353.com/
↑いつのまにこんなアドレスが可能になっとったんやろ。。

こちらは入り口から見たらただのゲーム屋+安売り家電屋のようにみえるので、この奥にこんなものがあるとはまったくしらなかったな。。この建物です↓

大きな地図で見る

しかしこのニュー秋葉原センター、かなり店が閉まっていて、あとは謎のインド系食料品+DVD店や風俗系、メイド系など。小沢電気商会の店主曰く昔はたくさんジャンク屋があったそうだが、段々減ってきたそうな。日米無線の入るラジオガァデンに至っては、日米無線と謎のアクリル端材屋(やる気無し)以外は全部シャッターが降りていた。こちらは立地自体が相当グレーだし、近い将来消滅してしまいそうな気がする。

というわけで今日は微力ながら宣伝になればと、がんばってちゃんと場所などを入れてみました。
本当にどの店も知らなかった。。歩き回ってどんどんお店やら工場やらみつけてくる毛利は偉いな〜と本当に感心しました。そして自分の開拓心の低さを反省。。

その後定番のお店群をめぐって普通に要るものを買って、神田方面に歩いていると、このあたりも高架下が魅力的。。

その後、急遽連絡のあった大学の先輩と合流してお茶をしたり等して神田で解散。ラボで、oF, Max, FFTと格闘。。
ラボはダイトくんもいるし、ちょうど今2bitくんも山口から作業にきているので、この手のことは何を尋ねても一発で答えが返ってきてワンダフォ〜。