■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:プログラム例
■構文
noTone(pin)
■パラメータ
pin:音の発生を止めるピン
■戻り値
有りません
■補足
複数のピンで異なるピッチを再生したい場合は、次のピンでtone関数を呼び出す前に、noTone関数を1つのピンで呼び出す必要があります。
励みになりますのでよければクリック下さい(^o^)/