Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Vorhergehende ÜberarbeitungNächste Überarbeitung | |||
— | project:arduino-kickstarter-104 [14.01.2013 15:56] – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
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. 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. | ||
+ | |||
+ | === 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 '' |