Kommentare zu: Lektion 16 – Ein-Tasten-Piano http://starthardware.org/lektion-16-ein-tasten-piano/ Lerne Hardware zu programmieren! Sat, 05 Mar 2016 20:10:14 +0000 hourly 1 https://wordpress.org/?v=4.4.2 Von: Stefan Hermann http://starthardware.org/lektion-16-ein-tasten-piano/#comment-9027 Thu, 21 May 2015 08:13:57 +0000 http://starthardware.org/?p=324#comment-9027 Hallo Simon,

Du hast ein gutes Auge. Die Frage ist gut! Hier die Antwort: Den tone()-Befehl gibt es in zwei Ausführungen:

  • tone(Pin, Tonhöhe)
  • tone(Pin, Tonhöhe, Dauer)

Wir benutzen hier die obere Variante, da der Ton so lange erklingen soll, wie die Taste gedrückt ist. Ich hoffe, das hilft Dir weiter.

Liebe Grüße

Stefan

]]>
Von: Simon http://starthardware.org/lektion-16-ein-tasten-piano/#comment-9014 Wed, 20 May 2015 23:37:19 +0000 http://starthardware.org/?p=324#comment-9014 Fehlt da nicht irgendwie die ‚tonDauer‘ im letzten Abbild ?

konkret aus:
void loop() {
if ((digitalRead(buttonPin)==HIGH)&&(buttonPressed==false)){
buttonPressed=true;
tone(speakerPin, frequenzen[ton]);
ton=ton+1;
}

ergänzt um ein ‚ delay(tonDauer[ton]); ‚ im if-Teil ergibt:

void loop() {
if ((digitalRead(buttonPin)==HIGH)&&(buttonPressed==false)){
buttonPressed=true;
tone(speakerPin, frequenzen[ton]);
delay(tonDauer[ton]);
ton=ton+1;
}

]]>
Von: Stefan Hermann http://starthardware.org/lektion-16-ein-tasten-piano/#comment-8676 Tue, 05 May 2015 07:26:48 +0000 http://starthardware.org/?p=324#comment-8676 Hallo Philipp,

vielen Dank für das nette Lob. Du hast recht. Das sollte wirklich speakerPin heißen. Danke für den Hinweis. Ich ändere das sofort :-)

Liebe Grüße

Stefan

]]>
Von: Philipp http://starthardware.org/lektion-16-ein-tasten-piano/#comment-8609 Sat, 02 May 2015 21:41:22 +0000 http://starthardware.org/?p=324#comment-8609 Guten Tag,
hat sich in dem ersten Abbild des Codes bei der if-Abfrage ein Fehler eingeschlichen?
Dort steht „tone(9, 440)“
Dieser Pin wurde ja am Anfang als Variable festgelegt.
„Müsste“ es konsequenter Weise dann nicht „tone(speakerPin, 440)“ heißen?

Übrigens eine sehr tolle und anschauliche Tutorial-Website. Großes Lob von meiner Seite.

]]>
Von: Stefan Hermann http://starthardware.org/lektion-16-ein-tasten-piano/#comment-7341 Fri, 27 Mar 2015 16:54:46 +0000 http://starthardware.org/?p=324#comment-7341 Hallo Recep,

danke für Deinen Hinweis. Die tone() Funktion benötigt keine vorherige Deklaration des Pins als OUTPUT. Das hatte ich bisher noch nicht betont, es nun aber in Lektion 14 eingefügt.

Liebe Grüße

Stefan“

]]>
Von: Recep S. http://starthardware.org/lektion-16-ein-tasten-piano/#comment-7331 Fri, 27 Mar 2015 13:19:17 +0000 http://starthardware.org/?p=324#comment-7331 Guten Tag,

Warum wurde den in der setup Funktion per pinMode() nicht mitgeteilt, dass man speakerPin als output verwenden möchte? Hat sich da ein Fehler geschlichen oder wird das durch die tone-funktion erledigt?

]]>