TFTモジュールをDemoBoardで使う

2010/09/20

先程のTFTモジュールですが、ジャンパを切り替えて 8bit モードにすることで、
線の数は何とかできそうです。(データ以外の信号は PS/2 ポートに繋ぎます)
ただし、やはり線の数が足りないため、タッチパネルは使えません…。

※シフトレジスタを使えば何とでもなってしまうので、後日試してみようと思います。
 ILI9325 の機能を使えないのは勿体無いですが、ないものはしょうがないですね。

広告

TFTモジュール購入

2010/09/20

2.8インチTFT液晶
http://www.aitendo.co.jp/product/2121

こちらのボードを買いました。
2.8インチ 320×240、タッチパネル付き、3.3V動作のTFT液晶モジュールです。
制御チップの ILI9325 には SPI モードがあり、VRAM も搭載されているので
以前の OLED と同じ使い方が…と、思ったのですが、
モジュールから SPI 用の信号線が出ていませんでした!
なので、パラレルで使うしかなさそうです。
残念ながら、ピン数の少ない DemoBoard には接続できません。

今回の液晶はピクセル数が多いため、Propeller 側に状態を保持しようとすると
2 ビットカラーになってしまいます。表示色数は多いほうが良いので、
フレームバッファが不要なタイル+スプライトのドライバを作ろうと思います。
タッチパネルがあるので、触って楽しめるものにしたいですね。

マンデルブローやレイトレースなどの計算画像や、SDカードからの
ストリーミングであればバッファは(ほぼ)不要なので、こちらも
単純に綺麗な絵を出す方向で実験してみたいと思います。

OLED も値下がりしていたので、1枚追加購入しました。
最近流行の立体視はどうでしょうね?

さて、DemoBoard では使えないことがわかってしまいましたが、
ちょうど Propeller 自体も欲しかったので、ProtoBoard を注文予定です。

USB-シリアル変換装置は、USB-TTL(3.3V)変換ケーブル が良さそうだったのですが、
リセットが出ていません。
改造は面倒なので、Arduino 系の FTDI Basic Breakout で運用予定です。

(追記)DigiKey には USB 付き ProtoBoard がありました。


PropLauncher 作成

2010/07/14

作ったものが増えてきて、PCに繋いでプログラムを入れ替えるのが
面倒になってきたため、SDカードに書き込んだコンパイル済みバイナリを
直接起動するランチャーを作りました。

これをEEPROMに焼いておくことで、スタンドアロン状態でも
複数のプログラムを切り替えて実行することができるようになります。

コンパイル済みバイナリの出力方法は、
Propeller Tool では F8 を押して出たウィンドウの「Save Binary File」ボタン、
BST では Compile メニューの 「Compile and save binary」です。
SDカードには、出力されたファイルの拡張子を “.bin” に変更してコピーしてください。

画面はテレビに出力され、ランチャーの操作はマウスで行います。
1画面に30ファイルまで表示され、1ページにおさまらない場合は
ホイールの上下でページを切り替えます。
選択したプログラムの起動は左クリックです。

ダウンロード (要SDカード接続&ピン設定)


ヌンチャクの裏技的接続

2010/06/26

PS/2 ポートには、ブレッドボード用のジャンパワイヤが(緩いですが)刺さります。
端子に向かって右上を WiiChuck アダプタの d、右下を同 c に繋げると、
DemoBoard の汎用ピンを消費せずにヌンチャクを使えるようになります。
※電源は普通に VDD / VSS から取ってください

ドライバは 先日のもの を利用するとして、
キーボード端子に繋いだ場合の初期化は Nunchuck.init(26, 27)、
マウス端子の場合は Nunchuck.init(24, 25) になります。

DemoBoard は空きピン数が少ないので、こういった小技が使えると助かりますね。


OLEDドライバV2

2010/06/22

フォントと抜き色つきビットマップ転送を追加して、一通り動くようになりました。
まだ足りないと思っている機能はあるのですが、まずはここまで。

ダウンロード (要 aitendo OLED 接続)

アーカイブ内のoled_v2_demo.spin の実行結果は、このようになります。

画面中央で3Dキューブが回っており、その後ろにストライプ、右端にビットマップ描画、
画面下には文字(ROMフォントの縮小描画のためメモリ不要)と
色反転エフェクトが掛かっています。

ディープな最適化は行っていませんが、三角形は秒間2500枚程度出せるようです。
ドキュメントが未整備ですので、デモおよびドライバの実装を確認してください。


OLED ドライバ更新中

2010/06/14

OLEDの16ビットカラーを活かしつつ、Graphics オブジェクトのように
簡単な描画を行える仕組みを準備しています。

現状で「指定色での画面クリア・点・ライン・連続ライン・長方形フィル・
三角形フィル・指定範囲へのフィルタ(モノクロ・反転・色半減)」が入りました。

通信と描画をあわせて1コア、VRAMに12KB必要です。(TV + Graphics の半分)
あとは文字描画とビットマップのコピーで当初考えていたものが揃いますので、
デモとあわせて公開したいと思います。もうしばらくお待ちください。


Wiiヌンチャク購入

2010/06/03

Wii ヌンチャクが 3.3V 駆動のシリアル通信機器ということなので、
線を切らずに DIP 接続できる WiiChuckアダプタ と、
ヌンチャク本体を購入しました。

2軸アナログ+2ボタン+3軸加速度センサーが2本のピンだけで取得でき、
実売が1500円程度というのは格安ですね。分解して使ってもよさそうです。

まずはドライバから作っていきます。

(6/3追記)…と、思ったのですが既にオブジェクトが公開されていました。

Wii Nunchuck Driver (via OBEX)

Wii の拡張コントローラ用のオブジェクトは一通り揃っているようです。
これだと本当に使うだけになってしまうので、ちょっと違うものを作ろうと思います。