delay関数
delay関数は指定した時間(ms)プログラムを止めます。
試しにこのプログラムをArduino UNOで実行すると、13ピンのLEDが1秒未満の周期で不規則に点滅します。
void setup() { //一回だけ実行する pinMode(13, OUTPUT); //LEDを接続した13番ピンを出力用に設定する } void loop() { //{}内を無限ループで実行する int i = random (1000); //iに0~999の間で発生させた乱数を代入する。 digitalWrite(13, HIGH); //LEDが接続された13番ピンをHIGH(5V)にする delay(i); //iミリ秒LEDを点灯した状態で止める digitalWrite(13, LOW); //LEDが接続された13番ピンをLOW(0V)にする delay(1000 - i); //1000-iミリ秒LEDを消灯した状態で止める }
図1:プログラム例
delay(ms)のパラメータ
ms :一時停止する時間 (変数の型:unsigned long)をミリ秒単位で指定します。
補足 :このパラメータはunsigned long型です。32767より大きい整数を指定す
るときは、値の後ろにULを付け加えます。 例 delay(60000UL);