あなた
- 使用analogWriteとトーン機能の動作をまねる、トーン機能を捨てることができます。
- 外部回路を使用してください。最初のソリューションに合うことができ
コードを使用すると、出力を混合するために何かを使用し、その後、二つのピンを使用することができる第二の溶液のために
#define TONE_PERIOD 10 /* Period in milliseconds */
unsigned long lastPulseStart;
byte volume;
void setup()
{
volume = ...;
lastPulseChange = millis();
}
void loop()
{
if (lastPulseStart - millis() < TONE_PERIOD/2)
analogWrite(pin, volume);
else if (lastPulseStart - millis() < TONE_PERIOD)
analogWrite(pin, 0);
else
lastPulseStart += TONE_PERIOD;
}
です。たとえば、
- ANDポート(トーンは入力に、analogWriteは他に、ポートはフィルタの前にある必要があります)。
- イネーブル入力(トーンはイネーブルになり、analogWriteはラインに接続されます;これはフィルタの前または後のいずれかになります)。
- アンプを使用していて、イネーブルピンを使用している場合は、それを使用します(もちろん、トーンはイネーブルになり、analogWriteをラインに接続します)。
- 外部ADC(この場合、電圧リファレンスとしてトーンを使用します。ボリュームはADCの値として渡す必要があります)。
- 出力にスピーカーを直接接続した場合は、analogWrite出力をスピーカーに送信し、スピーカーのもう一方のピンにNMOSを接続して、トーン出力で駆動することができます。
あなたには、いくつかの回路図が必要な場合は、単に..
こんにちはデイブを尋ねる - あなたは私たちは、あなたがそれを改善できるように、あなたはすでに書かれているコードを投稿してくださいできますか? –