Hallo,
Ich gehöre mit zu der Gruppe von Tobin wo das Problem auftritt und zerbreche mir nun seit mehreren Tagen den Kopf darüber. Mein Kollege hat die Situation wie ich denke missverständlich geschildert.
Unsere Materialien sind ein Arduino Mega und ein Lautsprecher, ich habe alles korrekt angeschlossen denn an und für sich funktioniert der großteils des Folgenden Quelltextes.
Der Lautsprecher ist über einen der PWM -Pins in unserem Fall meist Pin 5 oder 8 mit dem Arduino verbunden andere Tonausgabe Programme funktionieren auch einwandfrei, jedoch gibt der Lautsprecher bei unserem Programm für das Piano auch dann einen Ton aus, wenn er es nicht tun soll.
Ansonsten Funktioniert das Programm nur dieser eine Fehler tritt auf und ich konnte bisher einfach nicht herausfinden woran der Fehler liegt.
Auch wenn ich den noTone() befehl ins setup einfügt wird ein ton ausgegeben.
Hier der Quelltext:
#include "pitches.h"
void setup() {
pinMode(5,INPUT);
pinMode(6, INPUT);
pinMode(7,INPUT);
pinMode(8,OUTPUT);
}
void loop() {
while(digitalRead(5)==HIGH){
tone(8,NOTE_E3,1000);
delay(10);
}
while (digitalRead(6)==HIGH){
tone(8,NOTE_F3,1000);
delay(10);
}
while (digitalRead(7)==HIGH){
tone(8,NOTE_G3,1000);
delay(10);
}
}
Pitches.h ist nur eine Headerdatei in der die Frequenzen bereits den Noten zugeordnet sind.
Vielen Dank schon mal für eure Hilfe.