仕事の都合で名古屋方面に転勤になった場合、お別れが一番ツラいのは秋月や千石よりも、日米商事かもしれん。デタトコ勝負で部品を探す楽しさは通販では味わえないから、その点では秋月や千石とのお別れもツラいのだが、日米商事はそもそも通販をやってないからである。あぁ、サミしくなるねぇ。FT232BM専用基板上に起つ!!今日は朝から再び花粉症対策の注射を打ちに行く。前回は注射のタイミングが早すぎたのか、花粉が飛ばないうちに薬が切れてしまったような気もするが、今はシッカリと鼻はズルズル、目はカユカユなのである。ケイン・コスギまで憎いわ。黄色という色も目に鮮やかだけど、視界の隅は「ひらべったい」という形状に反応したのであった。天井とトランクの上が黒だったので、余計にひらべったく感じるのかもしれん。SVXはひらべったかったのか。なんにせよ、もう少し観察したかったなぁ。それはそうと昨日、見事なタイミングで役者が揃ったので、今日はFT232BMを専用基板上に取り付けてみるのである。QFP-32というパッケージはピン間0.8mmという狭さであり、これだけの精密なハンダ付けはオイラの未経験の領域である。いうか、PCBにあらかじめ塗布してあるハンダを活用しつつ、コテ先に少しハンダを含ませ、各ピンをウリウリしただけである。ひととおり作業が終わった時点では、それでも何ピンか浮いていたが、ルーペで確認しては、ウリウリ、テスターでチェックしては、ウリウリするうち、そこそこキレイ(?)にハンダ付けができたようだ。ちなみに、オイラはカメラも趣味なので、ルーペにはNikonのAi50mm1.8Fを逆からノゾいて代用にした。今回は基板の撮影に三脚とマクロスライダを動員してみた。道具が揃っていれば安いデジカメでもかなり本格的なマクロ撮影ができるってモンよ。難関であるFT232BMの取り付けを完了したら、あとは残りの部品をチャチャっと取り付けて完成である。シンプルかつコンパクトで美しい。設計したPCBにしては、かなりよいデキだといえるのではないだろうか。意を決して、単体でPCにつないでみるのである。完全に動作確認したとはいえないが、ココまでは実にあっけなく到達である。明日からは実際に通信をさせてみる予定である。ちなみに、基板は一度に16枚もできてしまうので、たくさん余っている。欲しい人があったら必要な部品とセットで実費+手数料程度でお分けしようとも考えている。希望者はココまで......って、まだ動作確認すら終わってないのに気が早いっすか、そうすか......。ナムコにイカンのイコレやコレやコレに示すように(最後のはちょっと違うが)、なにしろナムコのオールドゲームにはちょっとウルサいオイラである。して先日秋葉へ出かけたとき、電車の扉の内側にプレイステーションポータブル用「ナムコミュージアム」の広告を発見したときは、当然のように釘付けになるのである。広告によれば、ラインナップは「パックマン」「ミズパックマン」「ギャラクシアン」「ギャラガ」「ラリーX」「ニューラリーX」「ディグダグ」の7本に「パックマン」「ギャラガ」「ニューラリーX」「ディグダグ」のアレンジが4本で、合計11本が遊べるらしい。むぅ......ナムコファンのオイラとしては、非常にひっかかるのである。各ゲームをこう並べてみよう。ディグダグアレンジ「ディグダグII」はどこへ行ったんだ!?......というハナシである。それこそ「おっとっと」なのである。いや、よくないッ!!そういう暴挙を行うのであれば、こっちにも考えがある。このゲームのチョイスコンセプトでナムコミュージアム2を提案してしまうのである。ピストル大名の大冒険というワケで、ナムコミュージアム2,3を出す場合、以上のラインナップでよろしくお願いするのである。プレイステーションポータブルの無線通信機能を使って、1つのゲームメディアで、隣の人にゲームをプレゼントできるというのは、なかなか気の利いた機能だと思う。それをTVCMで自慢するのもいいだろう。アレンジ版は転送できない......という制限もまぁ許す......が、1面しかプレイできないってなんだよッ!!プレイステーションポータブルもナムコミュージアムも手元にないので詳しい仕様はわからない。天下のナムコともあろうものが、そんなケチくさい実装にしなくてもいいじゃないか。いう「機能の黎明期」に実装された方法はその後の暗黙の了解になる可能性がある。非常に遺憾であるといわざるを得ない。非常にイカン、イカンぞぉ。ひととおりイカンのイ、ヤカンのヤ、ドカンのドを表したところで、昨日の作業の続報である。作業を進めるにあたり、今回作成した変換基板の取り付け部品とピンアサインをまとめておく。一応、バス/セルフパワー、5V/3.3Vロジック、RTS-CTS折り返しの有無がチョイスできるようになっているので、ジャンパを飛ばす。上記のジャンパ設定は、バスパワー、5Vロジック、RTS-CTS折り返し有の状態である。上記の状態で、再びUSBポートに接続し、仮想COMポートドライバをインストールする。ドライバはFT232BMの製造メーカFTDI社のDriversページからダウンロードできる。Drivers」の方である。こちらに「USB機器としてのドライバ」と「仮想COMポートのドライバ」が両方入っているので、Windowsの場合は続いてインストールされて準備完了となる。オイラの環境では「COM15」として認識された。このデバイスは「ハードウェアの取り外し」アイコンから停止を行ってから取り外す必要はなく、イキナリ取り外しできるようである。これは便利でヨイではないか。ちなみにこのデバイス、Linux用のドライバはカーネル2.4.20以上なら入っているようである。7......というシステムログが出力された。「いま入っているドライバ全員に知らんふりされたよ」というコトだ。いえば現在動かしているカーネルは、NOVACのビデオキャプチャボード「PrimeTV7133」を使うためにSAA7134用ドライバを組み込んだカーネルなので、余計なドライバは一切入っていない。カーネルの再構築が必要だ。menuconfig......で、カーネルに組み込むドライバをメニューで選択すればいいのね。support」というのがソレっぽい。自信がないが、Helpすると「Documentation/usb/usb-serial.txt」を読めと書いてあり、その中には「FTDI」の文字があった。Windowsで動作確認したら、ボチボチとカーネルの再構築を始めようかね。ーワケで、今日はココまで。イニシエのBASICに触れてみるここんとこトライアックを利用した調光器をイジッているが、最終目標は調光器のプログラム制御であり、そのために先日秋葉でCdSを購入してきたコトは以前に書いた。CdSが示す抵抗値の可変範囲も把握しないまま、適当に部品を買ってきてしまったため、本当に手持ちの部品だけで組めるのか非常に不安な状態でもある。そこでひとつ、理論的な方面から攻めてみるコトにする。CdSの組み込み方法だ。先日購入した9P5-1HというCdSを用いることを前提に考える。このセルのデータが不詳なのでまずはググってみたところ、あまり信憑性の高い情報とはいえないが、最大電圧:100V、最大損失:50mW、抵抗範囲は0luxで1M以上、10luxで72kという情報が得られた。この情報を元に、まずは耐電圧を考える。家庭用の交流100Vの瞬間最大電圧は144Vであり、ダイアックはトリガ直後に0Vまで下がると仮定すると、そのまま144VがCdSに作用すると考えられる。すると単純に現在のボリュームをCdSに置換するというのはヤバい。そこでCdSを2個直列に並べてやることにする。2つのCdSの抵抗値が同期して変化するなら、各々に作用する電圧は半分の72Vになるからである。次は最大損失を考える。各々の72Vで流せる最大の電流は、50mW/72V=0.694mA。0.694mAが流れてしまう抵抗値は72V/0.694mA=103.68kΩである。CdSの抵抗値が103.68kΩを超えるような明るい状況にCdSを置くと、CdSの最大定格を超えてしまう可能性があるということになる。実際にはコンデンサやダイアックの電流特性が作用するから、連続して0.694mAが流れることはないと思われるが、正直そこんトコはよくワカらんのじゃ。ところが改造前の現状の調光器で、ボリュームを207.36kΩに設定した状態というのは、ほぼ光量を最高に絞った状態の抵抗値と同じなのである。なるとCdSが破損しないギリギリまで光を当てても、実際の電球はほとんど点灯しないということになる。そこでダイアックのトリガタイミングを早めるために、コンデンサの容量を小さくすることを考える。コンデンサの蓄電容量が現在の0.1uFよりも小さくなれば、抵抗が大きくても早く電圧が発生するため、トリガタイミングは早くなり、電球は明るくなるという寸法である。先日の秋葉では、より大きな容量のコンデンサが必要だと思って0.33uFのコンデンサを買ってきたのに、逆の結果になってしまったぞ。考えずに買い物をしてはイカンのだ。ココでさらに問題発生である。秋月の調光器の説明書を見たところ、コンデンサの容量が0.047uFを下回るとトライアックがトリガできなくなるという記述があるのである。実際に回路を組む前に実験してみたい気もする。いうわけで......この「図解・わかる電子回路」という本の出番である。以前にも紹介したが、私が購入した電子工作に関する唯一の参考書籍だ。この134ページには、トライアックのトリガタイミングをシミュレーションにより求めるためのプログラムが掲載されているのである。これを入力して抵抗値とコンデンサの容量がトリガタイミングに及ぼす影響を概ね把握するばいいのである。んが、このコードにも問題がある。イニシエのNEC系BASICで書かれているっぽいのだが、悪いコードの見本市のようなコードなのである。ハナモゲラな変数名、ムチャクチャな変数の影響範囲、当然のようにGOTO文やフラグも使っている。18年前に登場したX68k用のX-BASICは相当エレガントに記述できたぞ。典型的なBASICのスパゲティコードなのである。Rubyに書き直しながら内容を理解するコトにする。最初にグラフィックの扱いをどうするか決めねばならない。順当な線だとRuby/tkを使うのだろうが、プログラミングが面倒だ。そこで今回はそんなに精度が必要ないコトだし、curseライブラリを使うことにした。curseはいわゆるテキストで擬似ウィンドウを表現するモノで、以前のcccdctみたいに仕上げるということである。なに、イザとなれば端末のフォントを小さくしてウィンドウをいっぱいに広げれば精度は上がるだろう。BASICのグラフィック描画コマンドのLINEやPSET、テキスト表示コマンドのLOCATEとPRINTをエミュレートするクラス「LegacyGraphics.rb」を作る。これを作っておけば、本に掲載されているコードを概ねベタ打ちできるという寸法である。誤植はあるわ、バグはあるわ......。結局、ほとんど完全にコードを理解するまでマトモに動かなかった。できるだけモトのBASICの雰囲気を残しつつ、バグの部分もそのままコメントに残しておいたので、興味のある人はノゾいてみてほしい。いうワケで実行結果である。元のプログラムでは抵抗値の違いによるトリガタイミングの違いを、色で表現していたが、curseでは色の扱いが面倒なので数字で表現してみた。上がコンデンサの電圧の上昇グラフで、下がトリガタイミングのグラフである。上記の実行結果は、本に掲載されている設定値、50Hz、0.22uF、ブレークオーバ20Vでの計算値だが、どうやら本の実行例と同じような図が得られたコトから、プログラムは正しく動作しているようである。以上の結果を踏まえ、上記のCdSによる制御のシミュレーションをしてみたが......やはり抵抗値が高すぎるために、どうしてもトリガタイミングが早くならず、50%程度の明るさしか出なさそうな感じである。無理したセッティングにするか......。最後に、上でプログラムについてケチョンケチョンに書いてしまったが、本書が名著であるコトに違いはない。筆者はあとがきで「本書は内容、図版、コストの3点において世界一だ」と自慢しているが、確かにデキのイイ本である。これから電子工作を学ぶ人にはオススメだ。テレビの影響について考える今に始まった類のニュースではないが、大阪府が「残虐ゲームソフト」の規制を検討しているらしい。大阪府としては「何らかの対策」をしなければ収まらんというトコロなのか知らんが、どーしてまぁ、こーも短絡的なのであろうか。文字通り、頭の回路がショートしているとしか思えない。オイラはゲームが好きだし、全部とはいわないがゲームはとても知的な遊びであると考えている。「ゲームは子供のモノ」などと半ばサゲすむような評価をゲームに与える人は、よいゲームに出会っていないか、よほど知性の低い人だと考えられる。多くのゲームはその中に定義される現実を持ち、その中のルールに従って勝利を収めるのが目的だ。ゲームを勝利に導くためには、ゲーム内の現実やルールを正しく把握した上で、激しく頭を使う必要がある。リアルタイム性の高いアクションゲームでは、それに加えてすばやい判断も必要だ。これが知的でなくてなんであろうか。残虐要素まで知的だとはいわないが、雰囲気作りに大切な要素であるコトに違いない。ゆーことも理解しないで、見た目の残虐性からすぐに規制に結びつけるのは、頭の悪い人のやることである。頭の悪い人に対し、逆らう提案をしても無駄だろう。それでは百歩譲って「残虐性」とは別の軸に存在する、ことさら人に大きな影響を及ぼす概念を提案したい。それは「現実性」である。ホラー映画などの怖さを一概にランク付けすることはできないが、恐ろしい化け物が一瞬で岩を溶かしてしまったとする。