I. Die Ansteuerung eines Buzzers mittels JControlDieses Kapitel zeigt, wie ein Piezo-Summer mit JControl verbunden wird und wie man einfache Töne damit erzeugen kann. |
Einem JControl-Modul Töne zu entlocken ist relativ einfach. Im einfachsten Fall genügt ein Piezo-Summer und ein Widerstand. Bild 1 zeigt die unaufwendige Schaltung: Der Summer (engl. Buzzer) ist auf der einen Seite mit dem GND-Potential (0 Volt) verbunden. Die andere Seite des Summers ist über einen Widerstand mit dem entsprechenden BUZZER-Pin des JControl-Moduls verbunden (dieser Pin kann mittels des jeweiligen Produkt-Datenblatts http://www.domologic.de/support/ch1/index_de.html gefunden werden). Der Widerstand dient zur Begrenzung des maximalen Stromflusses und schützt so den Ausgang des JControl-Modul vor Schäden.
Die obige Schaltung ist auf folgenden JControl-Modulen und -Komponenten bereits vorhanden:
Einen Lautsprecher kann man selbstverständlich auch an den BUZZER-Pin eines JControl-Moduls anschließen. Dabei sollten jedoch 2 Punkte berücksichtigt werden:
Um mit der im vorangegangenen Abschnitt vorgestellten Schaltung Töne erzeugen zu können, kann die Klasse jcontrol.io.Buzzer http://www.jcontrol.org/current/docs/api/jcontrol/io/Buzzer.html verwendet werden. Diese stellt sehr einfach zu handhabende Methoden zur Verfügung, mit denen sich dem Buzzer Töne entlocken lassen. Das im folgenden Listing 1 gezeigte Beispiel erzeugt einen Ton mit einer Frquenz von 3000Hz für die Dauer von einer Sekunde (1000ms):
1 | /** |
2 | * Java file created by JControl/IDE |
3 | * |
4 | * @author RSt |
5 | * @date 08.10.04 17:21 |
6 | * |
7 | */ |
8 | import jcontrol.io.Buzzer; |
9 | |
10 | public class SimpleSound { |
11 | |
12 | private static Buzzer buzz; |
13 | |
14 | public SimpleSound() { |
15 | buzz = new Buzzer(); |
16 | } |
17 | |
18 | public static void main(String[] args){ |
19 | new SimpleSound(); |
20 | buzz.on(3000, 1000); // 3000Hz for 1000ms |
21 | for(;;); |
22 | } |
23 | } |
Die Klasse jcontrol.io.Buzzer
bedient sich übrigens den integrierten PWM-Generatoren (PWM steht für Puls-Weiten-Modulation). Einen tieferen Einblick in den Umgang mit PWM-Signalen erhalten sie hier.