「笑い男摸倣ツール」を作られた方のサイトで昨今流行の ARToolKit を紹介されていたのに刺激を受けて自分でも何かビデオキャプチャで遊んでみようという次第。こちらの方面には疎いのでまずは手始めとして「Windowsでビデオキャプチャを作るための参考資料まとめ」から「DirectShowを使った、ビデオデバイスからのキャプチャ 最も簡単版」をベースにちょいといじってみた。
「ARToolKitを使った拡張現実感プログラミング」を追試してみる。古めのマシンしか使っていないので CPU パワーを食いそうなネタは避けていたのだけれど、こんな事がほいほい出来るようになっていたとは。
「PSoCマイコン・トレーニング・キット」は札幌市内のいくつかの書店でも確認出来ず。紀伊国屋書店では売り切れの表示で、Amazon では予約受付中のまま。とりあえず北大生協で注文しておいた。著者は PastelMagic の人。MiniProg と C コンパイラライセンス料としても十分安い。これで Gainer clone の実験も出来る。GAINER とか、Arduino とか、軽い素人向けだと思ってちょっと見逃していたのだけれど、結構楽しめそうなブツかも知れない。
GAINER の IO モジュールは PSoC、Arduino は専用のプログラミング環境を組み込んだ AVR ボード。先日、タッチセンサの実験に使った AVR 基板に MiniPOV3 のプログラムを載せて見た。改造なしでそのまま動くのだけれども、LED の間隔が開いているために、POV として視認しにくいのが難だ。
ASAHI-NET より「固定IPアドレスの利用料 改定のお知らせ」。値上げでつかー。それでも他よりは安いのかな。
今回の週末工作は以前から作ってみようと思っていた上野智弘さん設計の ATAPI CD-ROM ドライブコントローラ。これは PC 用の CD-ROM ドライブをオーディオ CD プレーヤーとして操作するためのものだ。以前、キットとして頒布されていたようだが、私がそれを知った時には既に終了していた。写真はユニバーサル基板での組立てたものとジャンクの外付け CD-ROM ドライブケースを組み合わせて動作テストをしている様子。カメラのシャッター速度が遅いためにタイムカウンターの秒以下の表示がぶれて写っている。汚い裏面は秘密だ。オリジナルの回路は MCU に AT90S8515P を使っているが、ここでは現時点で秋月電子通商から安価に購入できる AT90S8535 にしてみた。機能的にはほぼ上位コンパチブルだが、ピン配置が異なっているため配線には注意が必要になる。
Freescale 社にサンプル請求をしていた Flexis QE128 MCU チップが届いた。Flexis シリーズは 8 bit の HC08 シリーズと 32 bit の ColdFire V1 シリーズで互換性を持つペアで製品展開されている。具体的にどういった状況でそれが嬉しいかと言われても今ひとつピンと来ないのだけれども、きっとその辺に使いこなしの秘訣があるのだろう。
下に写っているひときわ赤い PCB(プリント基板)は hamayan さんから譲っていただいたダイアモンドエースで QE128 MCU を搭載できる。近日中に DEMOQE128: Flexis QE128 Demonstration Board も届く予定だ。
先日のサンプルに続いて御本尊の DEMOQE128 Flexis QE128 Demonstration Board が届いた。例の「FTF デザイン・チャレンジ - ジャパン」にエントリしてゲットしたもの。Flexis シリーズの特性を活かし、MC9S08QE128 が搭載されたドーターボードと MCF51QE128 が搭載されたドーターボードが付属している。釣り書きによると、どちらかをターゲットに書いたプログラムは僅かな変更だけで移行できるとある。
で、肝心の応募作のアイディアはまだ出ない。
春分の日。発寒の斉藤ファームでランチ。三月になって見る間に雪の山が小さくなっていったけれども、まだ戸外は肌寒い。二輪車の冬眠明けはお預けだ。
趣味のマイコン開発に使っている PC に CodeWarrior やら PSoC の開発ツールを入れたものの、USB-シリアル(RS232C)変換関係のデバイスがうまく認識されない。不要なデバイスを片端から削除したりするもあまり改善されないため、不本意ながら思い切って Windows の再インストールをおこなった。DEMOQE128, PSoC Mini Programmer, FT232RL とも無事に認識されるようになった。その他のアプリケーションも入れ直さなければならないのが面倒だが、とりあえずこれ以上は不毛な時間を費やさずに済む。肝心の作業が全く進んでいない。USB-シリアル変換や USB オーディオは類似デバイスが多く、標準準拠も怪しいのかトラブルが多いような気がする。
"Phisical Computing" を体験してみようと GAINER やら Processing を試している。PSoCマイコントレーニングキットを入手したのを機に Gainer I/O モジュールを仕立ててみた。ネタ元は "hwhack: Gainer clone on BreadBoard"。GAINER では詳しいドキュメントが用意されていて、I/O モジュールの回路図やファームも公開されているから、こうして簡単に製作することもできる。PC 側に RS232C が用意されていれば USB-シリアル変換は RS232Cレベル変換でも良いが、その場合は I/O モジュール側で電源を用意することが必須になる。
先日入手した DEMOQE128 で Freescale の Flexis マイコンの学習中。USB デバイスドライバの調子が悪かったのは Windows を再インストールしてしのいだ。開発ツールの CodeWarrior で Processor Expert という機能を使うと各種 I/O などを使ったプログラミングがほいほいできてしまう。Application Note (AN3467: Using Processor Expert with Flexis Microcontrollers [PDF])で実例が紹介されているから、これに従って試していくのが早道だ。動画での紹介もある。このように最近は各社で開発ツールを充実させているらしい。
DEMOQE128 でサンプルをざっと動かしたところで hamayan さんから(またまた)譲っていただいた ダイアモンドエース基板を組み立てて動作確認。写真は 8 bit の MC9S08QE128 を載せたもので AN3467 の "Lab1: Timer and I/O" による LED チカチカ。この基板には 32 bit の MCF51QE128 を載せることもできるが、そちらの組立てはまだだ。
上の「お知らせ」にも書いたが(2008.03.29 削除済み)、現在、当サイトはちょっとした DoS 攻撃に遭っている。DoS と言っても単一ホストからで大手のサイトにとっては屁でもないような程度のものだが、貧弱自宅サーバには堪らない。結構な迷惑だ。具体的にはあるページを繰り返し参照しているのだが、blog のアーカイブページなもので、一回当たり 70KByte 以上のトラフィックが発生している。これは 3/26 の深夜に始まり、現在まで 60 万回 6 万回(2008.03.31 訂正)以上に及んでいる。2 秒に 1 回の頻度であるが、実際には間欠的なアクセスだ。今日の昼からは該当ホストからのアクセスを拒否(ステータス 403 応答)しているものの、一向に収まる様子は無い。UserAgent は "Mozilla/4.61 [uk] (X11;I;Linux 2.2.13-33cmc1 i686)" で、昨今では見られないような古いものだ。過去にも同ホストから同 Agent でのアクセスはあり、普通に人が操作しているようなログも残っているが、今回と同じような連続アクセスが 30 分程度続いていた形跡もある。あるいはブラウザのバグ(仕様)で、繰り返しアクセスしているのだろうか。今後も収まらないようであればプロバイダに連絡して対処を依頼しよう。
[2008.03.29]
本日 16:36 時点で収まったようだ。
注文してあった Interface 誌が届く。Fujitsu FR マイコン基板が付属。USB ターゲットに加えて USB ホスト、OSD とこれまで以上に豪華版だ。デバッグインターフェース用 USB-UART コネクタ、VGA コネクタ、水晶発振器を半田付けして動作テスト。48MHz 発振器は BBR-4MG 改造で使った表面実装タイプのもの(キンセキFXO31FL)にリード線をつないだ[実装した基板の写真(1)、(2)]。USB コネクタが足りなくて USB 機能のテストは出来ず、とりあえず LED チカチカと OSD の確認まで。
Make:04 を購入。創刊号以来だ。アメリカンな豪快さは相変わらず。個人的に注目は第3特集の SKETCH、に Arduino クローン。
「C/C++のポインタの機能--参照渡しののような処理」(ZDNet Japan builder)。ちょっとこれは酷い。コメントで誤りの指摘を受けての修正も的外れだ。Perl だったら良かったんだけどね。
「月間 美術の窓」は河鍋暁斎の特集。
DoS 攻撃(?)は相変わらず続いている。ルータでフィルタリングしても帯域が無駄に使われるのは変わらない。
市内の梅澤無線電機で USB コネクタを調達して FR マイコン基板に半田付け。順番が逆になってしまったが USB ホストのサンプルプログラムの動作を確認できた。しかし 48MHz の発振器はともかく、32.768KHz 水晶も在庫切れなのはどうしたものか。やっぱり 100 円ショップのクォーツ時計をばらす手で行こうか。
3/28 の記事で何気なく「Perl だったら良かったんだけどね」と書いてから、気になって検証してみた。
#!perl
my $i;
$i = \1; # read-only
${$i}++; # Error!
この例では $i = \1 がリテラルへのリファレンスで read-only だから参照だけする分には問題ないものの、次の行でデリファレンスした値の操作がエラーとなる。
#!perl
my $i;
$$i = 1;
${$i}++; # OK!
ところがこちらのコードだとデリファレンス値の変更も OK だ。なんとなく判ってはいても説明するのは厄介だし、それが正しい Perl の仕様なのかと訊かれると困ってしまう。
→ 山口家の逆襲->perl-解説->リファレンス生成->暗黙のリファレンス生成more...