|
1 | 1 | --- |
2 | | - |
3 | 2 | title: Sound Sensor |
4 | 3 | tags: ["gpio"] |
5 | | --------------- |
| 4 | +--- |
6 | 5 |
|
7 | 6 | ## Funktionsweise |
8 | 7 |
|
9 | 8 | Ein Sound Sensor funktioniert mittels eines Mikrofons. Die vom Mikrofon in elektrische Signale umgewandelten akustischen Schwingungen werden |
10 | 9 | gegen einen Schwellenwert verglichen. Sobald die elektrischen Signale in ihrer Stärke einen gewissen Schwellwert übersteigen wird am Sensor |
11 | | -ein digitaler Augang geschaltet. Es wurde Lärm oder ein Geräusch erkannt. |
| 10 | +ein digitaler Ausgang geschaltet. Es wurde Lärm oder ein Geräusch erkannt. |
12 | 11 |
|
13 | 12 | Am CrowPi kann dieser Schwellwert mittels eines Potentiometers eingestellt werden. Am einfachsten geht das, wenn man auf das entsprechende |
14 | 13 | LED bei den Status LEDS achtet und den entsprechenden Lärm verursacht welcher erkannt werden soll. Wird das Potentiometer nach rechts |
@@ -54,15 +53,14 @@ Nachfolgend wird die Verwendung der Klasse {{< javadoc class="com.pi4j.crowpi.co |
54 | 53 |
|
55 | 54 | Bei dieser Komponente wurde ein sehr simples Beispiel gewählt. Damit die Applikation jedoch richtig funktioniert muss erst der Sound Sensor |
56 | 55 | so eingestellt werden, dass ein Händeklatschen erkannt wird. Am besten wie in der Funktionsweise beschrieben kurz ausprobieren. Als erstes |
57 | | -wird mit einer simplen Statusabfrage geprüft ob gerade stille im Raum herrscht. Falls es gerade schon zu laut wäre, würde das Programm |
58 | | -abbrechen. Ist es ruhig registriert das Programm einen `onNoise` Event Handler welcher mittels einer Zählvariable zählt wie oft schon Lärm |
59 | | -erkannt wurde. Nach 3x Händeklatschen beendet die Applikation wieder. Für das Zählen in einer Lamdafunktion in Java muss ein spezieller |
60 | | -Datentyp verwendet werden. Man sieht dies am `AtomicInteger count`. Der `AtomicInteger` ist eine spezielle Form eines normalen Integers |
| 56 | +wird mit einer simplen Statusabfrage geprüft, ob gerade stille im Raum herrscht. Falls es gerade schon zu laut wäre, würde das Programm |
| 57 | +abbrechen. Ist es ruhig registriert das Programm einen `onNoise` Event Handler, welcher mittels einer Zählvariable zählt wie oft schon Lärm |
| 58 | +erkannt wurde. Nach 3x Händeklatschen beendet die Applikation wieder. Für das Zählen in einer Lambdafunktion in Java muss ein spezieller |
| 59 | +Datentyp verwendet werden. Man sieht dies am `AtomicInteger count`. Der `AtomicInteger` ist eine spezielle Form eines normalen Integers, |
61 | 60 | welcher jedoch auch innerhalb einer Lambdafunktion benutzt werden kann.{{< code |
62 | 61 | file="src/main/java/com/pi4j/crowpi/applications/SoundSensorApp.java" language="java" >}} |
63 | 62 |
|
64 | 63 | ## Weitere Möglichkeiten |
65 | 64 |
|
66 | 65 | - Mit der Relaiskomponente kombiniert könnte eine Lampe mittels klatschen ein und ausgeschaltet werden. |
67 | 66 | - Es könnte eine Alarmanlage gebaut werden, welche anhand von Lärm einen Eindringling erkennt. |
68 | | - |
0 commit comments