NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(delayMicroseconds関数の使い方)

■delayMicroseconds関数
 delayMicroseconds関数は指定した時間(μs)プログラムを止めます。

■使用例
 Arduino IDEで使用するdelay関数の使い方は以下の通りです。試しにこのプログラムをArduino UNOで実行すると、13ピンのLEDが蛍の様に不規則に明るさが変化します。

void setup() {                  //一回だけ実行する
  pinMode(13, OUTPUT);          //LEDを接続した13番ピンを出力用に設定する
}

void loop() {                   //{}内を無限ループで実行する
  int i = random (16383);       //iに0~16383の間で発生させた乱数を代入する。
  digitalWrite(13, HIGH);       //LEDが接続された13番ピンをHIGH(5V)にする
  delayMicroseconds(i);         //iミリ秒LEDを点灯した状態で止める
  digitalWrite(13, LOW);        //LEDが接続された13番ピンをLOW(0V)にする
  delayMicroseconds(16383 - i); //16383-iミリ秒LEDを消灯した状態で止める
}
イメージ 1
図1:プログラム例

■構文
 delayMicroseconds(ms)

■パラメータ
 μs:一時停止する時間 (変数の型:unsigned int)をマイクロ秒単位で指定します。

■戻り値
 無し

■補足
 ①3~16383μs以内の値を指定したときに正確に動作します。
 ②基本的に数千マイクロ秒を超える場合はdelay関数を使用します。
 ③Arduino0018から、この関数は割り込みを停止しません。

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る