1. ソースコードの概要
webコンパイラで作れる簡単なGR-KURUMI用プログラムのソースコードを示します。
#include <RLduino78.h> ・・・ ( 1 )
int led_red = 22; ・・・ ( 2 )
void setup() { ・・・ ( 3 )
pinMode(led_red, OUTPUT); ・・・ ( 4 )
} ・・・ ( 5 )
void loop() { ・・・ ( 6 )
digitalWrite(led_red, HIGH); ・・・ ( 7 )
delay(200); ・・・ ( 8 )
digitalWrite(led_red, LOW); ・・・ ( 9 )
delay(200); ・・・ ( 10 )
} ・・・ ( 11 )
これは「くるみちゃんの絵の髪飾り部分の3色LEDの赤だけを点滅させる」プログラムです。
Lチカ(LEDチカチカ)とも呼ばれ,「マイコンのHello world」とも呼ばれる、プログラム可能かどうかを試すごく基本的なプログラムです。
GR-KURUMIには、3色LEDを点滅しつつ、シリアル出力も同時に行うプログラムのソースコードがデフォルトで付いていますが、初めて説明するにはまだ煩雑なので、さらにシンプルにしました。
コードを簡単にみていくと
( 1 ) このソースコードを使うためのシステム側の準備が入ったファイルを組み込む(include)ということです。(この行はプログラムの前処理部分です)
( 2 ) led_redは内容が分かりやすい名を変数につけただけで、"led_red"の代わりに"a"で置き換えても構いません。(他で使われていなければ)
intはその変数名で値を格納する器の大きさが整数型(2バイト)であることを宣言しており、 led_redという名をつけた変数に22という数値を入れます。
( 3 )~( 5 ) 最初に1回しか通らないルーチンはsetupという名で{ }で囲われています。この囲いをブロックといいます。
行頭のvoidは空っぽの意味で、すなわち関数( y=f(x) )の形だけど戻り値(y)がないことを明示しています。
( 4 ) pinModeはGR-KURUMIの任意のピンの入出力モードを切り替える命令(コマンド)で、led_redすなわち22番ピンをOUTPUT(デジタル出力)用に使うということです。
( 6 )~( 11 ) 通常繰り返すルーチンは、loopという名で{ }で囲われています。
( 7 ) digitalWriteはデジタル出力を開始する命令です。
( 1 )で組み込まれたRLduino78.hで、あらかじめHIGH=1と入れてあります。
つまりこれはled_red(22番ピン)に1を送るすなわちデジタル出力の接点スイッチをONにするということです。
( 8 ) delayは遅らせるという意味で、数ms(ミリ秒)間停止する命令で、すなわち200ms間だけ次の行に行かず停止します。
( 9 ) ( 7 )と同様ですが、LOW=0であり、今度は22番ピンのデジタル出力の接点スイッチをOFFにします。
( 10 ) ( 8 )と同じく、200ms間だけ停止します。
( 11 ) ( 6 )~( 11 )を止められない限り繰り返します。