Arduinoを用意して簡単なプログラミングをはじめよう

プログラムの解説(1)
続いて、先ほどのプログラムを解説していきます。まずは、Hello Worldプログラムから解説します。このプログラムを理解するには、ArduinoとPCの関係とArduinoにおけるプログラムの書き方を理解する必要があります。
初めに、ArduinoとPCの関係について解説します。次の図を見てください。
ArduinoとPCはUSBケーブルで接続されています。このUSBケーブルを使って、ArduinoとPCは通信を行うことが出来ます。今回のプログラムを実行するにあたり、このUSBケーブルを通じて2種類のデータが転送されます。一つはプログラム本体、もう一つはHello Worldです。プログラムはPCからArduinoに送られ、ArduinoのCPUによって実行されます。Hello WorldはArudinoからPCに送られ、PCで実行しているIDEで画面に表示されます。Hello Worldの通信は、RS232C準拠のシリアル通信で行われるため、ArduinoのIDEでなくとも受け取ることが可能です。
続いて、Arduinoにおけるプログラムの解説です。
// 初期化関数
// プログラムが起動した時に、一度だけ呼ばれる。
// ここで各ピンの設定や、シリアル通信の初期化などを行う。
// 変数の初期化などもここで。
void setup()
{
}
// ループ関数
// プログラムが実行中、繰り返し呼ばれる
void loop()
{
}
Arduinoのプログラムは、大きく2つのブロックに分けることが出来ます。一つはsetup関数、もう一つはloop関数です。setup関数はプログラムが初めて実行された時に、一度だけ呼ばれます。loop関数はsetup関数の後に呼ばれ、この関数は繰り返し実行されます。Python(スクリプト言語)で書くと理解しやすいと思います。
from time import sleep
def setup():
print 'called setup'
i = 0
def loop():
global i
i += 1
print 'loop is called %i times.' % i
sleep(1)
if __name__ == '__main__':
setup()
while True:
loop()
Arduinoのプログラムでは、setup関数で変数の初期化や、ライブラリの初期設定を行い、loop関数で入力のチェックや文字列の出力を行います。loop関数は繰り返し実行されるので、プログラムを書く際は一工夫必要です。
これら概要を把握した上で、プログラムを読むと簡単に理解出来ます。
// 初期化関数
void setup()
{
// PCとシリアル通信を行うための宣言。
// 9800は通信のビットレート、通信相手によって設定を変更する。
Serial.begin(9800);
}
// ループ関数
void loop()
{
// シリアル通信を使って、Hello Worldという文字列をPCに送る。
Serial.println("Hello, World");
// 1000ms秒待つ。
// これを入れないと、ものすごいスピードでHello Worldが送られてくる。
delay(1000);
}


