« BlogScouterのランキングに信頼性はあるのか? | トップページ | Omnibot17μ i-SOBOT »

2007/10/01

シリアルLCDモジュール(MR-16202)

Img_4744前から気になっていた「シリアルLCDモジュール(MR-16202)」を入手しました。

「何に使うか?」・・・ROBOZAKに文字表現をさせたい訳ではなく、純粋にデバッグ用です。

リモコンの解析(赤外線リモコン、PSコントローラ)の解析を行うとき、出来合いのソースコードを追いかけて、解析することは可能ですが、自分で作ったものを追いかけるとなると、意外と大変で、サーボを実際に動かして確認するか、赤外線リモコンの解析でやったようにMUSICを使って音で判断するような方法になってしまいます。
 
Img_4745 これはすごく効率が悪いので、何か表示させようとすると一番てっとり早いのが、LCD等に値を表示させることです。
元々MR-C3024&roboBASICには、LCD表示用のコマンドがあるため、表示させること自体はそれほど大変なことではありません。 デバッグ文として必要なところにPRINT文などを突っ込むだけです。
 
Img_4746 買ってみて気付きましたが、このLCDモジュールは、実は汎用品で、シリアル通信(4800bps/8bit/NonParity/Stopbit 1)で通信すれば、文字を送ることができます。 各コマンドはESCシーケンスになっているので、ESC+文字列でroboBASICで行っていることと同じことができます。(後述)


写真右上にある24ピンのチップは、「Atmel AT89C4051 マイクロコントローラ」です。(MR-C3024は、Atmel のATmega128Lでしたね。)
 
Img_4748 シリアル通信で動く汎用品ではありますが、接続する場合は、信号は5Vまでなので、一般的なRS-232Cの規格である±12Vでは使用できません。 従って使用説明書にも書いてありましたが、(割とポピュラーな)MAX232の様なチップを前段にかませて信号レベルを変換してやる必要があります。(ちなみに秋月電子通商なら250円でチャージポンプ用のコンデンサもセットになったものが買えます。)

 
Img_4747写真では、比較対象がないのでわかりにくいですが、意外と重量もあり、厚みもあり、大きいです。

これもデバッグ用なら何も問題ありませんね。 逆にむき出しでは、破損しそうなので、ケースに入れて、ケーブルも長くしたいところです。
 
MR-C3024との接続はこんな感じです。
R0010622
 
■赤外線リモコンとLCDモジュールをテストするサンプルソース
DIM A AS BYTE
DIM B AS BYTE

CONST ID = 0     ' 1:0, 2:32, 3:64, 4:96,

LCDINIT
CONT 10
B = 255

MAIN:

A = REMOCON(1) 
A = A - ID   

IF B<>A AND A<>0 THEN  ' 赤文字の部分がないと数回同じ値を拾ってしまいます。
  PRINT FORMAT(A,DEC,3)
  PRINT " "
  B=A
ENDIF

GOTO MAIN
 
■上記プログラムを実行した様子
いかがでしょうか? マイクロソフトのBASICとは若干文法が違いますが、割と簡単です。
RZ-1 RN-1 ROBONOVA-I ROBONOVA-1 Hitec Multiplex Japan,inc 株式会社ハイテックマルチプレックスジャパン ROBOZAK 自分で組み立てるニ足歩行ロボット『パーツ付きマガジン 週刊 ロボザック』 DeAGOSTINI ディアゴスティーニ MR-C3024 HSR-8498HB HMI(HITEC Multi-protocol interface)

■ESCシーケンス(使用説明書より)
roboBASIC ESCシーケンス 備   考
LCDINIT ESC,"I"  
CLS ESC,"H"  
CSON ESC,"O" [カーソル/スクロール]の意味不明
CSOFF ESC,"X" [カーソル/スクロール]の意味不明
LOCATE X,Y ESC,"L",X+30h,Y+30h +30h・・・ようはキャラクタ
CONT 0~10 ESC,"C",0~10  
PRINT 文字列 ASCII 使用できるのは 20h~7Fhまで
CGRAM ESC 番地,数量,データ 昔懐かしいキャラゼネ(Character Generator)
やろうと思えばゲームもできるハズ。
番地は0~7で8個キャラクタを定義可能。
数量はデータがいくつあるかということらしいが、かなりわかりにくい。(多分使わない(笑))

各種センサー類のテストにも使用してます。
MR-16202 Emulator (現状は、とりあえずPCでデータを読むところまでです。)
■MR-16202 emulator(PC using the system.)
ADM232
http://avalon1982.cocolog-nifty.com/robot/2008/01/mr16202_lcd_85ea.html
FT232RL
http://avalon1982.cocolog-nifty.com/robot/2008/02/mr16202_lcd_455d.html

 
■MR-16202 emulator(Board has been using microcomputers.)
エミュレータ
http://avalon1982.cocolog-nifty.com/robot/2008/02/robozakmanoiif__8e53.html
http://avalon1982.cocolog-nifty.com/robot/2008/02/robozakmanoiif4_03db.html

 

ROBOZAK関連(過去記事)のダイジェストを表示する場合はこの行をクリックして下さい。

| このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 livedoorブックマークに登録 fc2ブックマークに登録

お探しの情報が見つからなかったとき、サイト内検索をしてみて下さい。

サイト内検索

  • Google


    WWW を検索
    このサイト内を検索

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/213795/16625703

この記事へのトラックバック一覧です: シリアルLCDモジュール(MR-16202):

コメント

初めまして、色々と参考になります
そこで、増設メモリ用の回路図を教えて下さい

投稿 前田桂一 | 2008/01/24 14:55

前田桂一さん

はじめまして。
私は正直言ってハードウェアに関してはど素人ですが、
出来上がったものに関して自己責任でよろしければ
回路図は書けます。(実は回路と言えるほど大したもの
ではないのですが・・・)

投稿 avalon | 2008/01/24 16:46

自己責任でやりますのでお願いします。
シリアルLCDモジュールエミュレータ
作ってみました。とても役に立っています。
パソコンでデーター表示が出来るのでとても便利です。
MR-16202を買うより非常に安くできました。
?\(。・_・。)/?わーいっ?


投稿 前田桂一 | 2008/01/26 12:50

前田桂一さん

シリアルLCDモジュールエミュレータはお役に立てて
よかったです。
センサーが届くと多分必須のハズですが、今後の号に
載りそうもないですから。

増設メモリは、わかりました。書きまーす。

投稿 avalon | 2008/01/26 14:54

avalonさん
有り難うございます。
でも、ハードウェアはど素人という割には
ここまでやれるのは凄いです。
私もなるべく自分で出来るように頑張ってみます。

投稿 前田桂一 | 2008/01/26 17:11

前田桂一さん

お役に立てれば幸いです。
よろしければ結果がわかったら教えて下さい。

投稿 avalon | 2008/01/26 22:20

avalonさん
有り難うございます
結果が出たら連絡します
まずは部品の調達からです

投稿 前田桂一 | 2008/01/27 08:37

コメントを書く




コメントは記事投稿者が公開するまで表示されません。