2009年5月29日金曜日

NDS用液晶を買ってみた

aitendoにてDSLite用液晶パネルが売ってるようなので、試しに購入してみた。

シャープ 3.0型液晶 LS030B1DC48B
http://www.aitendo.co.jp/product/963


手持ちのOLED(有機EL)モジュールと並べて写真を撮ってみた
さすが携帯ゲーム機用だけあってとても薄い。
近くに置いてあるのは接続用コネクタ。かなりピッチが狭い(0.6mm 両側に端子が出ている)ので
コネクタのハンダ付けに苦労しそうだ・・・。

DSで変色が酷い(黄色めになっている)方の液晶パネル交換にでも挑戦してみようかな。

ネットワークモジュールを買ってみた。

PIC24ほげほげから簡単に使えそうなネットワークモジュールを試しに購入してみた。

LANTRONIX XPort(RTOS・TCP/IP。アプリケーション層搭載、超小型デバイスサーバー)
XP1001000-03R
http://www.lantronix.jp/products/ds_xport.shtml

MaxStream XBee(2.4GHz帯無線ネットワークモジュール 最大250kbps、30m伝送可能)
http://www.digi.com/technology/wireless/products.jsp

XPortはシリコンハウス共立、XBeeはStrawberry Linuxより購入。

並べて写真を撮ってみた。
大体500円玉位のサイズのようだ。

これはいろいろ遊べそうだ・・・・。

2009年5月17日日曜日

OLEDモジュールで遊んでみた(その2)

