IS-C15ANP4使ってみた!(線引いてみよう編)

この度スイッチサイエンスで「IS-C15ANP4」の取り扱いが開始されました!
http://www.switch-science.com/catalog/1326/
更にピッチ変換基板も発売されました!
http://www.switch-science.com/catalog/1343/
これで簡単にブレッドボードで使えますね!

IS-C15ANP4使ってみた!(準備編)」を読み終わった方々、次は線を引いてみましょう!
#この投稿だけ読んでも絵は表示できません、準備編とあわせてご利用下さい

任意の場所に任意の色で線を引いてみましょう!
#「R5ビット+G6ビット+B5ドット」の16ビットカラーモードで使います

メインプログラムです。
準備編のプログラムの一番下(プログラムの最後尾)に入れると良いでしょう

画面に白い斜め線が引かれたでしょ?

ちょっぴりプログラムの説明をします。
「 void loop() { 」から「 //---------- 」までが画面を黒で埋めるプログラムです。
「 Fundamental[SetupColumnAddress][2] = 0 + 0x10; 」この行最後の「 0 」が左から何ドット目かを指定しています。
#「 + 0x10 」はオマジナイ(今回のスイッチでの仕様)です
「 Fundamental[SetupRowaddress][2] = 0; 」この行の「0」が上から何行目かを指定しています。
「 IS_C15ANP4_SendData(0); 」この行の「0」が色を指定しています。
「 for 」のループ回数が「 64 * 48 」の理由は画素数が「64×48ドット」だからです。
更に16ビットカラー(2バイト)なので2回連続で送っています。
つまり色としては0x0000を64×48回送っている感じですね。

次に「 //---------- 」から「 while (true) {} 」までの説明です。
プログラムの先頭に以下5行がありますね
#define LinePosX1 10 // 0-63
#define LinePosY1 5 // 0-47
#define LinePosX2 53 // 0-63
#define LinePosY2 42 // 0-47
#define LineColor 0xffff // R5+G6+B5
これらが「どこから、どこに、何色で線を引くか」を指定しています。
黒で埋めるプログラムと違うのは下記ですね。
IS_C15ANP4_SendData((DotColor >> 8) & 0xff);
IS_C15ANP4_SendData(DotColor & 0xff);
これは16ビット(2バイト)カラーであるDotColorを、8ビット(1バイト)2回に分けて送っています。

白い線が一本だけじゃつまらないですよね?
次は「任意の場所から任意の場所に任意の色で線を引く」プログラムです。
上記の「斜めに白い線を引く」メインプログラム全てを下記プログラムに入れ替えてみましょう。


拡大写真では、ちょっと伝わりづらいですかね?
#このプログラムは以下のように永久に線を引き続けます
#なにも表示されない場合はリロードすると表示されるかもです


これで「任意の場所から任意の場所に任意の色で線を引く」事ができるようになりましたね!

「IS-C15ANP4」の使い方として「準備編」から始まり「写真表示編」「ドット描いてみよう編」と続き、今回は「線を引いてみよう編」でした。
64×48ドットという小さな画面ではありますが、色々な表現ができるようになったのではないかと思います。
画面に絵が出るって楽しいですよね!

Pocket