|
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.