というわけで前回(http://hkhacks.blogspot.com/2009/05/oled1.html)に引き続き
一緒に購入していたフルカラーOLEDパネル(RGS15128128FH029)
で遊んでみることにした。

今回は既に解析済情報を提供してくれているサイトがあったため、
思っていたよりスムーズに点灯させることが出来た。 ほんと感謝。

ゆな研
http://yunadigick.blog94.fc2.com/blog-entry-22.html

なる研
http://naruken.cweb.tk/diary/diary.cgi?a=0810


回路図はこんな感じ



・DC/DCコンバータはStrawberryLinux製LM2735Yを使用。
http://strawberry-linux.com/catalog/items?code=12004

・51Ωの抵抗は100Ωを2本並列でもOK 。

・パネルの1番ピン方向が前回のパネルと左右逆なので注意。

・ダイオードは1N4148等適当なダイオードでOKの模様。

・消費電流が前回のパネルに比べて大きいので、電源に注意。

実験中の様子

今回もPIC24USBを使ってみた



思っていたより明るくない。
これはコントラスト等調整が必要そうだ。

OLEDモジュールで遊んでみた(その1)

有機ELモジュール(UG-2864AMBAG01 128x64 エリアカラー)
を買ったのはいいけど、組み立てるのが面倒で放置していた。
積みゲー状態にしておくのはもったいないので、なんとなく点灯させて遊んでみた。

データシートはここから
http://www.aitendo.co.jp/product/1088

データシートを読んでみると、
このモジュールを駆動させるには、12Vと3.3Vの2電源が必要な模様。

当初は定電圧電源を使って実験してたけど、組み込みの際面倒そうなので
モジュールに内蔵されているDC/DCコンバータ回路を使って3.3V単電源で動かしてみることにした。

とりあえずベタ塗りだけどPIC24USBを使って画面表示させることが出来たので
参考用回路図を張ってみる(ほぼデータシート内参考回路図まんまですが・・・。)



・OLEDモジュール、コネクタ以外の部品はすべてDigi-Keyで入手可能。

・回路図中C10は6.8uF以上のタンタル、または低ESRの電解コンを推奨。

・DC/DC周辺回路(ロケーション10番台)の配線が長くなるとコイルが鳴いたりするので、
極力最短距離で配線した方が無難です。

・aitendo製キャリーボード(IFB-UG-OLED27P)を改造して使う場合についての注意ですが
R1に910Ωが実装されているので910kに交換しましょう。

今回の動作確認にはNDSを使わず、
PIC24USB/PIC24Fシリーズに搭載されているPMPモジュールを利用しました。

PIC24USBを利用する際、マイコン側は以下の回路図の様に配線します。



実験中の様子


PIC24USBを使う際のファームウェアについてですが、
Microchipから出ているPIC24Fスタータキットのデモプログラム内
SH1101A.c/SH1101A.hを参考にされるのが良いかと思います。

MPLAB Starter Kit for PIC24F
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535092

コマンド一覧はDriverIC(SH1101A)のデータシートを参照します。

大まかな初期化の流れは以下の通りです

・必要な場合、OLEDモジュールをリセット
(上記回路図では、5番ピン CSROMをLowに落とします
適当なポートに割り付けて制御して下さい)
・150ms Wait
・パネル解像度に合わせて、ドライバICマッピングを変更
・内蔵DC/DCコンバータを起動
・150ms Wait
・Display ONコマンドを発行

次はフルカラーのOLEDパネルで遊んでみよう。

2009年5月8日金曜日

MPLAB ICD3をGET!

PIC24ほげほげ開発キット用に追加でデバッガが必要なことが判明。
新しいデバッガに何を買うかを検討してたけど
今更PICKit2とかもう1台ICD2購入とかお金がもったいない気がしたので
最新型のICD3を購入してみることにした。

Digi-Keyにて購入
価格は送料関税等込みで¥23000位でした。

パッケージはこんな感じ
Digi-Keyの管理用のシールが張ってあった。

開封して中身を出してみた。
マニュアル・ドライバーCD類と最小限のケーブルのみ。
おまけ基板の代わりに10F202が搭載された基板が入っていた。

ICD2と並べてみた様子(モジュラー側)
特に変化はないようだ。

USBコネクタ側
ICD3はRS-232C、DCコネクタは廃止されて、USB端子しかない。


分解してみた
ICD3ではdsPIC(dsPIC33FJ256GP510)+FPGA(Spartan3 XC3S100E)が搭載されているようだ。


基板裏面
ICD2に比べて部品が多めだった。



というわけで接続してみた
認識にはICD2に比べて少し待たされる模様。


書き込みの速度比較をしてみた
HEXファイルは書き込み・ベリファイでやたら時間がかかる
Optimize製PIC24USBのファームウェア(33.4KB)を使用


結果
ICD2 = 115秒
ICD3 = 9秒
高速化しているとは噂には聞いていたけどここまで速いとは・・・
10倍速ってレベルじゃねぇ!

次に適当なプロジェクトファイルを開いてデバッガのテストをしてみた


見慣れないボタン(Debug Read)が追加されていた。
デバッグ実行部分を使ってプログラムメモリの内容が読み出せるらしい・・・

少し使ってみての感想は
Step実行がすばらしく早い!
まるでVisualStudioでStep実行をしてるみたいにほぼ一瞬で次のステップに移動している・・・
Animateボタンも超快適に使えるようになっている。
ブレークポイント設定可能箇所は、5カ所のまま変わらず。
ただし、ソフトウェアブレークポイントが今回新たに利用可能になっていて
利用した場合、5カ所の制限は無いようだ。

個人的には、これから買うには十分有りな選択肢だし
大規模なソースを日常的に書いてる人とかは買い換える価値は十分あると思う。

2009年5月5日火曜日

DC-DCコンバータを購入してみた

ストロベリー・リナックスよりおもしろそうなDC-DCコンバータモジュールが売っていたので
有機ELディスプレイ駆動用に買ってみた。
このモジュールを使って、電池駆動で有機ELディスプレイを駆動してみる予定。

有機ELドライブ用
LM2735 昇圧型DC-DCコンバータモジュール(5V~最大24V)
http://strawberry-linux.com/catalog/items?code=12004

マイコンシステム用
TPS61200 超低電圧DC-DCコンバータモジュール(3.3V/5V)
http://strawberry-linux.com/catalog/items?code=12010

1つ1つマニュアル入りで送られてきた。
マニュアルの内容は丁寧に書かれていた。


マニュアルによると、システム電源側に使用するモジュールのリップルが
パワーセーブモード時に多めになる(無負荷時最低10mVp-p 最大200mVp-p) とのことなので
手持ちの機材でも実際に確認してみた。
(ちなみに、ストロベリーリナックスのサイト上にも詳細情報が載っている。)

無負荷状態時
入力電圧=1.0V 出力電圧=3.3V  出力側にオシロのみ接続(プローブ=x10)

最大負荷時
入力電圧=1.0V 出力電圧=3.3V 出力側に抵抗を接続(入力電流が1.3Aになるように抵抗値を調整 )


スパイクノイズ部分がやたら大きい気がするけど
とりあえず使ってみるとしよう。

無線モジュールを買ってみた

NDSから何かを遠隔操作出来ないかと
300MHz帯の無線モジュールを買ってみた。
http://www.aitendo.co.jp/product-list/93

左側が送信側、右側が受信側
受信側はアンテナ不要のタイプを買ったのはいいけど、
電源電圧3.3Vで使用するには微妙に足りない模様(3.85〜5.5V)
2.5Vからいける低電圧タイプを買っておけば良かった・・・




試しに受信側をオシロにつないでみたら
何も送信していないのにカーセキュリティぽい謎の波形が垂れ流しされていた(汗
こりゃ送受信ファームウェアに何らかの工夫が必要みたいだ・・・・

実験用各種センサを買ってみた

PIC24ほげほげに接続するための各種センサーをかき集めてみた。
ちなみに一番下の段のみ購入。

上から
湿度センサ 電流センサ トナーセンサ
ドアセンサ 超音波センサ ショックセンサ
ジャイロセンサ 光センサ 温度センサ
3軸加速度センサ(I2C/SPI接続) 3軸加速度センサ(アナログ出力) デジタルコンパス


追加で見つけたら購入しておこう・・・

2009年5月4日月曜日

NDSカート内EEPROMの接続を回路図化してみた

Slot1カートリッジ内部に入っているEEPROMをSPI経由で制御を行うにあたって
必要な情報が文字でしか書かれてなくて見にくい・・・ので
GBATEKの情報を回路図化してみた。

これでPIC24ほげほげから制御可能になるはず。

PIC24ほげほげProject始動

半年間いろいろな周辺機器&チップ等で遊んでみたけど、
お手軽な値段でNDSからArduinoの様な手軽さで各種チップを制御出来たらなぁと思っていた。

せっかくのGWだし下の画像みたいな感じでNDS・またはPCより
MicroSD/SPI/I2C/UART/GPIO/ADを手軽に制御するハードを作ってみようと思う。

マイコンは使い慣れたPIC24シリーズを使用&高い汎用性を目指してる意味から
PIC24ほげほげと命名してみた。

PIC24ほげほげ 開発用キット完成!

配線が結構多くて放置していたけど、hikaru支給用の開発キットが完成した。

今回はマイコン周辺配線の省略のため、以前購入して放置していた
Optimize製のPIC24USBをモジュールとして利用してみた。
http://optimize.ath.cx/pic24usb/index.html

ブートローダーを搭載しているおかげで、
デバッガが無くても簡単にUSB経由からファームウェアの転送が可能。
MicroSDカードのスロットはUSBの下に取り付けてある

こんな感じでDSと接続します。
以前に作ったパラレルマスターポート(PMP)テスト用プログラムを走らせています。

パラレルポートのコネクタは、Slaveとして利用するだけではなく、Masterとしても利用可能です。
写真はaitendoより購入した有機EL(OLED)モジュールの実験中の様子。

あとはちゃんとしたファームウェアを書かねば・・・