Piano mit Arduino

Hallo zusammen,

ich bin gerade dabei Hobbymäßig ein Keyboard mit dem Arduino zu bauen.

Mein Problem ist jetzt, dass ich, wenn ich den Arduino anschließe, nur immer den druchgehenden Ton kriege,und eigl müsste der ja aus sein, und nur bei Bewegung reagieren. :o

Die Kabelerbindungen sind alle passend.

Wisst ihr weiter?

Danke euch :slight_smile:

tobin678:
Hallo zusammen,

ich bin gerade dabei Hobbymäßig ein Keyboard mit dem Arduino zu bauen.

Mein Problem ist jetzt, dass ich, wenn ich den Arduino anschließe, nur immer den druchgehenden Ton kriege,und eigl müsste der ja aus sein, und nur bei Bewegung reagieren. :o

Die Kabelerbindungen sind alle passend.

Wisst ihr weiter?

Danke euch :slight_smile:

Hallo,

Wie sollen wir das wissen, was du machst und wie du mit den Kabeln schaltest ?

Was du mit den "Bewegungen" vor hast wissen wir auch nicht.

Ob die Kabelverbindungen passen, sehen wir, wenn du das Schaltbild zeigst.

Also eine bessere Beschreibung, ein Schaltbild und den Sketch zeigen, dann können wir evtl. helfen.

Den Sketch bitte in Code-Tags setzen. Schaltfläche </> oben links im Editorfenster.

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.

Ich tippe auf fehlende Pull Up- oder Pull Down-Widerstände. Ohne diese Widerstände machen die Eingänge, was sie wollen, was wie zufällige Tastendrücke wirkt. Schaut euch diese Seite mal an: Arduino Playground - Eingang

Ich hab mir die Seite gerade angeschaut und wenn ich das richtig sehe kann ich indem ich den Pin im Quelltext auf high setze den Pull-up Wiederstand aktivieren, richtig? somit müsste man, wenn ich es richtig verstehe, die Verkabelung nicht verändern ,richtig?

Die Pins sind dann immer High. Die Taster müssen dann mit GND verbunden werden. Werden sie gedrückt, werden sie auf Masse gezogen und die Pins low. Ihr müsst als in den If-Abfragen High durch Low ändern und die Taster von +5V auf GND umstecken.

Vielen lieben Dank euch allen es Funktioniert endlich so wie wir es uns gewünscht haben ^^