Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
project:arduino-kickstarter-104 [18.11.2011 23:17] – angelegt ebrndproject:arduino-kickstarter-104 [20.11.2013 22:02] (aktuell) paalsteek
Zeile 5: Zeile 5:
 === Die Schaltung === === Die Schaltung ===
  
-{{:project:buzzer.png|}}+{{:project:buzzer.png?400|}}
  
-Verbinde einen Anschluss des Lautsprechers mit Pin 8 des Ardunio. Den anderen schließt du über einen 100Ω-Widerstand an Masse (GND) an. Der Widerstand begrenzt den Strom, der über den Lautsprecher fließen kann. Würde man den Widerstand weglassen, könnte - je nach verwendetem Lautsprecher - ein zu hoher Strom den Arduino beschädigen.+Verbinde einen Anschluss des Lautsprechers mit Pin 8 des Ardunio. Beachte, dass je nach Lautsprecher ein Vorwiderstand nötig ist, um den Strom, der durch den Lautsprecher fließt, zu begrenzen. Bei den Lautsprechern in unserem Arduino-Kit ist dies jedoch nicht nötig. 
 + 
 +<html><!-- Den anderen schließt du über einen 100Ω-Widerstand an Masse (GND) an. Der Widerstand begrenzt den Strom, der über den Lautsprecher fließen kann. Würde man den Widerstand weglassen, könnte - je nach verwendetem Lautsprecher - ein zu hoher Strom den Arduino beschädigen. --></html>
  
 === Das Programm === === Das Programm ===
Zeile 49: Zeile 51:
  
 Die ''#include''-Anweisung ganz vorne sagt dem Compiler, dass aus einer anderen Datei etwas einzubinden ist. In diesem Fall ist das die Datei "pitches.h", die definitionen für die einzelnen Töne enthält. Damit können wir dann die Notennamen (z.B. NOTE_C4) verwenden, anstatt jedes Mal die Frequenz in Hz angeben zu müssen. Danach werden zwei Listen (Arrays) definiert, das erste gibt die Noten der Melodie an, das zweite, wie lange die Noten jeweils zu spielen sind. Die ''#include''-Anweisung ganz vorne sagt dem Compiler, dass aus einer anderen Datei etwas einzubinden ist. In diesem Fall ist das die Datei "pitches.h", die definitionen für die einzelnen Töne enthält. Damit können wir dann die Notennamen (z.B. NOTE_C4) verwenden, anstatt jedes Mal die Frequenz in Hz angeben zu müssen. Danach werden zwei Listen (Arrays) definiert, das erste gibt die Noten der Melodie an, das zweite, wie lange die Noten jeweils zu spielen sind.
 +
 +**Wichtig:** 
 +Die Datei pitches.h muss sich im selben Ordner befinden, wie die Datei, in der die Melodie abgespielt wird.
 +Du solltest die Datei also von Digital -> toneMelody in deinen Arbeitsordner kopieren.
  
 Im Setup-Teil des Programms befindet sich nun eine ''for''-Schleife. Diese zählt die Variable ''thisNote'' von 0 bis 7 hoch. Jedes Mal wird dann ''tone'' aufgerufen, das drei Parameter enthält. Der erste ist eine 8, die Nummer des Pins an dem der Lautsprecher hängt. Der zweite ist die Tonhöhe des aktuell zu spielenden Tons (''thisNote'' wird als Index auf dem Array verwendet, gibt also an, auf den wievielten Eintrag wir zugreifen wollen). Der dritte ist die Dauer in Millisekunden, wie lang der Ton zu spielen ist. Da wir zu Beginn nur angegeben haben, ob es jeweils eine Viertel- oder Achtelnote ist, wird in der Zeile davor 1000 geteilt durch den Wert der Note (4 oder 8) gerechnet. Dabei kommt dann entweder 250 (1000 / 4) oder 125 (1000 / 8) raus, also jeweils eine Viertel- oder Achtelsekunde. Im Setup-Teil des Programms befindet sich nun eine ''for''-Schleife. Diese zählt die Variable ''thisNote'' von 0 bis 7 hoch. Jedes Mal wird dann ''tone'' aufgerufen, das drei Parameter enthält. Der erste ist eine 8, die Nummer des Pins an dem der Lautsprecher hängt. Der zweite ist die Tonhöhe des aktuell zu spielenden Tons (''thisNote'' wird als Index auf dem Array verwendet, gibt also an, auf den wievielten Eintrag wir zugreifen wollen). Der dritte ist die Dauer in Millisekunden, wie lang der Ton zu spielen ist. Da wir zu Beginn nur angegeben haben, ob es jeweils eine Viertel- oder Achtelnote ist, wird in der Zeile davor 1000 geteilt durch den Wert der Note (4 oder 8) gerechnet. Dabei kommt dann entweder 250 (1000 / 4) oder 125 (1000 / 8) raus, also jeweils eine Viertel- oder Achtelsekunde.
  
 Die ''delay''-Anweisung danach sorgt dafür, dass das Programm pausiert, während der Ton gespielt wird. Es wird 1,3-Mal so lang pausiert wie der Ton dauert. Dadurch wird eine kurze Pause erzielt und die Töne werden voneinander unterscheidbar. Die ''delay''-Anweisung danach sorgt dafür, dass das Programm pausiert, während der Ton gespielt wird. Es wird 1,3-Mal so lang pausiert wie der Ton dauert. Dadurch wird eine kurze Pause erzielt und die Töne werden voneinander unterscheidbar.
project/arduino-kickstarter-104.1321658243.txt.gz · Zuletzt geändert: 14.01.2013 15:56 (Externe Bearbeitung)
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Driven by DokuWiki