Last modified 09/06/2000
現状の回路ではパワーオンリセットがうまくかからない場合があります。
C5を100U→4.7Uに変更した08/22/2000版の回路図をご利用ください。m(__)m
現状の回路ではEEPROMアクセス中に電源がON/OFFされると
EEPROMのデータが破壊される可能性があります。
LEDデータをProgram Memoryに移行した
08/18/2000版のファームウェアをご利用ください。m(__)m
MindStormsで遊んでて、感情を表現する「目」があると
かわいくなるなと思ったので、ATMEL製8bitマイコン(AT90S1200-12)と
5×7ドットマトリクスLEDを組み合わせて作ってみました。:)
下の図はEmotion Unitの回路図(08/22/2000版)です。
5×7ドットマトリクスLED 2個をダイナミック点灯させていますがAT90S1200のI/Oピン(15本)
だけでは信号線が足りません。そこでシフトレジスタ(AC164)を追加してカラム側の制御を行っています。
電源はLEGOのバッテリーボックスなどを想定しています。
種類 | 品名 | 数量 | 記号 | 備考 |
---|---|---|---|---|
マイコン | AT90S1200-12*1 | 1 | U1 | 秋月電子通商 \280 |
IC | 74AC164 | 2 | U2,U3 | サトー電気 \130 |
赤外線受光ユニット | CRVP1738 | 1 | U4 | 秋月電子通商 \200 |
三端子レギュレータ | S-81350HG | 1 | U5 | 秋月電子通商 \100 |
5×7ドットマトリクスLED | HDSP-4403 | 2 | D1,D2 | 鈴商 \800 |
ダイオード | 1S3 | 5 | D3-D7 | 秋月電子通商 \250(10個) |
発振子 | セラミック発振子 4.00MHz | 1 | X1 | 秋月電子通商 \40 |
抵抗 | 560 | 7 | R1-R7 | 秋月電子通商 \100(100個) |
10K | 1 | R8 | ||
コンデンサ | 0.001U | 1 | C6 | − |
0.1U | 4 | C1-C4 | 秋月電子通商 \100(10個) | |
|
1 | C5 | − | |
ICソケット | DIP 14pin | 2 | − | 秋月電子通商 \40(丸ピンタイプ) |
DIP 20pin | 1 | − | 秋月電子通商 \60(丸ピンタイプ) | |
基板 | Cタイプ[AE-3] 71×47mm(25×15) | 1 | − | 秋月電子通商 \70 |
プリント基板用絶縁ゴム・シート | 72mm x 47mm | 1 | − | 秋月電子通商 \40 |
ケーブル | 9V Connecting Lead | 1/2 | − | − |
下の図はEmotion Unitの部品配置図(部品面から見た図)です。
U4はハンダ面側(裏側)に実装、C1-C3はICソケットの下に実装してます。
図の中の青線(ハンダ面側)や緑線(部品面側)は電源、GNDなので太い線材
(切って余った部品のリード線でOK)で配線してます。
(青線と緑線は赤丸があるところで裏表つなげてます)
それ以外の信号は0.2mmほどのUEW(ポリウレタン銅線)を使ってpoint-to-pointで
配線したのでこの図には書いてません。
「9V Connecting Lead」は切ってV1,V2に接続します。
下の図は組みたてたEmotion Unitの写真です。
この写真はハンダ面側に「絶縁ゴム・シート」を貼る前のものです。
消費電流を測定してみたところ、50.8mA(LED全点灯時)、15.6mA(LED全消灯時)でした。
AT90S1200-12用のファームウェアです。
RCXの赤外線通信ポートの仕様やプロトコルについてはKekoa氏のページ
RCX Internals に
詳しい説明があります。
下の図は赤外線受光ユニットからのシリアル信号(PD2)の受信動作タイミングです。
下の図はドットマトリクスLEDの表示動作タイミングです。
RCXからの赤外線メッセージ(192〜255)を受信して表示する目のパターンを切り替えます。
受信したメッセージの上位2bitが11以外の場合はメッセージを無視します。
メッセージの下位6bitを3bitづつにわけ、それぞれ右目、左目のパターンを指定します。
パターンはいまのところ6種類のみ定義しています。(最後の2種類はテスト用)
bit7-6 | bit5-3 | 右目パターン | bit2-0 | 左目パターン |
---|---|---|---|---|
11 | 000 | 000 | ||
11 | 001 | 001 | ||
11 | 010 | 010 | ||
11 | 011 | 011 | ||
11 | 100 | 100 | ||
11 | 101 | 101 | ||
11 | 110 | (undefined) |
110 | (undefined) |
11 | 111 | (undefined) |
111 | (undefined) |
下はEmotion Unitの使用例です。タッチセンサを押していくと表情が変わっていきます。
Emotion Unitの電源として本来ならLEGOのバッテリーボックスを接続するのが正しいのですが、
この例ではRCXのoutputポートBに接続して電源を供給してます。
(必ずpower8にすること)