JControl und Sound: Töne und Melodien wiedergeben

I. Die Ansteuerung eines Buzzers mittels JControl

Dieses Kapitel zeigt, wie ein Piezo-Summer mit JControl verbunden wird und wie man einfache Töne damit erzeugen kann.




Anschließen eines Buzzers

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.

Bild 1: Generelle Schaltung zum Anschluß eines Buzzers an JControl

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:

Bild 2: Lautsprecher direkt an ein JControl-Modul anschließen



Erzeugen von Tönen

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    }
Listing 1: SimpleSound.java

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.



© 2000-2006 DOMOLOGIC Home Automation GmbH. All Rights Reserved.