2013年8月6日火曜日

最初のソースコード Lチカ

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番ピン)を送るすなわちデジタル出力の接点スイッチONにするということです。

( 8 )  delay遅らせるという意味で、数ms(ミリ秒)間停止する命令で、すなわち200ms間だけ次の行に行かず停止します。

( 9 ) ( 7 )と同様ですが、LOW=0であり、今度は22番ピンのデジタル出力の接点スイッチOFFにします。
( 10 ) ( 8 )と同じく、200ms間だけ停止します。
( 11 ) ( 6 )~( 11 )を止められない限り繰り返します。


0 件のコメント:

コメントを投稿