Töne erzeugen und Folientastatur zurücksetzen

Hallo zusammen,

ich bearbeite gerade ein Projekt und brauche euer Schwarmwissen, da ich absoluter Rookie bin.

Ich möchte die Folientastatur als Klavier nutzen. Sprich, wenn ich Taster 1 drücke, soll ein Ton so lange erzeugt werden, bis ich den Taster loslasse. Das andere mit den anderen Tastern. Bei den Tastern A bis D, * & # wird eine Melodie wiedergegeben.

Ich habe mir in den Kopf gesetzt, alles mit switch/case zu realisieren. Melodien funktionieren auch. So weit, so gut. Leider bin ich so blockiert und komme nicht darauf, wie ich die einzelnen Töne zurücksetzen kann. :’( Vielleicht kann mir jemand helfen.

void loop() {
char customKey = customKeypad.getKey(); //Einlesen des Tastencodes

if (customKey){

switch (customKey){
case 49: Serial.println(“NOTE_C3”);
while(customKey==49){
tone(13,131);
//noTone(13);
};
break;

case 42: Serial.println(“Zum Geburtstag viel Glück”); //Ausgabe an den seriellen
Monitor
for (int thisNote = 0; thisNote < 26; thisNote++) { // to calculate the note duration,
take one second divided by the
note type.
int noteDuration = 1000 / noteDurations_1[thisNote]; //e.g. quarter note = 1000 / 4,
eighth note = 1000/8, etc.

tone(13, Lied_1[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them.

// the note’s duration + 30% seems to work well:

int pauseBetweenNotes = noteDuration * 1.30;

delay(pauseBetweenNotes);

noTone(13); // stop the tone playing

};break;

default: Serial.println(“Fehler”);

};

Hallo
der Compiler mag den Sektch nicht übersetzen

@TO: Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter oder gehe in der IDE auf Bearbeiten - Für Forum kopieren und füge es hier ein).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.

Außerdem entferne bitte die unnötigen Leerzeilen und formatiere den Code ordentlich (+T in der IDE hilft Dir dabei) und poste vollständigen compilierfähigen Code.

Gruß Tommy

Hallo,

Leider bin ich so blockiert und komme nicht darauf, wie ich die einzelnen Töne zurücksetzen kann.

ton aus -> noTone(pin) hast Du doch drin , oder hab ich Dich falsch verstanden.

Heinz

Aktuell ist der Sketch (bzw. Fragment) total zerstückelt, da kann man nix mehr erkennen.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.