Lautspreche, oder auch englisch „speaker“ werden in nahezu allen Maschinen verwendet um akustische Signale zu erzeugen. Der „Piep-Ton“ hilft uns dabei, nachzuvollziehen, ob zum Beispiel eine Taste auch wirklich gedrückt worden ist oder ein Vorgang abgeschlossen wurde.
Beim Frühstück ertönt immer ein lautes Piepen, wenn die Kaffeemaschine ihre Arbeit beendet hat. Fallen dir eigene Beispiele ein, an welchen Stellen dir der „Piep-Ton“ in deinem Alltag begegnet?
In dieser Anleitung sehen wir uns gemeinsam an, wie wir selbst einen „Piep-Ton“ mit Hilfe eines Speakers erzeugen können. Dabei soll zusätzlich immer eine rote LED aufleuchten, wenn der Speaker einen Ton abgibt. Danach soll eine kurze Pause folgen und der Speaker anschließend wieder ertönen.
Wir starten wie immer mit der ROBOTERKONFIGURATION. Innerhalb der Konfiguration wählen wir die Schaltfläche Aktion mit einem Linksklick aus.
In dem Untermenü finden wir jetzt einen Block mit dem Namen „Summer HYT120“. Dieser Block enthält die Informationen, mit dem Töne erzeugt werden können.
Wir wählen also den Block „Summer HYT120“ aus und ziehen diesen mit der linken Maustaste in das weiße Feld. Hinter der Bezeichnung „Summer HYT120“ befindet sich das Feld, in dem wir für den Lautsprecher einen Namen eingeben können. Wir tragen hier den Namen „L“ für den Lautsprecher ein. Bei dem „+“ Symbol geben wir an, mit welchem digitalen Pin der Lautsprecher mit dem Mikrocontroller verbunden ist. Das erkennst du natürlich wieder an der Leiterbahn auf dem Cube. Es ist der digitale Pin D7.
Wenn du alles richtig gemacht hast, sollte deine ROBOTERKONFIGURATION jetzt so wie in dieser Abbildung aussehen.
Jetzt fehlt eigentlich nur noch unsere rote LED. Die kannst du sicherlich mittlerweile alleine hinzufügen?
Die folgende Skizze hilft dir dabei.
Navigiere zuerst in das Obermenü „PROGRAMM„.
Anschließend wählst du mit einem Klick der linken Maustaste den Menüpunkt Aktion aus.
Im zweiten Schritt wählen wir jetzt den Baustein für unseren Lautsprecher aus.
Die folgende Skizze hilft dir dabei.
Der Programmblock wird nun mit der Maus an die passende Stelle der Schleife geschoben. Das Ergebnis sieht danach so aus, wie in der Skizze.
In dem Programmblock gibt es zwei Bereiche, in denen wir Veränderungen vornehmen können.
„Frequenz HZ“ – Hier stellen wir die Tonhöhe ein. Unser Ton soll eine Frequenz von 300Hz haben.
„Dauer ms“ – Hier stellen wir ein, wie lange er Ton hörbar sein soll. Wir tragen hier 1000 ein. Das steht für 1000ms, was genau einer Sekunde entspricht!
Da wir immer dann, wenn der Lautsprecher einen Ton erzeugt, auch eine rote LED zum Leuchten bringen möchten, fügen wir jetzt noch unsere rote LED hinzu. Wie das geht, weißt du natürlich aus den vorherigen Lektionen.
Die LED wird nun unmittelbar vor dem Aktivieren des Lautsprechers eingeschaltet. Sie leuchtet während der Sekunde, in der der Ton zu hören ist und wird genau danach wieder ausgeschaltet.
Prima, das war nicht schwer!
Lade das Programm und teste ob alles richtig funktioniert.
Oh je, was für ein Lärm. Warum geht die LED nicht aus und warum ertönt das Geräusch dauerhaft?
Du hast es sicherlich schon vor dem hochladen gemerkt.
Die Schleife des Programms wiederholt sich immer sofort, wenn es am Ende angekommen ist. Dort wo wir die LED ausschalten und wo der Ton deaktiviert wird, ist aber kein Programmbaustein mehr. Also startet der Ton im Bruchteil einer Sekunde erneut, nachdem er abgeschaltet wurde.
Wir ergänzen unser Programm nach dem Ausschalten von Ton und LED durch eine Pause von einer Sekunde.
So, jetzt haben wir es aber endgültig geschafft.
Dein Programm sieht jetzt so aus, wie in der Skizze.
Frage: Kannst du mit dem Programmblock für den Lautsprecher eine Melodie erzeugen? Kopiere den Baustein mit de rechten Maustaste und setze ihn unter den ersten Baustein. Verändere dabei die „Frequenz HZ“ und die „Dauer ms“.
In dieser Lektion werden wir mit einer LED und einem Lautsprecher arbeiten. Werft einen Blick auf die Leiterbahn und findet heraus, mit welchen Pins diese beiden Bauteile verbunden sind. Erstelle anschließend die erforderlichen Variablen für die LED und den Lautsprecher.
Wenn ihr alles korrekt gemacht habt, sollten eure Variablen aussehen wie auf der rechten Abbildung.
/* Variablen - Bauteile */
int modul_speaker = 7;
int modul_led_rot = 12;
Im Setup-Bereich müssen wir uns erneut überlegen, ob wir die LED und den Lautsprecher als Eingang oder Ausgang definieren möchten.
Da Leuchtdioden mit einem Spannungssignal ein- und wieder ausgeschaltet werden, handelt es sich bei einer LED immer um einen Ausgang. Wir legen deshalb im „pinMode„ Befehl den Wert „OUTPUT“ fest.
Nun die Frage an euch: Handelt es sich bei dem Lautsprecher um einen Eingang oder Ausgang?
/* Variablen - Bauteile */
int modul_speaker = 7;
int modul_led_rot = 12;
/* setup */
void setup()
{ // start setup
pinMode(modul_led_rot, OUTPUT);
} //ende setup
Wenn ihr vermutet habt, dass der Lautsprecher ein Ausgang ist, dann liegt ihr damit völlig richtig.
Da die Töne durch eine ausgehende Spannung vom Mikrocontroller erzeugt werden, handelt es sich um einen Ausgang. Doch in diesem Fall gibt es eine Besonderheit. Für den Lautsprecher benötigen wir im Setup keine Angabe darüber, ob es ein Ausgang oder ein Eingang ist.
Das liegt daran, dass die Erzeugung von Tönen in der Arduino-Software einen eigenen Befehl, mit dem Namen „Tone“, besitzt. Dieser Befehl beinhaltet bereits die Information, dass der Pin für die Tonausgabe ein Ausgangspin ist.
/* Variablen - Bauteile */
int modul_speaker = 7;
int modul_led_rot = 12;
/* setup */
void setup()
{ // start setup
pinMode(modul_led_rot, OUTPUT);
} //ende setup
Nachdem wir das Setup abgeschlossen haben, wenden wir uns jetzt dem Loop zu. Im Loop möchten wir zunächst einen ton mit unserem Lautsprecher erzeugen und anschließend die Leuchtdiode zum Leuchten bringen.
Im Zusammenhang mit dem „Tone“ Befehl gibt es zwei Befehle, die in der Arduino-Software verwendet werden können.
Der erste Befehl aktiviert den Lautsprecher an dem angegebenen Pin und der zweite Befehl schaltet den Lautsprecher stumm. Den Lautsprecher aktivieren wir nun mit der Tonhöhe „200“ und die LED aktivieren wir wie gehabt mit dem „digitalWrite„-Befehl. LED und Lautsprecher sollen für 1000ms, also eine Sekunde, aktiviert bleiben. Das erledigen wir mit einem „delay“.
/* Variablen - Bauteile */
int modul_speaker = 7;
int modul_led_rot = 12;
/* setup */
void setup()
{ // start setup
pinMode(modul_led_rot, OUTPUT);
} //ende setup
/* loop */
void loop()
{ // start loop
tone(modul_speaker, 100);
digitalWrite(modul_led_rot, HIGH);
delay(1000);
} // ende loop
Anschließend möchten wir sowohl die LED, als auch den Lautsprecher wieder ausschalten. Wichtig ist nun, dass wir zum Ausschalten des Lautsprechers den „notone„ Befehl verwenden. Damit LED und Lautsprecher eine Sekunde aus bleiben, wird nach der Deaktivierung wieder ein „delay„ verwendet.
Anschließend könnt ihr das Programm auf den Funduino Cube hochladen!
Nun seid ihr an der Reihe. Wie würde das Programm aussehen, wenn die LED und der Lautsprecher abwechselnd blinken oder piepen sollen?
/* Variablen - Bauteile */
int modul_speaker = 7;
int modul_led_rot = 12;
/* setup */
void setup()
{ // start setup
pinMode(modul_led_rot, OUTPUT);
} //ende setup
/* loop */
void loop()
{ // start loop
tone(modul_speaker, 100);
digitalWrite(modul_led_rot, HIGH);
delay(1000);
noTone(modul_speaker);
digitalWrite(modul_led_rot, LOW);
delay(1000);
} // ende loop
Falls du Unterstützung bei der Verwendung deines Funduino Cubes benötigen solltest, steht dir unser kompetentes Support Team jederzeit gerne zur Verfügung!
Du erreichst uns am Besten per Mail unter info@funduino.de oder von Montags bis Freitags, zwischen 09:00 und 17:00 Uhr unter der Rufnummer (+49) 5921 9704030.