Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

XY-Diagramm einer Schallpegelmessung

Inhalt: Vertiefung des Umgangs mit Arrays, Anwendung der Array-Algorithmen, Typecast Double->Int

Um das bisher Gelernte zu vertiefen, sollen die Schülerinnen und Schüler eine weitere Aufgabenstellung bearbeiten. Ausgearbeitet liegt hier die Erstellung eines XY-Diagramms der Ergebnisse einer Schalldruckpegelmessung vor. Alternativ könnte auch die Implementierung der Schrittweitensteuerung bei der Funktionsanpassung (vergleichen Materialien von M: Funktionen im Kontext).

Bei der Erstellung des XY-Diagramms wird die Suche nach dem Maximum wiederverwendet, um eine Skalierung der Werte durchzuführen. Außerdem werden wie beim Bubblesort auffeinanderfolgende Werte benutzt, hier um ein Liniendiagramm zu erstellen. Die Schleifenbedingung der for-Schleife muss daran angepasst werden. Abschließend soll das Diagramm geglättet werden, indem für das Diagramm immer der Durchschnitt von n Messwerten benutzt wird. Die Schülerinnen und Schüler können untersuchen, wie sich die Wahl von n auswirkt. Programmiertechnisch ist dafür eine Schleife notwendig, in der der Zähler um n und nicht um 1 erhöht wird.

Die notwendigen Messwerte für das Diagramm können in einer der vorangehenden Stunden selbstständig aufgezeichnet werden. Die in den Materialien verwendeten Daten wurden mit der App "Phyphox"1 erfasst. Diese erlaubt viele physikalische Experimente unter Verwendung der Sensoren des Smartphones. Hier wurde das Experiment "Audio Amplitude" verwendet. Möchte man exakte Werte messen, ist eine Kalibrierung des Geräts mit einer Schallquelle mit bekannter Amplitude notwendig (Hinweis: für die Kalibrierung muss die Messung mit ► gestartet werden). Alternativ kann die App "Spaichinger Schallpegelmesser"2 eingesetzt werden. Dort wird die Kalibrierung durch Zerreißen von Papier in einem definierten Abstand durchgeführt. Für die Darstellung als XY-Diagramm ist eine exakte Kalibrierung aber nicht unbedingt erforderlich, da der Verlauf der Lautstärke im Klassenzimmer qualitativ auch ohne exakte Werte interessant ist. Um die Größenordnung zu testen kann man in etwa von folgenden Schalldruckpegeln ausgehen:

Atmen, Blätterrauschen, Schneefall 10 Dezibel
sehr ruhiges Zimmer, Ticken einer Armbanduhr, leichter Wind 30 Dezibel
Flüstern, leise Musik, ruhige Wohnstraße nachts 40 Dezibel
Regen, Kühlschrank, leises Gespräch, Geräusche in der Wohnung 55 Dezibel
normales Gespräch, Nähmaschine, Fernseher in Zimmerlautstärke 65 Dezibel
Staubsauger, Wasserkocher, laufender Wasserhahn 70 Dezibel
Kantinenlärm, Waschmaschine beim Schleudern, Großraumbüro 75 Dezibel
laute Sprache, Streitgespräch, Klavierspiel 80 Dezibel
Saxofonspiel, Hauptverkehrsstraße 85 Dezibel
Kammerkonzert, Orchestergraben, Türknallen 90 Dezibel
Musik (Kopfhörer), Holzfräsmaschine 95 Dezibel
Schlagzeug/Rockkonzert, Motorsäge 110 Dezibel

Quelle: "Wenn aus Geräuschen Lärm wird: Dezibel-Übersicht", Hörex, 2019, https://www.hoerex.de/service/presseservice/trends-fakten/wie-laut-ist-das-denn.html (Stand: 17.02.2019)

Im Klassenzimmer werden etwa zwischen 40dB (sehr leise) und 80dB (sehr laut) erreicht. Ab 85dB können die Ohren irreparablen Schaden nehmen.

Bei beiden Apps können die Daten als CSV-Datei gespeichert werden. Phyphox speichert nur den Zeitpunkt (in s) und den Schalldruckpegel. Der Spaichinger Schallpegelmesser speichert eine laufende Nummer, Schalldruckpegel und einige andere Werte. Achten Sie darauf, welches Trennzeichen für die Trennung der Spalten verwendet wird (Komma oder Semikolon). Processing kann nur CSV-Dateien mit Kommas verarbeiten. Bei der Table-Klasse in Greenfoot und im Java-Editor kann beim Aufruf des Konstruktors das Trennzeichen angegeben werden. Benennen Sie die Spalten um, so dass der Spaltenname aus einem einzigen Wort besteht. Bei Verwendung des Spaichinger Schallpegelmessers müssen Sie außerdem einige Kopfzeilen entfernen, so dass die CSV-Datei nur die Spaltenüberschriften und die Messwerte enthält.

Die Schüler beginnen zunächst, das Laden der Werte an die neue CSV-Datei anzupassen. Die Werte werden als Balkendiagramm angezeigt. Danach wird dies in ein XY-Diagramm umgewandelt. Da die Datei sehr viele Daten (ca. 12000 Datensätze) enthält, kommt es bei Greenfoot und beim Java-Editor zu längeren Ladezeiten. Daher sollen die Schüler zunächst nur die ersten 40 Werte laden und anzeigen. Zusätzlich ist bei Greenfoot notwendig, die Aktualisierung der Darstellung auf dem Bildschirm nicht nach jedem Zeichenbefehl durchzuführen, sondern erst am Ende der Zeichenbefehle. Das ist im vorgegebenen Programm schon realisiert (setAutoRefresh(false) und refresh()). In der Konsole wird außerdem ausgegeben, welche Zeile gerade geladen wird, damit deutlich wird, wie lange man noch warten muss.

Das XY-Punktdiagramm wird dann skaliert. Dazu müssen die Schülerinnen und Schüler die Suche nach dem Maximum an double-Zahlen anpassen. Mit dem ermittelten Maximum und der Bildschirmgröße wird ein Skalierungsfaktor bestimmt und angewendet. Nun füllt das Diagramm den Bildschirm möglichst gut aus.

Die Punkte werden im nächsten Schritt zu einem Liniendiagramm verbunden. Dabei muss die Schleifenbedingung angepasst werden, damit es nicht zu einer arrayindex-out-of-bounds-Exception kommt, wenn die Linie zum jeweils nächsten Punkt gezeichnet wird. Die Schleife darf nur noch bis zum vorletzten Punkt laufen.

Man sieht, dass die Werte im Diagramm sehr stark schwanken. Daher ist es sinnvoll, die Kurve zu glätten, um den Verlauf der Lautstärke im Klassenzimmer realistischer darzustellen. Dazu wird jeweils der Durchschnitt einiger aufeinander folgender Messwerte bestimmt. Dies sollen die Schüler zunächst von Hand für verschiedene Schrittweiten durchführen und dann in Quellcode umsetzen. Dabei kann das Programm zur Berechnung des Durchschnitts (siehe Zeitungsmeldung) verwendet und angepasst werden.

1 Kostenlos für Android und iOS verfügbar, Homepage: https://phyphox.org/ (Stand: 12.02.2019)

2 Kostenlos für Android und iOS verfügbar, Homepage: http://www.spaichinger-schallpegelmesser.de/ (Stand: 12.02.2019)

 

 

Hintergrund und Unterrichtsverlauf: Herunterladen [odt][2 MB]

Hintergrund und Unterrichtsverlauf: Herunterladen [pdf][380 KB]

 

Weiter zu Literatur und Internetseiten