NOBのArduino日記!

NOBのArduino日記!

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

Arduino IDE(noTone関数の使い方)

■noTone関数
 noTone関数は、tone関数によってトリガされた方形波の生成を停止します。
 トーンが発生していない場合は効果はありません。

■使用例
 ArduinoIDEで使用するnoTone関数の使い方は以下の通りです。
 試しにこのプログラムをArduinoUNOで実行すると、A0~2の入力電圧を読み取り、規定値(threshold=10)以上の電圧であれば8ピンから対応する周波数の音を出力します。 
 そうでなければnoTone関数によって8ピンからの出力を停止します。

#include "pitches.h"
const int threshold = 10;       // ノートを生成するセンサの最小読み取り値

// 3つのセンサーに対応する演奏ノート
int notes[] = {
   NOTE_A4, NOTE_B4, NOTE_C3
};

void setup() {}

void loop() {
   for (int thisSensor = 0; thisSensor < 3; thisSensor++) {
       // センサーを読む
       int sensorReading = analogRead(thisSensor);

       // センサーが十分に強く押されていれば以下実行
       if (sensorReading > threshold) {
           // このセンサーに対応するノートを再生する
           tone(8, notes[thisSensor], 20);
       } else {
           noTone(8);
       }
   }
}
イメージ 1
図1:プログラム例

■構文
 noTone(pin)

■パラメータ
 pin:音の発生を止めるピン

■戻り値
 有りません

■補足
  複数のピンで異なるピッチを再生したい場合は、次のピンでtone関数を呼び出す前に、noTone関数を1つのピンで呼び出す必要があります。

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

↩【ArduinoIDE reference】目次に戻る