Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Vorhergehende ÜberarbeitungLetzte Überarbeitung | |||
— | project:arduino-kickstarter-104 [20.11.2013 21:56] – paalsteek | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Buzzer betreiben ====== | ||
+ | Manchmal ist von einer Schaltung nicht nur optisches Feedback (Blinken) gewünscht, sondern auch akustisches. Dazu werden wir in dieser Lektion einen Lautsprecher an den Arduino anschließen und mit diesem Töne produzieren. | ||
+ | |||
+ | === Die Schaltung === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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. | ||
+ | |||
+ | < | ||
+ | |||
+ | === Das Programm === | ||
+ | |||
+ | Bei den Beispielen unter dem Namen '' | ||
+ | |||
+ | # | ||
+ | | ||
+ | // notes in the melody: | ||
+ | int melody[] = { | ||
+ | NOTE_C4, NOTE_G3, | ||
+ | | ||
+ | // note durations: 4 = quarter note, 8 = eighth note, etc.: | ||
+ | int noteDurations[] = { | ||
+ | 4, 8, 8, 4,4,4,4,4 }; | ||
+ | | ||
+ | void setup() { | ||
+ | // iterate over the notes of the melody: | ||
+ | for (int thisNote = 0; thisNote < 8; thisNote++) { | ||
+ | | ||
+ | // to calculate the note duration, take one second | ||
+ | // divided by the note type. | ||
+ | //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. | ||
+ | int noteDuration = 1000/ | ||
+ | tone(8, melody[thisNote], | ||
+ | | ||
+ | // 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); | ||
+ | // stop the tone playing: | ||
+ | noTone(8); | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | void loop() { | ||
+ | // no need to repeat the melody. | ||
+ | } | ||
+ | |||
+ | Dieses Programm spielt eine kurze Melodie ab. Da es komplett im " | ||
+ | |||
+ | Die ''# | ||
+ | |||
+ | **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 '' | ||
+ | |||
+ | Die '' |