Last modified 02/12/2002
三菱製人工網膜チップ(M64270G)とCygnal製8bitマイコン(C8051F300)を使用して作った RCX用の視覚ユニットです。
下の図はVision Unitの回路図(01/06/2002版)です。
C8051F300一つではI/Oポートが足らないので二つ使ってM64270Gを制御しています。
(二つのC8051F300はSMBUSでつながっている)
M64270GやC8051F300で構成されているカメラ基板と
三端子レギュレータ(UPC29L33)や赤外線受光モジュール(CRVP1738)で構成されている
赤外線インタフェース基板の2枚構成になっています。
種類 | 品名 | 数量 | 記号 | 備考 |
---|---|---|---|---|
カメラ基板 | ||||
IC | C8051F300 | 2 | U1,U2 | Cygnal $10.59 |
M64270G | 1 | U3 | − | |
抵抗 | 1K | 4 | R3-R6 | サトー電気 \275(50個) 2012(2125) |
2.2K | 2 | R1,R2 | ||
コンデンサ | 0.1U | 7 | C1-C7 | サトー電気 \160(20個) 2012(2125) |
10U | 3 | C8-C10 | サトー電気 \35 タンタル10V A(3216) |
|
コネクタ | ピンヘッダ | 適量 | CN1-CN3 | − |
基板 | 両面スルーホール基板 | 1 | − | OLIMEX $33.6(8セット) |
赤外線インタフェース基板 | ||||
IC | UPC29L33 | 1 | U4 | 若松通商 \70 |
CRVP1738 *1 | 1 | U5 | 秋月電子通商 \200 | |
ダイオード | 1S4 | 5 | D1-D5 | 秋月電子通商 \250(10個) |
LED | GL538 | 1 | D6 | − |
抵抗 | 150 | 1 | R7 | サトー電気 \275(50個) 2012(2125) |
コンデンサ | 0.1U | 1 | C11 | サトー電気 \160(20個) 2012(2125) |
47U | 1 | C12 | 千石電商 \200(10個) | |
ケーブル | 9V Connecting Lead | 1/2 | − | − |
基板 | 両面スルーホール基板 | 1 | − | OLIMEX $33.6(8セット) |
Vision Unitの基板(01/08/2002版)です。
カメラ基板(PCB_A)と赤外線インタフェース基板(PCB_B)です。
基板はOLIMEXに8セット分発注しました。
(今回は急いだのでEMSを指定しましたがAirMailなら$8です)
Items | Qty | Unit Price | Item Total |
---|---|---|---|
DSS(PCB_A x8, PCB_B x8) | 1 | $26.00 | $26.00 |
Exceed 500 drill holes | 1 | $2.60 | $2.60 |
Second silkscreen print | 1 | $5.00 | $5.00 |
EMS shipment | $30.00 | ||
Total | $63.60 |
組み立て後の基板です。この2つの基板を背中合わせにつなげて使用します。
消費電流を測定してみたところ約35mAでした。
C8051F300用のファームウェアです。
RCXとは赤外線メッセージで通信します。
通信方向 | コマンド/レスポンス | パラメータ | メッセージ | 備考 | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | ||||
RCX → Vision Unit | 水平位置要求 | − | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 物体の水平位置を「位置応答」で返す。 |
− | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||
1 | 0 | 0 | 0 | 0 | 0 | 1 | - | ||||
1 | 0 | 0 | 0 | 0 | 1 | - | - | ||||
1 | 0 | 0 | 0 | 1 | - | - | - | ||||
識別色設定 | R選択 | 1 | 0 | 0 | 1 | - | - | 0 | 0 |
赤 = 90h(144) 緑 = 91h(145) 青 = 92h(146) 黄 = 96h(150) だいだい = 9Dh(157) 正常終了時は「正常終了応答」を返す。 |
|
G選択 | 1 | 0 | 0 | 1 | - | - | 0 | 1 | |||
B選択 | 1 | 0 | 0 | 1 | - | - | 1 | 0 | |||
− | 1 | 0 | 0 | 1 | - | - | 1 | 1 | |||
色座標符号反転なし | 1 | 0 | 0 | 1 | - | 0 | - | - | |||
色座標符号反転あり | 1 | 0 | 0 | 1 | - | 1 | - | - | |||
色座標入れ換えなし | 1 | 0 | 0 | 1 | 0 | - | - | - | |||
色座標入れ換えあり | 1 | 0 | 0 | 1 | 1 | - | - | - | |||
− | 1 | 0 | 1 | - | - | - | - | - | |||
1 | 1 | - | - | - | - | - | - | ||||
Vision Unit → RCX | − | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
正常終了応答 | − | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | ||
− | 0 | 0 | 0 | 0 | 0 | 0 | 1 | - | |||
位置応答 | なし | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | ||
右/下 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |||
左/上 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | |||
中 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | |||
− | 0 | 0 | 0 | 0 | 1 | - | - | - | |||
0 | 0 | 0 | 1 | - | - | - | - | ||||
0 | 0 | 1 | - | - | - | - | - | ||||
0 | 1 | - | - | - | - | - | - |
Vision Unitの使用例です。
ポートAには左側モータ、ポートCには右側モータを接続してあり、
ポートBからVision Unitの電源を取っています。
このRCXコードで黄色の物体を探し自動的に接近します。
(Vision Unitを上下逆さに搭載したので、左右のメッセージが逆になっています)
動画(160×120) : ball.asf(200,922byte)