私は教科目的のために私のArduinoで基本的なテルミンを構築しようとしていました。 私の考えは、音量のためのポテンショメータと音程のためのフォトレジスタを読み取ることでした。今基本的なテルミン:Arduinoテルミンのための同じピンのanalogWrite()とtone()コマンド
私のコードは次のとおりです。
int piezoPin = 5;
int sensorPin = 1;
int potPin = 2;
int sogliaMinima = 20;
int sogliaMassima = 160;
void setup() {
pinMode (piezoPin, OUTPUT);
Serial.begin (9600);
}
void loop() {
// first block of code working
int potLevel = analogRead (potPin);
int levelVolume = map (potLevel, 0, 1022, 0, 170);
analogWrite (piezoPin, levelVolume);
// second block of code working
int sensorValue = analogRead (sensorPin);
int pitchLevel = map (sensorValue, sogliaMinima, sogliaMassima, 100, 1000);
tone (piezoPin, pitchLevel);
}
これは動作していない、それはソフトウェアの問題ではない回路間違いです。最初のブロックと2番目のブロックの両方がコメントの1つであれば動作していますが、一緒には動作しません。だから私の質問です:私は同じピンでのtone()とanalogWriteを使用できますか?
たTHX @jdhを、私はそれを疑ったが、トーンの説明()メソッドは、私にとって非常に明確ではありませんでした:)あなたは両方を実装する方法のいずれかの提案があれば2つの基本的なアナログセンサーで機能(音量とピッチ)を調整することができます。とにかくThx! –
ところで、私は何か重要なことは言及していませんでしたが、正しい方向に私を向けることができます。私はテストをしました:Arduinoによってポットによって設定された電圧を読み取る代わりに、ピエゾをPWMするために、ピエゾの+をポテンショメータの出力に直接接続して機能させました。私は「ポテンショメーターによって設定されたVを使用して電源を供給していると思ったので、正しくなければなりません」。そしてそれは働いていた。しかし、同じ時間に動作している可能性があるのは、フォトレジスタの値で指定されたanalogWriteでPWM処理しているのでしょうか? –