Sie sind auf Seite 1von 46

Maria-Theresia-Gymnasium München Abiturjahrgang 2010

Facharbeit
im Leistungskurs

Physik
des Kollegiaten Dominik Schröder

mit dem Thema

Lawinenverschüttetensuchgeräte
Theorie und Eigenbau

Erzielte Punktzahl:
Abgabetermin: 29. Januar 2010
Kursleiter: A. Fleckenstein
Zeit ist die kritische Komponente bei der Suche nach Verschütteten in Lawinen. So ge-
nannte Lawinenverschüttetensuchgeräte1 empfangen bzw. senden elektromagnetische Wel-
len und machen eine Lokalisierung des Opfers erst möglich. Diese Arbeit befasst sich mit der
Funktionsweise solcher Geräte und beschreibt die Entwicklung eines digitalen LVS-Gerätes
mit drei orthogonal angeordneten Antennen, die die Suche beschleunigen und damit die
Überlebenschancen des Verschütteten erhöhen können.

1
kurz LVS-Gerät
Danksagung

Herzlicher Dank geht an Abdul K. und Hans-Joachim Brandt (Amateurfunk-Rufzeichen


DJ1ZB) für ausführliche Beratung im Bereich der Analogtechnik für die Empfangsschalt-
kreise.
Dank geht auch an Dr. Schott für die Bereitstellung von Informationen bezüglich des
Pyro-Power-Safe-Projektes.

3
Selbstständigkeitserklärung

Hiermit versichere ich, die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst
und keine anderen als die im Literaturverzeichnis angegebenen Hilfsmittel verwendet zu
haben.

München, den 28. Januar 2010

4
Inhaltsverzeichnis

Inhaltsverzeichnis

1. Einleitung 7
1.1. Lawinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1. Schneebrettlawinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2. Lockerschneelawinen . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3. Staublawinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2. Verschüttungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3. Bergung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Lawinenverschüttetensuchgeräte 10
2.1. Signalanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1. Nahfeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2. Frequenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.3. Feldgeometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.4. Pulsierendes Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Empfang des Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3. Verarbeitung des Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1. Einantennige LVS-Geräte . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1.1. Suchtechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1.2. Problematik . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2. Mehrantennige LVS-Geräte . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2.1. Empfangstechnik . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2.2. Suchtechniken . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2.3. Problematik bei zweiantennigen Geräten . . . . . . . . . . 16

3. Eigenbau 17
3.1. Vorüberlegungen zum Bau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1. Technische Erwägungen . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1. Empfang des Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1.1. Empfangsschwingkreis . . . . . . . . . . . . . . . . . . . . . 17
3.2.1.2. Resonanzfindung . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2. Verarbeitung des Signals . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.3. Analyse des Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.4. Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.5. Benutzerinteraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.5.1. LCD-Display . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5
Inhaltsverzeichnis

3.2.5.2. Piezo-Lautsprecher . . . . . . . . . . . . . . . . . . . . . . . 20
3.3. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1. Schematik der Software . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.2. Technische Implementierung . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.2.1. Schleifenfunktion . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.2.2. Verarbeitung des Signals . . . . . . . . . . . . . . . . . . . 22
3.3.2.3. Ansteuerung des Displays . . . . . . . . . . . . . . . . . . . 22
3.3.2.4. Auslesen des Kompasses . . . . . . . . . . . . . . . . . . . . 23
3.3.2.5. Ansteuerung des Lautsprechers . . . . . . . . . . . . . . . . 23
3.3.2.6. Entwicklung des Suchalgorithmus . . . . . . . . . . . . . . 23
3.4. Ergebnisse des Eigenbaus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.3. Abschließende Bewertung . . . . . . . . . . . . . . . . . . . . . . . . 27

4. Ausblick 28
4.1. Technische Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.1. Empfangstechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.2. Suchtechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2. Bewertung der bevorstehenden Entwicklungen . . . . . . . . . . . . . . . . . 29

Abbildungsverzeichnis 30

Literaturverzeichnis 31

Anhang A. Schaltplan 32

Anhang B. Source-Code 33

6
1. Einleitung

1. Einleitung

Im Folgenden soll ein allgemeiner Über- schichten so labil ist, dass lediglich leich-
blick über die Lawinenproblematik in den ter Druck von außen – beispielsweise durch
schneebedeckten Gebirgen gegeben wer- einen Wintersportler – dazu führt, dass die
den. Im Zuge der Recherchen haben sich oberste Schneeschicht über die Breite des ge-
das Standardwerk zu Lawinenvorbeugung samten Hanges ins Rutschen kommt und al-
3x3 Lawinen 1 und Veröffentlichungen des le sich im Hang befindlichen Personen mit
Schweizer Lawinen-Forschungs-Instituts2 als sich reißt. Dabei entsteht eine sehr markan-
sehr hilfreich erwiesen. te Abrisskante (Abb. 1.1). Beispiele für Ge-
fahrenfaktoren sind Schneefall unter starkem
1.1. Lawinen Wind oder abrupte Temperaturänderungen.
Auch die Steilheit des Hanges korreliert mit
Lawinen3 sind die bedeutendste Naturge- der Gefahr eines Abgangs. Die Gefahr für
fahr in schneebedeckten Gebirgen. Allein im den Verschütteten besteht in erster Linie in
Alpenraum sterben jährlich 100 Menschen Verletzungen durch Felskontakt und Ersti-
in Lawinen bzw. an den Folgen der Ver- ckung unter den Schneemassen. Sie stellen
schüttungen. Den Großteil der Opfer stel- aufgrund ihrer Häufigkeit und Gefährlichkeit
len Wintersportler dar, Lawinenabgänge auf wohl die akuteste Gefahr da.
Ortschaften und Verkehrswege sind durch
Schutzmaßnahmen glücklicherweise selten
geworden.
Die Entstehung von Lawinen hängt maß-
geblich von der Beschaffenheit der Schnee-
decke ab. Es werden grundsätzlich drei ver-
schiedene Arten von Lawinen unterschieden:
Lockerschneelawinen und Staublawinen ge-
hen meist von einem Punkt aus, während bei
Schneebrettlawinen ganze Schneetafeln ent-
lang einer Abrisskante abrutschen.

1.1.1. Schneebrettlawinen
Abbildung 1.1.: Schneebrettlawine mit mar-
Bei ungünstigen Witterungsverhältnissen kanter Abrisskante
kann es dazu kommen, dass die physikalische
Verbindung zwischen zwei zu unterschied-
lichen Zeitpunkten entstandenen Schnee- 1.1.2. Lockerschneelawinen
1
siehe Munter (1997)
2 Wesentlich häufiger sind so genannte Locker-
siehe SLF (2006)
3
von lat. labina – das Gleiten schneelawinen. Diese beginnen im Gegensatz

7
1. Einleitung

zu Schneebrettlawinen immer punktförmig.


Sie treten vor allem auf, wenn innerhalb von
kurzer Zeit eine große Menge an Neuschnee
auf die gesetzte Schneedecke gefallen ist.
Lockerschneelawinen werden meistens spon-
tan ausgelöst, das heißt ohne Einwirkung
eines Wintersportlers. Von dem Ausgangs-
punkt breitet sich die Lawine kegelförmig
Abbildung 1.3.: Staublawine
nach dem Schneeballprinzip aus (Abb. 1.2).
Sie sind meist kürzer, da weniger zusam-
menhängende Schneemasse abrutscht. Da- 1.2. Verschüttungen
mit sind derartige Lockerschneelawinen als
Verschüttungen treten in den allermeisten
eher ungefährlich zu betrachten.
Fällen bei Schneebrettlawinen auf. Circa
zwei Drittel der mitgerissenen Personen wer-
den nicht oder nur teilweise verschüttet4 ,
was eine schnelle Rettung ermöglicht.
Somit liegt während eines Lawinenab-
gangs die höchste Priorität darin, eine Kom-
plettverschüttung zu vermeiden. Da bewe-
gende Schneemassen sich physikalisch sehr
ähnlich zu einer Flüssigkeit verhalten, kann
Abbildung 1.2.: Mehrere punktförmig be- man sich am besten durch Schwimmbewe-
ginnende Lockerschneelawi- gungen an der Oberfläche halten. Da Schier
nen und Stöcke dabei eher hinderlich sind, exis-
tieren Überlegungen, diese im Fall eines La-
winenabgangs wegzusprengen. An der Tech-
nischen Universität München wird dazu das
System Pyro-Power-Safe 5 entwickelt.
1.1.3. Staublawinen
Komplett Verschüttete hingegen sind nur
in knapp einem Zehntel der Fälle in der
In sehr exponierten Lagen kann sich aus ei-
Lage, sich selbst zu retten6 . Das ist ne-
ner Lockerschnee- eine Staublawine (Abb.
ben den schweren Schneemassen auch auf
1.3) entwickeln, die Geschwindigkeiten von
km Bewusstlosigkeit und Orientierungslosigkeit
bis zu 300 h erreichen kann und eine
der Opfer zurückzuführen. Die hauptsäch-
Druckwelle vor sich her schiebt. Dabei wer-
lich auftretenden Todesursachen von Ver-
den extrem kleine (<1 mm) Schneepartikel
schütteten sind (nach Häufigkeit sortiert):
vor der Lawine durch den Druck aufgewir-
Ersticken, Erliegen an durch den Abgang be-
belt, wodurch die charakteristische Staub-
dingten Verletzungen (Knochenbrüche, offe-
wolke entsteht. Die Gefahr für den Sport-
ne Schürfwunden), Unterkühlung.
ler besteht darin, dass unter dem enor-
Die Überlebenschancen einer verschüt-
men Überdruck die Lungen platzen können.
4
siehe SLF (2007)
Staublawinen sind die zugleich seltenste und 5
siehe Senner (2009)
6
gefährlichste Lawinenart. siehe SLF (2007)

8
1. Einleitung

teten Person sinken mit der Dauer der dar, bei welcher es sich lediglich um eine far-
Verschüttung dramatisch. Bereits nach ei- bige, circa 30 Meter lange Schnur handelt.
ner halben Stunde ist die Überlebenswahr- Diese bindet sich der Wintersportler um in
scheinlichkeit auf 40 % gesunken (Abb. 1.4). der Hoffnung, dass im Falle einer Verschüt-
tung ein Teil der Schnur zu sehen ist und
die Begleiter diese bis zum Verschüttungs-
ort zurückverfolgen können. Eine Weiterent-
wicklung dieser sich als nicht allzu praxi-
stauglich erwiesenen Rettungstechnik ist der
so genannte Lawinenball. Dieser wird im zu-
sammengefalteten Zustand am Rucksack be-
festigt und kann im Falle einer Lawine über
eine Reißleine mechanisch entfaltet werden,
wodurch der Ball sich an der Oberfläche hal-
Abbildung 1.4.: Sinken der Überlebens-
ten soll, um anhand der Verbindungsschnur
wahrscheinlichkeit
zum Rucksack des Opfers die optische Lo-
kalisierung möglich zu machen. Er ist nicht
mit dem so genannten ABS-System8 zu ver-
1.3. Bergung wechseln, welches eher in die Kategorie der
Verschüttungsprävention fällt.
Zeit ist damit die kritische Komponente für
Seit mehreren Jahren durchgesetzt hat
die Bergung eines Lawinenverschütteten. In
sich die Kombination aus LVS und Sonde.
dem wahrscheinlichen Fall, dass das Opfer
Ersteres wird im nächsten Kapitel dieser Ar-
nicht in der Lage ist, sich selbst zu retten,
beit ausführlich beschrieben. Die Sonde ist
ist es darauf angewiesen, durch die Begleiter
ein dünner, sehr leichter, zusammenklappba-
schnellstmöglich lokalisiert und geborgen zu
rer mindestens zwei Meter langer Stab und
werden. Die Bergung selbst stellt meist die
wird eingesetzt, um im Schnee den Verschüt-
kleinere Problematik dar, da der Verschütte-
teten schnell zu ertasten, was jedoch viel
te im Schnitt nur 70 cm unter der Oberfläche
Übung erfordert.
liegt7 .
Damit ist das Hauptproblem bei der Ret-
tung in der Lokalisierung des Verschütteten
zu sehen. Sichtbare Teile des Verschütteten
sind ein Garant für eine schnelle Bergung,
treten aber nur in der Minderzahl der Fäl-
le auf. Im Laufe der Zeit sind verschiedens-
te Hilfsmittel aufgekommen, welche allesamt
eine schnelle Lokalisierung versprechen und
dies mehr oder weniger einhalten. Das pri- Abbildung 1.5.: Die Grundausrüstung
mitivste hier zu nennende Hilfsmittel stellt
wohl die vor allem in den Anfangstagen des 8
Ebenfalls durch eine Reißleine aktiviert werden
Schibergsteigens eingesetzte Lawinenschnur zwei große Luftpolster am Rucksack mit Gas ge-
füllt, wodurch der Rucksack samt Träger an der
7
siehe SLF (2007) Oberfläche bleiben soll

9
2. Lawinenverschüttetensuchgeräte

2. Lawinenverschüttetensuchgeräte

Lawinenverschüttetensuchgeräte haben eher unpraktikabel angesehen werden kann.


sich binnen weniger Jahre nach ihrer Im Folgenden soll eine kurze qualitative und
Markteinführung 1968 zum Standard in der quantitive Beschreibung des gesendeten Si-
Rettungstechnik für Lawinenverschüttun- gnals erfolgen.
gen entwickelt. Sie zeichnen sich durch ihre
große Zuverlässigkeit aus und gehören zur 2.1.1. Nahfeld
Minimalausrüstung abseits der gesicherten
Schipisten. Das ausgesandte elektromagnetische Feld
In einer Gruppe von Wintersportlern wird grob in Nah- und Fernfeld unter-
trägt jeder ein aktiviertes LVS-Gerät im Sen- teilt. Die charakteristische Ausbreitung in
demodus möglichst nah am Körper. Die- phasengleichen, sich einander bedingenden,
ses sendet ständig elektromagnetische Wel- wechselnden elektrischen und magnetischen
len der Frequenz 457 kHz1 aus. Im Ernstfall Feldern ist erst im Fernfeld erreicht. Im Nah-
des Lawinenabgangs schalten dann die nicht feld ist die Strahlung noch nicht entkoppelt,
Verschütteten ihre LVS-Geräte in den Such- das heißt sie oszilliert größtenteils zwischen
modus und versuchen, den Sender zu lokali- Antenne und Nahfeldgrenze, weswegen es
sieren. Der Vorgang der Suche an sich ist weniger linear in der Strahlungsleistung ist,
mit Radio Direction Finding vergleichbar, da beispielsweise Energie nicht nur emit-
gestaltet sich aber durch die großen Nicht- tiert wird, sondern teilweise aus der Umge-
linearitäten des Feldes als ungleich schwieri- bung auch wieder aufgenommen wird. Zu-
ger. Im Folgenden soll erst das ausgesandte dem ist das Verhältnis zwischen H- und E-
Signal analysiert werden, um dann näher auf Komponente des Feldes, anders als im Fern-
die Verarbeitung des Signals im LVS-Gerät feld, nicht konstant.
des Suchenden einzugehen und verschiedene Die ungefähre Grenze ergibt sich aus fol-
Suchtechniken zu beschreiben. genden Gleichungen nach Schelkunoff2 :

β3
 
1 i 1
H=− Ih − − sin θe−iβd
2.1. Signalanalyse 4π βd (βd)2 (βd)3
(2.1)
Die vorliegende Frequenz von 457 kHz ent-
 
1 i
E = 30β 3 Ih − sin θe−iβd (2.2)
spricht einer Wellenlänge von ca. 650 m. βd (βd)2

Bei der die Strahlung aussendenden Antenne Dabei ist β = 2π


λ , d der Abstand zum Sen-
kommt ein Schwingkreis mit Ferritantenne der, I der Stromfluss durch die Antenne, h

und Resonanzkondensator zum Einsatz, da die Höhe der Antenne und i = −1.
λ
eine Stabantenne der Länge ≈ 325 m als Es zeigt sich, dass 1 1 1
2 βd , (βd)2 und (βd)3
für
1 λ
1
457 kHz haben sich erst im Laufe der Zeit als Stan- d= β = 2π gleich sind. Diese Distanz gilt
dard durchgesetzt, davor waren unter anderem
2
auch 2275 kHz üblich siehe Detlefsen u. Siart (2006)

10
2. Lawinenverschüttetensuchgeräte

1 5
als die Grenze zwischen Nah- und Fernfeld. hingegen nur mit d2
.
Das zu untersuchende Gebiet liegt demnach
komplett im Nahfeld. Aus den Gleichungen 2.1.3. Feldgeometrie
2.1 und 2.2 folgt ebenso, dass die magneti-
sche Komponente im Nahfeld wesentlich be- Das zu untersuchende Feld kann von der
deutender ist als die elektrische (Abb 2.1). Geometrie her mit dem eines magnetischen
Dipols verglichen werden (Abb. 2.2(a)) und
ist mathematisch nur äußerst komplex zu be-
schreiben6 :

1
H= q 5 Am (2.3)
4π d2x + d2y + d2z

wobei
 
2d2x − d2y − d2z 3dx dy 3dx dz
A= 3dx dy 2d2y − d2x − d2z 3dy dz
 

Abbildung 2.1.: Elektrische und magneti- 3dx dz 3dy dz 2 2 2
2dz − dx − dy
sche Komponente im Nah- (2.4)

und Fernfeld Dabei beschreibt m das magnetische Mo-


ment, dx den Abstand in X-Richtung vom
Sender, dy den Abstand in Y-Richtung und
2.1.2. Frequenz dz den Abstand in Z-Richtung.
Die Richtung des magnetischen Feldstär-
Der magnetische Anteil der elektromagne-
kevektors ist, anders als im Fernfeld, nicht
tischen Strahlung wird von der Umgebung
nur von θ, sondern auch von r abhängig, wo-
und Ausrüstung, wie Schaufeln oder Schiern
durch eine direkte Ortsbestimmung des Ver-
um das Achtzigfache weniger beeinflusst als
schütteten nicht, beziehungsweise nur unter
der elektrische Anteil3 . Damit ist eine Fre-
einer gewissen Wahrscheinlichkeit möglich
quenz, bei der der gesamte Suchradius im
ist. Des Weiteren breitet sich die Strahlung,
magnetisch dominierten Nahfeld liegt, Vor-
anders als im Fernfeld, nicht in alle Richtun-
aussetzung für einigermaßen störungsfreien
gen gleichförmig aus, sondern es entstehen
Empfang. Bei einer zu langen Wellenlän-
zwei tote Winkel in Verlängerung der Spu-
ge wären die Antennen in der handlichen
lenachse (Abb. 2.2(b))
Größe kaum noch realisierbar. Die zwischen
Mittel- und Langwelle angesiedelten 457 kHz
sind ein Kompromiss zwischen den beiden 2.1.4. Pulsierendes Signal
Voraussetzungen, inzwischen standardisiert Um Energie zu sparen, senden LVS-Geräte
(ETS 300718) und für LVS-Geräte reser- nicht kontinuierlich, sondern nur jeweils ca.
viert. Ein Nachteil der niedrigen Frequenz 1
bis 3
s mit 7
s Pause zwischenbis 9
10 10 10 10
ist, dass die Strahlungsleistung im Nahfeld jedem Signalpuls (ETS 300718). Dies hat au-
mit nahezu4 d13 rapide abfällt, im Fernfeld ßerdem den Vorteil, dass mehrere Signale
3
siehe Hereford u. Edgerly (2000) empfangen und analysiert werden können.
4
Die Signalstärke ist das Kreuzprodukt aus E-
1
und H-Anteil der elektromagnetischen Welle. Im d3
lediglich eine Annäherung ist.
5
Nahfeld ist dieses nicht konstant, da E und H siehe Detlefsen u. Siart (2006)
6
noch nicht phasengleich sind, weshalb der Wert siehe Piniés u. Tardós (2006)

11
2. Lawinenverschüttetensuchgeräte

Wobei Uind die induzierte Spannung, Ni die


Windungszahl, Φ den magnetischen Fluss,
B die magnetische Flussdichte, A die Quer-
schnittsfläche der Ferritspule und α den
Winkel zwischen Spulenachse und magneti-
scher Feldlinie beschreibt. Da im vorliegen-
(a) Feldlinien (b)
Signal- den Fall A als konstant angesehen werden
stärke
kann und sich α unbedeutend wenig ändert,
Abbildung 2.2.: Feldgeometrie reduzieren sich obige Gleichungen zu:

Uind = −Ni ḂA cos α (2.7)


Mehrere überlappende Impulse können er-
kannt und als Mehrfachverschüttung inter- Das B-Feld ändert sich sinusartig, wes-
pretiert werden (Abb. 2.3). halb die induzierte Spannung sich eben-
falls sinusartig, nur phasenverschoben, ver-
hält. Die im Empfänger induzierte Spannung
stellt in Amplitude und Frequenz ein Abbild
des elektromagnetischen Feldes dar. Zusätz-
Signalamplitude

lich dazu enthält die Amplitude aufgrund


der Richtcharakteristik der Empfangsanten-
ne eine Aussage über die Richtung der ma-
gnetischen Feldlinien, was für die Signalver-
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 2,8 3

Zeit in s
arbeitung interessant ist.
Da im Nahfeld das Magnetfeld über-
Abbildung 2.3.: Drei pulsierende Signale wiegt, heißt diese Form von Signalübertra-
gung induktive Koppelung. Interessanterwei-
se kommt ein ganz ähnliches Verfahren lose
2.2. Empfang des Signals gekoppelter Schwingkreise beispielsweise bei
RFID-Technik8 zum Einsatz.
Der Empfänger ist dafür zuständig, die In-
formationen des elektromagnetischen Feldes
2.3. Verarbeitung des Signals
in messbare Spannungen umzuwandeln. Da-
zu ist er dem Sender ähnlich aufgebaut. Als Während die Empfangstechnik sich seit
Antenne dient die Ferritspule des Resonanz- Markteinführung der LVS-Geräte im Prin-
schwingkreises. Der sich ändernde magneti- zip nicht geändert hat, hat es im Bereich
sche Fluss im vom Sender ausgesandten elek- der Signalverarbeitung und Suchtechniken
tromagnetischen Feld induziert nach Fara- eine fortwährende Weiterentwicklung gege-
day eine Spannung im auf Resonanz abge- ben. Neben dem Umstieg von Analog- auf
stimmten Empfangsschwingkreis7 : Digitaltechnik ist die hauptsächliche Weiter-
entwicklung in der zunehmenden Anzahl an
Uind = −Ni Φ̇ (2.5)
Antennen zu sehen. Da sich die Verarbei-
Φ = BA = BA cos α (2.6) tungsart substanziell unterscheidet, werden
7 8
siehe Gerthesen (2006) Radio Frequency Identification

12
2. Lawinenverschüttetensuchgeräte

im Folgenden ein- und mehrantennige LVS-


Geräte unterschieden.

2.3.1. Einantennige LVS-Geräte

Die ersten LVS-Geräte hatten nur einen


Empfangsschwingkreis. Die Ferritspule ist in
der Achse des Gerätes angeordnet, das heißt (a) Kreuz-Suche (b) Tangenten-
Suche
der Empfang ist maximal, wenn das Gerät
in Richtung einer Feldlinie zeigt. Die De- Abbildung 2.4.: Suchtechniken für einanten-
modulation des Signals9 erfolgt analog, wo- nige LVS-Geräte
durch ein Rechtecks-Gleichstrom-Signal ent-
steht. Die Amplitude des demodulierten Si- aber etwas intelligentere Suchmethode ist
gnals regelt die Lautstärke eines angeschlos- die so genannte Tangenten-Suche. Diese
senen Lautsprechers. Zusätzlich kann über schlägt Nutzen aus der Richtcharakteristik
einen Drehkondensator die Empfindlichkeit der Ferritspule. Im Anfangspunkt dreht man
verändert werden. sich langsam, um die Richtung der höchs-
ten Intensität festzustellen. Dieser Richtung
2.3.1.1. Suchtechnik folgt man wenige Meter, bevor eine erneu-
In der Suchtechnik10 ist man bei einanten- te Umorientierung stattfindet (Abb. 2.4(b)).
nigen, analogen Geräten sehr begrenzt, da Das heißt, man bewegt sich im Prinzip auf
keine anderen Daten über das Signal zu Ver- Tangenten zu einer Feldlinie. In unmittelba-
fügung stehen als die Intensität in Richtung rer Nähe des Verschütteten ist diese Technik
der Geräte- bzw. Spulenachse. aufgrund der starken Krümmung der Feld-
linien nur schwer anzuwenden, weshalb hier
erneut die Kreuzsuche zum Einsatz kommt.
Kreuz-Suche Die Kreuzsuche ist die denk-
bar einfachste Möglichkeit der Suche. Ausge-
hend von einem Punkt geht man zufällig in 2.3.1.2. Problematik
irgendeine Richtung. Nimmt die Lautstärke Einantennige LVS-Geräte sind insofern pro-
zu, geht man weiter, nimmt die Lautstärke blematisch, als dass die Suche nach einem
ab, dreht man um und versucht vom Aus- Verschütteten zum einen sehr viel Zeit in
gangspunkt eine um 90◦ versetzte Richtung Anspruch nehmen kann und zum anderen
(Abb. 2.4(a)). Hat die Lautstärke erst zuge- gut geschulte Suchende vonnöten sind.
nommen und nimmt dann wieder ab, geht
man zu dem Punkt der höchsten Lautstär- 2.3.2. Mehrantennige LVS-Geräte
ke zurück und nimmt diesen als neuen Aus-
gangspunkt. Im Zuge der Umstellung von rein analoger
auf digitale Technik kamen bei den LVS-
Geräten auch zusätzliche Antennen dazu,
Tangenten-Suche Eine auf den selben
welche den Vorteil bringen, dass man eine
technischen Voraussetzungen beruhende,
Aussage über die Richtung der induzieren-
9
Die vorliegende, einfachste Form von Modulation
den Feldlinie treffen kann, um dem Suchen-
wird A1A genannt
10
siehe Calia (2002) den entlang dieser zum Verschütteten zu

13
2. Lawinenverschüttetensuchgeräte

2.3.2.1. Empfangstechnik

Analoge Demodulation Einfache mehr-


antennige LVS-Geräte setzen ähnlich den
einantennigen LVS-Geräten auf analoge
Demodulation. Das daraus resultierende
gleichstromartige Rechteckssignal der bei-
den Empfangsschaltkreise wird in einem
Analog-Digital-Wandler in Zahlenwerte um-
gewandelt und an einen Mikrocontroller wei-
Abbildung 2.5.: Anordnung der Antennen tergegeben. Dieser ermittelt die Signalampli-
tuden der Antennen.
führen. Die Antennen sind orthogonal zuein- Dies führt allerdings zu einem Problem:
ander angeordnet (Abb. 2.5). Da die Anten- Jede der Antennen hat eine Zweideutigkeit,
nen eine kosinusartige Richtcharakteristik oder anders gesagt, die Amplitude des Si-
besitzen, können die Amplituden der jewei- gnals gibt keine Auskunft über die Phase
ligen Antennen als vektorielles Abbild des des selbigen. Bei zwei Antennen führt das zu
Feldstärkevektors in Antennenrichtung an- 22 = 4 möglichen Richtungen für den Feld-
gesehen werden (Abb. 2.6). Durch den Satz stärkevektor, bei drei Antennen zu 23 = 8
Möglichkeiten. Diese Mehrdeutigkeit stellt
für die Suche ein Problem dar, da nur zwei
der errechneten Richtungen wirklich zum
Opfer führen12 .
Das Problem lässt sich aber software-
technisch recht leicht lösen: Sobald der
Suchende sich in eine vorgegebene Rich-
tung dreht, kann die wahre Richtung
des Feldstärke-Vektors durch Vergleich der
Abbildung 2.6.: In Komponenten zerlegter Messwerte bestimmt werden.
Feldstärkevektor
Digitale Demodulation Modernere digi-
des Pythagoras kann so die skalare Größe
tale LVS-Geräte setzen auf eine digita-
der magnetischen Feldstärke errechnet wer-
le Demodulation. Dabei werden die Si-
den11 : q gnale der drei Antennen analog verstärkt
H = Hx2 + Hy2 + Hz2 (2.8)
und frequenzunverändert in einem Analog-
Durch trigonometrische Funktionen ist es Digital-Wandler 13 in Zahlenwerte umgewan-
nun möglich, den Winkel zwischen jeder An- delt. Die Abtastrate des ADWs sollte nach
tennenachse und dem Feldstärkevektor zu dem Nyquist-Shannon-Abtasttheorem min-
errechnen: destens das Doppelte der abzutastenden Fre-

Hi quenz betragen, was im konkreten Beispiel


αi = arccos mit i = x, y, z (2.9) einer Abtastrate f ≥ 2∗457 kHz = 914 kHz
H
11 12
Dies setzt drei Antennen voraus. Im Falle von zwei Die Feldlinien führen in beide Richtungen zum
Antennen wird das Abbild des Vektors in die XY- Ziel
13
Ebene berechnet kurz ADW

14
2. Lawinenverschüttetensuchgeräte

entspricht14 . Aus den Zahlenwerten werden ren Flexibilität auf jeden Fall durchsetzen.
dann in einem Digitalen Signal-Prozessor 15
die Signalparameter, wie Frequenz, Ampli- 2.3.2.2. Suchtechniken
tude und Phase kontinuierlich erraten. Da-
Feldliniensuche Durch die Bestimmung
zu kommt meistens die so genannte Maxi-
der Richtung des Feldstärke-Vektors ist es
mum Likehood-Methode zum Einsatz16 , wel-
möglich, den Suchenden über Richtungsan-
che stichprobenartig Messwerte analysiert
gaben entlang einer Feldlinie zum Verschüt-
und die Signalparameter so anpasst, dass die
teten zu führen (Abb. 2.7(a)). Dies funktio-
vorhandenen Messwerte am wahrscheinlichs-
niert in unmittelbarer Nähe des Opfers nicht
ten sind. Dadurch wird es zum einen mög-
so gut wie in einiger Entfernung. Die Feldli-
lich, die Phasenbeziehung zwischen den ein-
niensuche ist zuverlässig, aber nicht optimal,
zelnen Signalen zu bestimmen, was falsche
da man nicht den direkten Weg geht.
Richtungsangaben ausschließt17 und zum
anderen können digitale Filter eingesetzt
werden, welche die Signalerkennung signifi-
kant verbessern und dadurch die Reichweite
der LVS-Geräte erhöht18 .
Ebenfalls zum Einsatz kommt eine ge-
mischte Signalerfassungsmethode, welche
das Signal erst analog verarbeitet und dann (a) Feldliniensu- (b) Punktlokalisierung
che
an den ADW weitergibt. Dabei wird das
Eingangssignal der Frequenz f in einem ana- Abbildung 2.7.: Suchtechniken für mehran-
logen Mischer mit einem von einem lokalen tennige LVS-Geräte
Oszillator hergestellten Signal der Frequenz
fLO , welche sich um wenige kHz von f un-
terscheidet, gemischt, wodurch die Frequen- Punktlokalisierung Die neuesten Entwick-
zen |f + fLO | und |f − fLO | entstehen. Die lungen sind Ansätze zu einer möglichen
hohe Frequenz wird über einen Tiefpassfil- Puntktlokalisierung. Nach jüngsten For-
ter herausgefiltert und die niedrige im ADW schungsergebnissen kann die Lawinensuche
19
umgewandelt, was den Vorteil hat, dass man als SLAM -Problem gesehen werden. Das
eine niedrigere Abtastrate braucht. bedeutet, dass der Mikrocontroller mit der
Ein Nachteil der digitalen Technik ist ne- Zeit versucht, ein ständig aktualisiertes Bild
ben den teuren ADWs mit einer derart ho- seiner Umgebung aufzubauen und gleichzei-
hen Abtastrate auch der hohe Rechenauf- tig die punktgenaue Lokalisierung des Ver-
wand für die Abschätzung der Signalpara- schütteten mit jedem neuen Messwert ge-
meter. Auf lange Sicht wird sich die rein di- nauer wird. Dabei ist Voraussetzung, dass
gitale Technik vor allem wegen ihrer größe- die Position des Suchenden und die Aus-
richtung der Antennen zu jedem Messpunkt
14
siehe Salós u. a. (2007) bekannt ist. Da GPS zu ungenau ist, könn-
15
kurz DSP
16
siehe Kay (1993)
te dies beispielsweise durch Trägheitsnaviga-
17
Von den vier bzw. acht möglichen Vektoren blei- tion gelingen, was den Rechenaufwand na-
ben zwei übrig, welche entgegengesetzt kollinear
19
zueinander sind simultaneous localization and mapping – ein recht
18
siehe Salós u. a. (2007) junges Forschungsgebiet der Robotik

15
2. Lawinenverschüttetensuchgeräte

türlich wiederum um ein Vielfaches erhö-


hen würde. Mehrere Punkte und die dort er-
fassten Feldstärkevektoren erlauben dann ei-
ne Abschätzung des gesamten Magnetfeldes
und dadurch auch der Position des Verschüt-
teten. Eine testweise Implementierung eines
solchen Verfahrens stellt die robotergesteu-
erte Lawinensuche dar, die sich der Gaußss-
chen Summe bedient, um die Lokalisierung
fortlaufend zu präzisieren20 . Nach wenigen
Messungen ist die Lokalisierung mit aus-
reichend hoher Wahrscheinlichkeit durchge-
Abbildung 2.8.: Betrag des Feldstärkevek-
führt und der Suchpfad führt direkt zum Op-
tors um den Verschütteten
fer (Abb. 2.7(b)) bei zwei- und dreiantenni-
Inwiefern der Vorteil einer nur etwas kür- gen LVS-Geräten
zeren Suchzeit den hohen Aufwand un-
ter Inkaufnahme einer geringeren Ausfall- angeboten. Dabei wurde aus den Messwer-
sicherheit rechtfertigt, bleibt abzusehen bis ten der echten Antennen und einer Schät-
die ersten Implementierungen der Technik zung für den Gesamtbetrag des magneti-
Marktreife erlangen. schen Feldstärkevektors der wahrscheinli-
che Betrag der dritten Antenne ermittelt.
2.3.2.3. Problematik bei zweiantennigen Dies hat sich aber eher nicht bewährt, wes-
Geräten halb des Stand der Technik dreiantennige
LVS-Geräte mit DSP und sehr schnellem
Heutzutage haben fast alle21 erhältlichen
ADW sind. Auf mögliche Weiterentwicklun-
Geräte drei Antennen. Dies hat den Haupt-
gen wird noch in 4 eingegangen.
vorteil, dass der gesamte räumliche Feldstär-
kevektor aufgezeichnet wird.
In der Praxis kann es bei zweiantenni-
gen LVS-Geräten dazu kommen, dass einer-
seits falsche Intensitätsmaxima und anderer-
seits anstelle des wahren Maximums ein Mi-
nimum im Nahbereich um den Verschütte-
ten auftauchen, da der Anteil des Vektors
in Z-Richtung nicht gemessen wird. Dies ist
hauptsächlich bei Tiefverschüttungen und
schräg liegenden Sendern ein Problem(Abb.
2.8).
Zeitweise wurden auch LVS-Geräte mit
zwei echten und einer virtuellen Antenne
20
siehe Piniés u. Tardós (2006)
21
Eine Ausnahme stellt der Pieps Freeride von
Pieps DSP dar, welcher dank veralteter Technik
zum günstigen Preis angeboten wird

16
3. Eigenbau

3. Eigenbau

Der praktische Teil dieser Arbeit besteht nen Antennen nicht verloren geht und da-
im Eigenbau eines möglichst fortschrittli- mit falsche Richtungsangaben ausgeschlos-
chen Lawinensuchgeräts. Im Folgenden sol- sen werden können. Allerdings erfordert die-
len erst kurz die Vorüberlegungen zum Bau se aber einen leistungsstarken und auch teu-
dargelegt werden, um dann auf die Hard- ren DSP 1 und ADW.
und Software-Entwicklung einzugehen. An- Daher wird hier der Ansatz der analogen
schließend werden die Ergebnisse der Feld- Demodulation (vgl. 2.3.2.1) verwendet und
versuche mit der selbst gebauten Hardware in 3.3.2.6 ein Vorschlag zur Minimierung der
vorgestellt. dadurch entstehenden Nachteile gemacht.

3.1. Vorüberlegungen zum 3.2. Hardware


Bau Die Hardware-Entwicklung kann grob in
Hauptaugenmerk beim Gerätebau sollte mehrere Abschnitte gegliedert werden: Den
auf der Signalanalyse, -verarbeitung und - ersten wichtigen Punkt stellt der Empfang
auswertung liegen. Daher wurde auf die Im- des Signals mit anschließender Verarbei-
plementierung eines Sendemodus verzich- tung und Analyse dar. Ebenfalls soll auf
tet. Ebenfalls nicht im Vordergrund stan- die Hardware zur Interaktion mit dem Be-
den praktische Erwägungen wie Maximie- nutzer und die Implementierung eines zu-
rung der Batterielaufzeit, Wasserdichtigkeit, sätzlichen Magnetometers, welches für die
kompakte Größe, Widerstandsfähigkeit und Suchalgorithmus-Entwicklung in 3.3.2.6 re-
geringes Gewicht. Kurzgesagt handelt es sich levent ist, eingegangen werden. Ein Schalt-
um eine Machbarkeitsstudie des Eigenbaus plan des gesamten Aufbaus ist in Anhang A
eines derartigen Geräts. zu sehen.

3.1.1. Technische Erwägungen 3.2.1. Empfang des Signals


3.2.1.1. Empfangsschwingkreis
Da der interessante Aspekt der software-
geleiteten Suchpfade nur bei LVS-Geräten Für den Empfang des Signals wird ein
mit mehreren Antennen eine Rolle spielt und Schwingkreis mit einer Resonanzfrequenz
diese als Stand der Technik angesehen wer- von 457 kHz verwendet. Für die exakte Re-
den können, wurde entschieden, ein dreian- sonanzabstimmung wird ein Drehkondensa-
tenniges Gerät mit digitaler Auswertung in tor (Abb. 3.1(a)) der variablen Kapazität
einem Mikrocontroller zu bauen. 30-265 pF eingesetzt. Durch die vorgege-
Wie in 2.3.2.1 dargelegt ist die digitale bene Resonanzfrequenz ergibt sich aus der
Modulation wünschenswert, da die Phasen- 1
Starterkits mit Entwicklungsumgebung sind im
beziehung zwischen den Signalen der einzel- Bereich um 1.000 e angesiedelt

17
3. Eigenbau

Thomson-Gleichung 2 angeschlossen, wodurch das Signal eines sich


im Sendemodus befindliches LVS-Gerät vi-
1
f0 = √ (3.1) sualisiert werden kann (Abb. 3.2). Der Dreh-
2π LC
kondensator wird so eingestellt, dass die
für die Induktivität der Spule ein Wert zwi- Signalamplitude ein Maximum erreicht. Es
schen 0, 46 und 4, 04 mH. Solch große In- zeigt sich, dass dieser Wert ungefähr 20 mV
duktivitäten sind in Luftspulen nur schwer beträgt. Dieser Vorgang wird für alle drei
zu realisieren. Daher wird ein Ferritkern in Empfangsschwingkreise durchgeführt.
der Spule verwendet. Messungen3 haben er-
geben, dass die Induktivität einer Luftspule
sich durch das Einfügen eines Ferritkerns um
das 28fache vergrößert. Nach der Gleichung4

N2
L = µ0 A (3.2)
l

ergibt sich damit für die Anzahl an Windun-


gen ein Wert zwischen 57 und 200. Um ei-
ne gewisse Materialtoleranz einzubeziehen,
werden um den Kern 100 Windungen hoch- Abbildung 3.2.: Visualisierung des HF-
Signals am Oszilloskop
wertiger HF-Litze gewickelt (Abb. 3.1(b)),
was einer Induktivität von 1, 4 mH ent-
spricht.
3.2.2. Verarbeitung des Signals

Der nächste Schritt ist die analoge Verstär-


kung und Demodulation des vorhandenen
Hochfrequenz-Signals. Es hat sich gezeigt5 ,
dass sich der integrierte Schaltkreis SA605D,
der eigentlich als FM-Mixer konzipiert ist,
gut als gleichzeitiger Signalverstärker und
Demodulator eignet, da er rauscharm und
(a) Drehkondensator (b) Fer- energiesparend arbeitet6 .
ritspule
Der Aufbau des SA605D beinhaltet
Abbildung 3.1.: Elemente des Resonanz- zwei externe Bandpass-Keramikfilter
schwingkreises SFULA455 mit einer Kennfrequenz 455 kHz
und einer Bandbreite von 4 kHz, welche
eine weitere Rauschminimierung bewirken
3.2.1.2. Resonanzfindung sollen. Dem SA605D vorgeschaltet ist
ein an den Schwingkreis angeschlossener
Um den Drehkondensator auf den für Reso-
Vorverstärkungsschaltkreis mit einem
nanz erforderlichen Wert einzustellen, wird
BF245 -Transistor, welcher auch für die
der Schwingkreis parallel an ein Oszilloskop
Impedanzanpassung des Schwingkreises an
2
siehe Hammer u. a. (2007)
3 5
siehe Elexs (2008) siehe Calia (2002)
4 6
siehe Hammer u. a. (2007) siehe NXP (1997)

18
3. Eigenbau

die Eingangsimpedanz des ersten Filters


und damit die Vermeidung von energeti-
schen Verlusten zuständig ist. Der SA605D
hat einen RSSI 7 -Ausgang, welcher in
logarithmischer Proportionalität zur Signal-
amplitude Gleichspannung zwischen 0 und
5 V liefert8 .
100 Ω

100 nF

100p
SFULA455

100 Ω
BF245

2,7 kΩ
Filter
1,5 kΩ
Abbildung 3.4.: Empfangsschaltkreis für ei-
1,4 mH

1 MΩ

1 kΩ

30 – 265 pF ne Antenne
5V

SFULA455

Filter
Nach den in 3.1.1 beschriebenen Erwä-
100 nF RSSI
100 nF

5,1 kΩ
100 nF 100 nF
gungen wurde entschieden, anstelle eines
für schnelle Rechenoptionen optimierten
DSPs einen gewöhnlichen Mikrocontroller
einzusetzen. Bei der Suche nach einem
passenden Mikrocontroller wurde vor allem
10 nF 10 nF 10 nF 10 nF 10 nF
100 nF 10 nF auf folgende Kriterien geachtet: Einfaches
100 kΩ

6,8 µF
Programmierinterface, moderne Program-
100 nF
miersprache, niedrige Kosten, genügend
100 nF Ein- und Ausgänge, möglichst schon vor-
handener ADW und schon vorhandener
Anschluss zum Batteriebetrieb.
Abbildung 3.3.: Empfangsschaltplan für ei-
ne Antenne

Der Schaltplan (Abb. 3.3) zeigt den


Signalempfang im Resonanzschwingkreis
(oben links) und die analoge Signalverar-
beitung mit Verstärkung und Demodulati-
on für eine Antenne. Diese wurden auf je
einem Steckbrett montiert (Abb. 3.4) und Abbildung 3.5.: Arduino Duemillanove
haben jeweils drei Anschlüsse: Einen 5 Volt-
Eingang, einen Erdungseingang und den be- Es hat sich herausgestellt, dass der Ar-
sagten RSSI -Ausgang. duino Duemillanove (Abb. 3.5), eines der
Controllerboards des gleichnamigen Open-
Source-Projekts, gut geeignet ist. Er wird
3.2.3. Analyse des Signals
mit einer eigenen, leicht erlernbaren und
Die Spannungen RSSI - C-ähnlichen Programmiersprache gesteuert, an den drei
Ausgängen sollen digital analysiert werden. hat 18 digitale Ausgänge zur Ansteuerung
7 von Peripherie und sechs analoge Eingänge
Received Signal Strength Indicator
8
siehe NXP (1997) mit angeschlossenem ADW. Die Program-

19
3. Eigenbau

mierung läuft über USB, die Stromzufuhr trägt (Abb. 3.6(b)).


wahlweise über USB oder Batterie. Der Preis
liegt bei unter 20 e. 3.2.5.2. Piezo-Lautsprecher

In Stresssituation wie einer Verschüttung


3.2.4. Magnetometer
sollten dem Suchenden so viele Hilfsmit-
Für den in 3.3.2.6 beschriebenen Suchal- tel wie möglich an die Hand gegeben wer-
gorithmus ist es vorteilhaft, die Referenz den. Daher wurde neben der visuellen Steue-
einer absoluten Richtungsangabe für jede rung ein Lautsprecher implementiert, dessen
Messung zu haben. Daher wird ein digita- Lautstärke proportional zur Signalamplitu-
ler Kompass, der nach dem Funktionsprin- de geregelt wird. Der auf der technischen
9
zip von zwei senkrecht aufeinander stehen- Grundlage des piezoelektrischen Effekts ba-
den Hall-Sonden zur Messung des Erdma- sierende Lautsprecher wird sehr einfach über
gnetfelds beruht, integriert. Es wurde der lediglich zwei Pins an den Controller ange-
HM55B gewählt. Abbildung 3.6(a) zeigt den schlossen (Abb. 3.6(c)).
Anschluss an den Mikrocontroller. Neben
den beiden Pins für die Stromversorgung 3.3. Software
gibt es drei digitale Ein-/Ausgänge, die für
Taktgebung, Datentransfer und Aktivierung Der zentrale Teil eines digitalen LVS-Geräts
zuständig sind. ist jedoch nicht in der Hardware, sondern
in der Software zu sehen. Die Entwicklung
der Software lässt sich in die Teilbereiche
5V
16 x 2 Signalanalyse, Signalverarbeitung und An-
LCD
5V
steuerung der Peripherie unterteilen.
(a) Kompass (b) LCD-Dis- (c) Lautspre-
play cher 3.3.1. Schematik der Software

Abbildung 3.6.: Anschluss der Peripherie an Die Struktur der Software soll darauf hin-
den Mikrocontroller zielen, den Prozess zwischen Signalempfang
und Ausgabe der vorgegebenen Bewegungs-
richtung für den Benutzer möglichst kurz
3.2.5. Benutzerinteraktion zu halten. Das Hauptproblem besteht dar-

3.2.5.1. LCD-Display in, dass viele Schritte möglichst gleichzeitig


geschehen müssen, da neben dem ständigen
Um dem Suchenden den Weg zum Ver- Auslesen der Signalamplituden aller drei An-
schütteten zu weisen und andere Informa- tennen auch noch die Werte des Kompasses
tionen darzustellen, wurde ein LCD-Display analysiert, das Display und die Lautsprecher
gewählt, da es vielseitig verwendbar ist. So angesprochen und der eigentliche Suchalgo-
können sowohl Text, als auch Zahlen sowie rithmus in festen Intervallen aufgerufen wer-
primitive Grafiken angezeigt werden. Der den müssen.
Anschluss erfolgt neben den beiden Pins für 9
Bestimmte Materialen verformen sich beim Anle-
die Energieversorgung lediglich über einen gen einer Spannung — Hier wird die Membran
durch Wechselstrom einer bestimmten Frequenz
weiteren Pin, der die darzustellenden Infor-
zu mechanischer Vibration dieser Frequenz an-
mationen über ein serielles Interface über- geregt, wodurch ein Ton entsteht

20
3. Eigenbau

Der Prozessor des Arduinos unterstützt liegt, wonach gegebenenfalls der Lautspre-
kein Multitasking 10 , weshalb, um etwas dem cher entsprechend der Signalamplitude ein-
Multitasking ähnliches zu simulieren, im geschaltet wird.
Zentrum des Programmablaufs eine sich im- Eine Visualisierung des beschriebenen
mer wiederholende Schleife steht, die bei Programmablaufs ist in Abbildung 3.7 zu se-
jedem Durchlauf prüft, ob seit der letz- hen.
ten Durchführung einer bestimmten Aufga- Kompass

be schon wieder das für den Aufgabenaufruf maxX,


minX
maxY,
minY
maxZ,
minZ
averageCompassAngle()

festgelegte Zeitintervall verstrichen ist und


θ,d
analyseSignal()
die Aufgaben in diesem Fall aufruft. Die-
searchDisplay()
se loop()-Funktion adressiert alle Funktio- readX() Int: 1000
ms
Display

nen und speichert nach jedem Aufruf des- readY() Int: 20 ms loop() Int: 50 ms

sen Zeitpunkt ab, um über das festgelegte


Int: 2 ms generateSound()
readZ()
Zeitintervall den Zeitpunkt für den nächsten
Lautsprecher

Aufruf festzulegen. Signalerfassung Signalverarbeitung

Die Funktionen readX(), readY() und


Abbildung 3.7.: Software Schematik
readZ() lesen im Intervall von 20 ms die Am-
plitude der drei Antennensignale aus und
speichern den minimalen und den maxima-
3.3.2. Technische Implementierung
len Wert jeder Antenne im Laufe von 1000
ms in die Variablen maxX und minX, be- Im Folgenden soll eine Erläuterung der
ziehungsweise maxY und minY und maxZ programmiertechnischen Realisierung der in
und minZ. Die Funktion analyseSignal() 3.3.1 beschriebenen Funktionalität erfolgen.
wird im Intervall von 1000 ms aufgerufen
und errechnet aus den gesammelten Ampli- 3.3.2.1. Schleifenfunktion
tudenwerten der Antennen und der aktuellen
Den Kern des Programms bildet die loop()-
Kompass-Ausrichtung den absoluten Winkel
Funktion. Die einzig zu erfüllende Funktio-
θ der Feldlinienrichtung und die Signalstär-
nalität besteht darin, den Zeitpunkt des letz-
ke und speichert diese Werte in Variablen. In
ten Aufrufs einer Funktion zu speichern und
einem Intervall von 50 ms wird die Funkti-
Funktionen aufzurufen, wenn seit dem letz-
on searchDisplay() aufgerufen, die neben der
ten Aufruf mehr Zeit als das voreingestellte
Berechnung der Entfernung zum Verschüt-
Intervall vergangen ist. Dazu werden für die
teten aus der Signalstärke auch für die Aus-
Aufgaben zuerst in der Präambel die benö-
gabe der Richtung der Feldlinie relativ zur
tigten Variablen initialisiert und die Inter-
Geräteachse zuständig ist11 , was durch ei-
valle in Millisekunden12 festgelegt:
ne Verrechnung von dem in θ gespeicherten
i n t r e a d I n t = 20
Winkel und der aktuellen Kompassausrich- long l a s t R e a d i n g ;
tung geschieht. Zuletzt wird im Abstand von int a n a l y s i s I n t = 1000;
long l a s t A n a l y s i s ;
3 ms geprüft, ob gerade ein Signalpuls vor-
int soundInt = 3000;
long l a s t S o u n d ;
10
Fähigkeit mehrere Prozesse gleichzeitig auszufüh- int d i s p l a y I n t = 5 0 ;
ren long l a s t D i s p l a y ;
11
Dies wird durch einen Pfeil dargestellt, in dessen
12
Richtung sich der Suchende drehen soll µs bei soundInt

21
3. Eigenbau

Die loop()-Funktion selbst ist sehr simpel int minX ;


int maxX ;
aufgebaut. Es wird jeweils über ein if -
int valueX ;
Statement überprüft, ob seit dem letzten int prevValueX ;
Aufruf der Funktion mehr als das vorgese-
Der aktuelle X-Wert wird über die Funktion
hene Zeitintervall vergangen ist und bei Be-
analogRead() mit dem Argument des Steck-
darf die jeweilige Funktion aufgerufen. Der
platzes des Pins erlangt. Die Funktionalität
in Anhang B zu sehende tatsächliche Source-
zur Findung von minX und maxX wird ein-
Code weicht leicht ab, da manche Operatio-
fach durch ein if -Statement implementiert,
nen länger als 3000 µs dauern und damit
das überprüft, ob der vorhandene Wert klei-
die Überprüfung, ob wieder ein Ton ausgege-
ner als der vorhandene minimale oder größer
ben werden muss, mehrmals in jeder Schleife
als der maximale X-Wert ist. Danach wird
stattfindet.
der jetzige X-Wert in der Variablen prevVa-
void l o o p ( ) {
lueX für die Vergleichsmöglichkeit mit der
i f ( ( m i l l i s ( )−l a s t R e a d i n g )>r e a d I n t ) {
readZ ( ) ; nächsten Messung gespeichert.
readY ( ) ;
void readX ( ) {
readX ( ) ;
valueX=analogRead ( 3 ) ;
l a s t R e a d i n g=m i l l i s ( ) ;
i f ( valueX<minX ) minX = valueX ;
}
i f ( valueX>maxX) maxX = valueX ;
i f ( ( m i l l i s ( )−l a s t A n a l y s i s )> a n a l y s i s I n t
prevValueX = valueX ;
) {
}
analyseSignal () ;
l a s t A n a l y s i s=m i l l i s ( ) ;
}
i f ( ( m i l l i s ( )−l a s t D i s p l a y )>d i s p l a y I n t ) 3.3.2.3. Ansteuerung des Displays
{
searchDisplay () ; Für die Ansteuerung des Displays wurde
l a s t D i s p l a y=m i l l i s ( ) ;
die Funktion searchDisplay() implementiert,
}
i f ( m i l l i s ( )−l a s t S o u n d )>s o u n d I n t ) { welche die Entfernung zum Verschütteten
generateSound ( ) ; in Metern und die absolute Richtung der
l a s t S o u n d=m i c r o s ( ) ;
} Feldlinie aus Variablen ausliest, woraufhin
} sie sich um die Darstellung auf dem Dis-
play kümmert. Die Richtung wird dabei al-
le 50 ms über die Funktion directionDis-
3.3.2.2. Verarbeitung des Signals
play(), die Entfernung alle 1000 ms über
Die für die Signalverarbeitung zuständigen die Funktion distanceDisplay() aktualisiert.
Funktionen readX(), readY() und readZ() Ein Mockup der Darstellung ist in Abbil-
sind allesamt identisch aufgebaut, weshalb dung 3.8 zu sehen. Eine Programmier-Code-
die Programmierung hier nur exemplarisch Wiedergabe der beiden Darstellungsfunktio-
für readX() gezeigt werden soll. In der nen wird hier nicht als wichtig genug er-
Präambel werden wiederum die notwendi- achtet, da viele Display-spezifische Eigenhei-
gen Variablen initialisiert. minX und max- ten in der seriellen Kommunikation beach-
X beinhalten die minimalen und maximalen tet werden müssen und dies zu weit vom
Werte in einem Intervall von einer Sekun- Thema führen würde, kann jedoch in An-
de und valueX speichert den aktuellen Le- hang B eingesehen werden. Der Aufruf die-
sewert, prevValueX den vorherigen zu Ver- ser beiden Funktionen funktioniert folgen-
gleichszwecken. dermaßen: Es wird überprüft, ob sich die Si-

22
3. Eigenbau

gnalstärke seit dem letzten Aufruf geändert der Schwingung des Piezo-Lautsprechers von
hat und es wird in diesem Fall die Funktion dem Zeitintervall zwischen dem An- und
zur Anzeige der Entfernung adressiert und Ausschalten des Lautsprechers abhängt und
andernfalls die zur Aktualisierung der Rich- eine Intervall-Änderung im Programmab-
tung. Das häufige Aktualisieren der Rich- lauf eher schwierig zu realisieren ist, wur-
tung ist nötig, da der Suchende beim Dre- de entschieden, den Signalempfang über
hen unmittelbares Feedback bekommen soll, die Lautstärke deutlich zu machen. Zuerst
wie weit er sich noch zu drehen hat. Dies wird in der Präambel der Steckplatz des
geschieht über einen Vergleich der absoluten Lautsprecher-Pins definiert:
Feldlinienrichtung und der absoluten Gerä- i n t s p e a k e r P i n =11;
terichtung.
An den Lautsprecher wird für den Zeitraum
void s e a r c h D i s p l a y ( ) {
i f ( o l d S i g n a l S t r e n g t h==s i g n a l S t r e n g t h ) { von 3000 µs Spannung angelegt, um dann
directionDisplay ( getDirection () ) ; nach 3000 µs Pause wieder Spannung an-
}
else {
zulegen. Die angelegte Spannung ist für die
distanceDisplay ( getDistance () ) ; Lautstärke zuständig und wird der Funkti-
directionDisplay ( getDirection () ) ;
on analogWrite() als zweites Argument mit-
}
o l d S i g n a l S t r e n g t h=s i g n a l S t r e n g t h ; gegeben. Dieses hängt von den Werten der
} drei Antennen ab und wurde so optimiert,
dass einerseits auch bei schlechtem Emp-
fang noch ein Signal zu hören ist, aber ande-
rerseits der Ton bei ausgeschaltetem Sender
nicht zu penetrant wird.
void g e n e r a t e S o u n d ( ) {
a n a l o g W r i t e ( s p e a k e r P i n , ( ( valueX+valueY
+v a l u e Z ) /50 −12) / 2 ) ;
delayMicroseconds (3000) ;
analogWrite ( speakerPin , 0) ;
}
Abbildung 3.8.: Mockup des Interfaces

3.3.2.6. Entwicklung des


3.3.2.4. Auslesen des Kompasses Suchalgorithmus
Es wurde die Funktion int compassAngle()
Der Suchalgorithmus an sich hat prinzipiell
implementiert, welche den aktuellen Win-
die drei Teilaufgaben, aus den induzierten
kel ausliest und ihn als Variable zurückgibt.
Spannungen in den drei Antennen die jewei-
Auch hier wird kein Source-Code gezeigt,
ligen Signalstärken zu ermitteln, die Entfer-
kann aber im Anhang B eingesehen werden.
nung zum Verschütteten aus diesen zu er-
rechnen und die relative Richtung der Feld-
3.3.2.5. Ansteuerung des Lautsprechers
linie zum Gerät festzustellen. Dazu wurden
Für die Ansteuerung des Lautsprechers wür- die alle 1000 ms aufgerufenen Funktion anal-
de es prinzipiell zwei Möglichkeiten geben: ayseSignal() und die beiden von der Funkti-
Ein besseres Signal könnte durch eine höhe- on searchDisplay() aufgerufenen Methoden
re Tonfrequenz wiedergegeben werden oder getDistance() und getDirection() implemen-
eine höhere Lautstärke. Da die Frequenz tiert.

23
3. Eigenbau

analyseSignal() Die Funktion analyseSi- Auch der Winkel θ, der die absolute Rich-
gnal() ist verantwortlich für die Berechnung tung der Feldlinie angibt, wird in der Funk-
der Signalstärken der drei Antennen in mW. tion analyseSignal() bestimmt. Es wird nur
Dabei ist zu beachten, dass die induzier- der Winkel in Richtung der XY-Ebene be-
ten Spannungen in einem logarithmischen stimmt, da für die Suchrichtung ein nach
Zusammenhang zu der tatsächlichen Strah- unten oder oben zeigender Feldstärkevektor
lungsleistung stehen. Dem Datenblatt des nicht relevant ist. Zudem entsteht dadurch
SA605D 13 ist die Umrechnung der induzier- nur eine vierfache Mehrdeutigkeit und keine
ten Spannung in Volt in die Strahlungsleis- achtfache. Da die Feldlinien in beide Rich-
tung in mW zu entnehmen: tungen zum Ziel führen, sind zwei mögliche
−130+20∗Uind
Winkel richtig und zwei falsch. Der Winkel
S = 10 10 (3.3) relativ zur Geräteachse14 beträgt:

Die Funktion analogRead() des Arduino lie- ampX


α = arctan (3.5)
fert allerdings keinen Wert für die Spannung ampY
selbst, sondern einen Wert zwischen 0 und Die vier möglichen Winkel sind damit α und
1023, was Spannungen zwischen 0 und 5 V −α. α − 180◦ und −α + 180◦ werden nicht
entspricht, wodurch sich nach obiger Glei- berücksichtigt, da sie die selben Feldlinien
chung ergibt: beschreiben. (Abb 3.9).
−130+5∗20∗ valueX
1024
S = 10 10 (3.4)
X-Antenne

Die Amplitude des Signals ergibt sich dann -α α


ampX

nach Abzug des minimalen Wertes. Pro-


-ampY ampY
grammiertechnisch werden die Werte nicht Y-Antenne

als mW sondern als 10−9 mW abgespeichert,


-ampX

da die Werte andernfalls zu klein würden. α-180° -α+180°

double ampX = pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ (


f l o a t )maxX/ 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗1000000000
− pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t )
minX / 1 0 2 3 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
double ampY = 1 . 5 ∗ pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) Abbildung 3.9.: Mögliche Richtungen der
+ 1 0 0 . 0 ∗ ( f l o a t )maxY/ 1 0 2 4 . 0 ) / 1 0 . 0 ) Feldlinie
∗1000000000 − pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 )
+ 1 0 0 . 0 ∗ ( f l o a t ) minY / 1 0 2 3 . 0 ) / 1 0 . 0 )
∗1000000000; Die Funktion compassAngle() gibt für die
double ampZ = pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ (
f l o a t )maxZ / 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗1000000000 Ausrichtung der X-Achse des Geräts einen
− pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t ) Winkel zwischen −180◦ und +180◦ zurück.
minZ / 1 0 2 3 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
Dieser soll dann mit den vier möglichen
Die skalare Größe des Feldstärkevektors Winkeln für die Feldlinienrichtung verrech-
wird durch den Satz des Pythagoras berech- net werden, um vier absolute Gradzahlen
net: zu erhalten: θ1 = compassAngle + α und
s i g n a l S t r e n g t h = s q r t ( pow (ampX, 2 )+pow ( θ2 = compassAngle − α.
ampY, 2 )+pow (ampZ , 2 ) ) ;
14
Diese entspricht der Richtung der Antenne in X-
13
siehe NXP (1997) Richtung

24
3. Eigenbau

Programmiertechnisch wird dabei noch je- von der Funktion directionDisplay() ausgele-
weils überprüft, ob der errechnete Wert 180 sen und ans Display übergeben werden. Der
überschreitet oder -180 unterschreitet: Suchalgorithmus führt den Suchenden dem-
i n t absAng = compassAngle ( ) ; nach entlang einer Feldlinie zum Verschütte-
i n t a l p h a 1 = atan (ampY/ampX) ∗180/ PI ; ten. Dieser Suchpfad ist zwar natürlich nicht
i n t a l p h a 2 = −a l p h a 1 ;
i n t t h e t a 1 = absAng + a l p h a 1 ; der kürzeste, führt aber sicher zum Ziel.
i n t t h e t a 2 = absAng + a l p h a 2 ; Nach den Berechnungen werden in der
i f ( t h e t a 1 >180) t h e t a 1=−360+t h e t a 1 ;
e l s e i f ( t h e t a 1 <−180) t h e t a 1 =360+ t h e t a 1 ;
analyseSignal()-Funktion auch noch die Va-
i f ( t h e t a 2 >180) t h e t a 2=−360+t h e t a 2 ; riablen für die minimalen und maximalen
e l s e i f ( t h e t a 2 <−180) t h e t a 2 =360+ t h e t a 2 ;
Werte der Antennen auf den Ausgangswert
Mit nur einer Messung zu entscheiden, wel- zurückgesetzt:
cher Wert der richtige ist, ist nicht möglich. minX=1023;
maxX=0;
Sind jedoch zwei Messungen in einer unter-
minY=1023;
schiedlichen Richtung am selben Ort vor- maxY=0;
handen, ist dies möglich. Dabei wird über- minZ =1023;
maxZ=0;
prüft, welcher Messwert nach zwei Messun-
gen der wahrscheinlichere ist. Wurde das Ge-
rät seit der letzten Messung beispielsweise float getDistance() Die Funktion float
nach rechts gedreht und es wird ein Abneh- getDistance() ist dafür verantwortlich, aus
men des relativen Winkels festgestellt, ist der Signalstärke die Entfernung zu bestim-
die rechte mögliche Feldlinienrichtung wahr- men. Wie in 2.1 dargelegt, gilt für den Zu-
scheinlich die richtige. Diese Überprüfung sammenhang zwischen Signalstärke und Ab-
wird nur durchgeführt, wenn das Gerät seit stand zum Verschütteten:
der letzten vorhandenen Messung um mehr 1
als 10◦ gedreht wurde, um Messfehler zu ver- S∼ (3.6)
d3
meiden. Dazu werden die Werte für den re-
Zur Berechnung der Entfernung musste erst
lativen Winkel und die Geräteausrichtung in
der konstante Proportionalitätsfaktor durch
Variablen gespeichert:
Messung ermittelt werden. Es ergab sich:
i f ( abs ( absAngle−prevAbsAngle ) >10) {
i f ( ( absAngle>prevAbsAngle && alpha>
prevAlpha ) | | ( absAngle< c = d3 S = 624 ∗ 10−12 Wm3 (3.7)
prevAbsAngle && alpha<prevAlpha ) )
{
Die Funktion float getDistance() ist somit
t h e t a=t h e t a 2 ;
} sehr einfach zu realisieren:
e l s e i f ( ( absAngle>prevAbsAngle && float getDistance () {
alpha<prevAlpha ) | | ( absAngle< return pow ( 6 2 4 / s i g n a l S t r e n g t h , 0 . 3 3 3 3 ) ;
prevAbsAngle && alpha>prevAlpha ) ) }
{
t h e t a=t h e t a 1 ;
}
prevAlpha=a l p h a ; int getDirection() Auch die Funktion int
prevAbsAngle=absAngle ; getDirection() ist sehr simpel. Es wird der
}
aktuelle Kompasswinkel aufgerufen und dar-
Der in der Variablen theta gespeicherte Wert aufhin aus dem absoluten Winkel für die
gibt damit sekündlich aktualisiert die Rich- Feldlinienrichtung der darzustellende relati-
tung der Feldlinie an. Dieser kann dann ve Winkel errechnet:

25
3. Eigenbau

int g e t D i r e c t i o n ( ) { keine kosinusartige Richtcharakteristik, son-


i n t compAng = compassAngle ( ) ;
dern fallen im Bereich zwischen 20◦ und 70◦
i n t a l p h a=t h e t a −compAng ;
i f ( alpha >180) a l p h a=−360+a l p h a ; zu stark ab. Dies macht sich dadurch be-
e l s e i f ( alpha <−180) a l p h a=360+a l p h a ; merkbar, dass der relative Winkel zum Feld-
return a l p h a ;
} stärkevektor in nächster Nähe verhältnismä-
ßig zu groß und andernfalls eher zu klein ge-
schätzt wird. Die Korrektur zeigte sich als
3.4. Ergebnisse des Eigenbaus recht problematisch, da die Antenne in X-
Richtung zwar im absoluten Nahbereich ei-
Im Folgenden soll eine kurze für Hard- ne sehr viel größere Amplitude aufzeichnet,
und Software differenzierte Bewertung des im weiter entfernteren Bereich jedoch auch
Eigenbau-Projekts erfolgen. viel stärker abfällt. Somit wurde entschie-
den, den moderaten Korrekturfaktor von 1,5
zu verwenden, der einen guten Mittelweg
3.4.1. Hardware
darstellt.
Abgesehen von den bereits in 3.1 als für die
Arbeit nicht betrachtenswert erachteten An-
3.4.2. Software
forderungen an ein kommerzielles Lawinen-
suchgerät, wie Wasserdichtigkeit und kom- Die Software hat sich in den Tests als durch-
pakte Größe, kann der Eigenbau als Er- aus zuverlässig erwiesen. Gerade der kriti-
folg gesehen werden. Alle drei gebauten An- sche Teil, die Kompensation der Mehrdeu-
tennen empfangen das ausgesandte Signal, tigkeit des Signals, welche eine Folge der
die Peripherie, wie Kompass, Lautsprecher rein analogen Demodulation ist, hat sich
und Display, funktioniert gut und auch die sehr bewährt. Durch den Kompass wurde
Stromzufuhr über eine Batterie ist möglich. in der großen Mehrheit der Fälle bereits
Problematisch an der selbst gebauten innerhalb weniger Sekunden die tatsächli-
Hardware ist zum einen die eingeschränk- che Feldlinienrichtung identifiziert und ange-
te Reichweite. Während moderne, kommer- zeigt. In der Praxis ist in diesem Punkt kaum
zielle Geräte Signale in einer Entfernung ein Unterschied zu der wesentlich aufwändi-
von bis zu dreißig Metern einen Verschüt- geren Methode der digitalen Demodulation
teten orten können, ist das selbst gebaute zu sehen. Aufgrund der geringen Reichweite
LVS-Gerät bereits nach knapp 10 Metern wurde auf eine Implementierung der Ana-
nicht mehr in der Lage, ein Signal von dem lyse von Mehrfachverschüttungen verzichtet,
Umgebungsrauschen zu unterscheiden. Dies welche allerdings leicht zu ergänzen wäre,
ist wohl unter anderem auf eher schlech- da die Software sehr modular und erweiter-
te Empfangsschwingkreise zurückzuführen. bar aufgebaut ist. Es wurde auch verzich-
Ebenfalls problematisch ist die unterschied- tet, eine Überprüfung zu realisieren, ob die
liche Güte der Antennen. Die Antenne in Signalstärke in der Bewegungsrichtung auf
X-Richtung empfängt beispielsweise in der der Feldlinie stetig abnimmt, was bedeuten
maximalen Amplitude ein Signal, das dop- kann, dass man den Verschütteten in der an-
pelt so stark ist, wie das der Y-Antenne, deren Richtung wesentlich schneller erreicht.
wodurch eine softwaretechnische Korrektur Hier kann jedoch wohl auf den Suchenden so-
nötig wurde. Zudem zeigen die Antennen weit vertraut werden, dass er sich in diesem

26
3. Eigenbau

Fall selbstständig umdreht.


Positiv ist noch zu bemerken, dass der mo-
dulare Aufbau in Verbindung mit der abso-
luten Richtungsangabe des Kompasses dafür
sorgt, dass komplexere, den Weg der Feldli-
nie abkürzende Suchalgorithmen verhältnis-
mäßig einfach zu implementieren sind.
Problematisch bei der Prozessorwahl ist
das fehlende Multitasking. Um entsprechen-
de Funktionalität zu erlangen, mussten pro-
grammiertechnisch viele unschöne Umwege
beschritten werden, um beispielsweise den
Lautsprecher fortlaufend anzusprechen (sie-
he Anhang B).

3.4.3. Abschließende Bewertung


Das selbstgebaute LVS-Gerät ist abgese-
hen von der fehlenden Wasserdichtigkeit und
Kompaktheit aufgrund der Reichweite nur
bedingt in der Praxis einsetzbar. Der kom-
passgestützte Suchalgorithmus hat sich al-
lerdings als sehr effektiv erwiesen. Es hat
sich gezeigt, dass es durch den Kompass
praktisch nicht mehr notwendig wird, die
Phasenbeziehung zwischen den Signalen zu
kennen. Dadurch wird der nötige Rechenauf-
wand für die Signalanalyse minimiert, was
bei gleichbleibender Rechenkapazität einen
aufwändigeren Suchalgorithmus erlaubt. Ge-
gen Ende der Recherchen für diese Arbeit
stellte Ortovox erstmals ein kommerzielles
LVS-Gerät mit integriertem Kompass vor.
Dieser wird damit beworben, dass er die
Richtungsanweisungen präziser mache.

27
4. Ausblick

4. Ausblick
In dem folgenden Kapitel soll ein kurzer nen mit Hintergrundrauschen und Mehr-
Überblick darüber gegeben werden, welche fachverschüttungen wesentlich besser umge-
Entwicklungen im Bereich der LVS-Geräte hen als analoge Band-Pass-Filter. Der be-
in den nächsten Jahren zu erwarten sind. reits absehbare Preisverfall bei den Mikro-
Dabei wird sowohl auf die rein technische prozessoren in Verbindung mit nichtsdesto-
Machbarkeit, als auch auf den Nutzen im trotz steigender Leistungsfähigkeit wird die
praktischen Gebrauch eingegangen. Geräte sowohl billiger als auch vielseitiger
machen.
Eine weitere für die Zukunft wichtige
4.1. Technische Entwicklung
Überlegung wäre ein Überdenken der Fre-
Die technische Weiterentwicklung ist grob in quenzwahl. Die momentanen genutzten 457
zwei Teile zu unterteilen: Zum einen wird kHz werden zwar von der Schneedecke kaum
es Fortschritte bei der Empfangstechnik und beeinflusst und befinden sich in einem ge-
zum anderen bei der Suchtechnik geben. schützten Frequenzbereich, bringen jedoch
auch einige Nachteile mit sich. Aufgrund
der niedrigen Frequenz befindet sich der ge-
4.1.1. Empfangstechnik
samte Suchbereich im Nahfeld des Senders.
Wie bereits dargelegt, bedarf es drei ortho- Die hohen Nichtlinearitäten in Verbindung
gonal angerichteter Antennen, um den kom- mit verschiedenen Kopplungserscheinungen
pletten magnetischen Feldstärkevektor auf- erschweren eine strukturierte Suche unge-
zuzeichnen. Dies ist heute bereits Stand der mein. Auch die Antennengröße bei der ge-
Technik und es ist absehbar, dass dies so bei- wählten Frequenz und das hohe auftreten-
behalten wird, da eine vierte Antenne keine de atmosphärische Rauschen stellen Proble-
nennenswerten Vorteile bieten würde. Ob- me dar. Somit sollte geprüft werden, ob ein
wohl im Eigenbau gezeigt wurde, dass sich Überdenken der Frequenzwahl sinnvoll wäre.
der Hauptnachteil der analogen Demodu- Natürlich würde dies einen schwerwiegenden
lation, die fehlende Phasenbeziehnung zwi- Schritt bedeuten, da Abwärtskompatibilität
schen den Antennen1 , mittels eines Kompas- zu älteren Geräten dieser sicherheitsrelevan-
ses kompensieren lässt, gehört eindeutig der ten Anwendung eigentlich höchste Priorität
digitalen Demodulation die Zukunft. hat.
Die digitale Technik bietet neben der Es gibt Überlegungen, die Niederfrequenz-
Möglichkeit der exakten und sofortigen schwingung mit einer Hochfrequenzschwing-
Richtungsbestimmung auch deutliche Vor- nung zu modulieren. Die entstehende Schwe-
teile in den Bereichen Signalempfang und Si- bung würde von alten Geräten erkannt wer-
gnalfilterung. Intelligente digitale Filter kön- den und nichtsdestotrotz die Vorteile einer
1 höheren Frequenz für neue Geräte nutzbar
was eine Mehrdeutigkeit in der Signalrichtung zur
Folge hat machen. So könnten beispielsweise Zusatzin-

28
4. Ausblick

formationen in das Signal hinein moduliert ten Methoden sind sehr rechenintensiv und
werden. Diese könnten sowohl eine eindeu- damit momentan wohl noch nicht zu ver-
tige Identifizierung jedes Geräts enthalten, wirklichen.
als auch eventuell Vitaldaten2 des Verschüt-
teten senden. Somit könnten die verschiede- 4.2. Bewertung der
nen Signale bei Mehrfachverschüttungen ei-
nerseits unterschieden werden und es könnte
bevorstehenden
andererseits eine Priorisierung der noch le- Entwicklungen
benden Verschütteten erfolgen.
Es bleibt jedoch abzuwarten, inwieweit der-
Eine höhere Frequenz hätte auch den Vor-
artige Neuentwicklungen sinnvoll sind, da
teil, dass man auf die Ferritkerne, welche
mit ihnen zwangsweise eine ungemeine Ver-
das ausgesandte Feld weiter verzerren, ver-
komplizierung des Problems einhergeht. Ge-
zichten könnte. Die erforderte Sendeleistung
rade in diesem sicherheitsrelevanten For-
liegt bei höheren Frequenzen deutlich niedri-
schungsgebiet sollte das Hauptaugenmerk
ger, wodurch die Batterielaufzeit erhöht wer-
bei jeder Entwicklung auf einer hohen Aus-
den könnte.
fallsicherheit liegen.
Somit sollte langfristig auf jeden Fall ge-
Ein deutlich höheres Maß an Komplexi-
prüft werden, ob ein Frequenzwechsel unter
tät sollte nach Meinung des Autors nur für
vertretbarem Aufwand umsetzbar ist.
den Fall in Kauf genommen werden, dass bei
gleich bleibender Zuverlässigkeit ein signi-
4.1.2. Suchtechnik fikant kürzerer Suchpfad erreicht wird. Be-
Die meisten auch kurz- bis mittelfristigen reits bei dem heutigen Stand der Technik ist
Fortschritte werden jedoch wohl im Bereich der kritische Faktor nicht mehr in den Gerä-
der Suchtechniken erfolgen. Die neueste Ge- ten zu sehen, sondern in der Fähigkeit und
neration von LVS-Geräten versucht bereits Übung des Suchenden.
durch die zusätzliche Information der abso-
luten Orientierung mithilfe eines Kompasses
und statistischer Analysen den herkömmli-
chen Suchpfad über die Feldlinien abzukür-
zen.
Der nächste logische Schritt in dieser Ent-
wicklung wäre, die einzelnen Messergebnis-
se auch mit einer absoluten Positionsangabe
zu verknüpfen. Aufgrund der verhältnismä-
ßigen Ungenauigkeit von GPS ist ein Sys-
tem der Trägheitsnavigation denkbar. Wie
in Kapitel zwei dargelegt, kann so die exakte
Position des Verschütteten bereits nach we-
nigen Messungen mit hoher Wahrscheinlich-
keit festgelegt werden. Die dafür verwende-
2
Denkbar wären Daten über Herzfrequenz oder
Körpertemperatur

29
Abbildungsverzeichnis

Abbildungsverzeichnis

1.1. Schneebrettlawine mit markanter Abrisskante . . . . . . . . . . . . . . . . . 7


1.2. Mehrere punktförmig beginnende Lockerschneelawinen . . . . . . . . . . . . 8
1.3. Staublawine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4. Sinken der Überlebenswahrscheinlichkeit . . . . . . . . . . . . . . . . . . . . 9
1.5. Die Grundausrüstung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1. Elektrische und magnetische Komponente im Nah- und Fernfeld . . . . . . . 11


2.2. Feldgeometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3. Drei pulsierende Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4. Suchtechniken für einantennige LVS-Geräte . . . . . . . . . . . . . . . . . . 13
2.5. Anordnung der Antennen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6. In Komponenten zerlegter Feldstärkevektor . . . . . . . . . . . . . . . . . . 14
2.7. Suchtechniken für mehrantennige LVS-Geräte . . . . . . . . . . . . . . . . . 15
2.8. Betrag des Feldstärkevektors um den Verschütteten bei zwei- und dreian-
tennigen LVS-Geräten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1. Elemente des Resonanzschwingkreises . . . . . . . . . . . . . . . . . . . . . 18


3.2. Visualisierung des HF-Signals am Oszilloskop . . . . . . . . . . . . . . . . . 18
3.3. Empfangsschaltplan für eine Antenne . . . . . . . . . . . . . . . . . . . . . . 19
3.4. Empfangsschaltkreis für eine Antenne . . . . . . . . . . . . . . . . . . . . . 19
3.5. Arduino Duemillanove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.6. Anschluss der Peripherie an den Mikrocontroller . . . . . . . . . . . . . . . . 20
3.7. Software Schematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.8. Mockup des Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.9. Mögliche Richtungen der Feldlinie . . . . . . . . . . . . . . . . . . . . . . . . 24

30
Literaturverzeichnis

Literaturverzeichnis

[Calia 2002] Calia, Allesandro: Projet de diplôme: Développement sur les ARVA. Geneve,
2002

[Detlefsen u. Siart 2006] Detlefsen, Jürgen ; Siart, Uwe: Grundlagen der Hochfrequenz-
technik. 2. Auflage. Oldenbourg Verlag: München, 2006

[Elexs 2008] Elexs: Ferritantenne. Hörstel-Riesenbeck, 2008

[Gerthesen 2006] Gerthesen, Christian: Physik. 23. Auflage. Springer Verlag: Berlin,
2006

[Hammer u. a. 2007] Hammer, Anton ; Hammer, Hildegard ; Hammer, Karl: Physikali-


sche Formeln und Tabellen. 8. Auflage. J. Lindauer Verlag: München, 2007

[Hereford u. Edgerly 2000] Hereford, John ; Edgerly, Bruce: 457 KHz electromagnetism
and the future of avalance transceivers / ISSW. Boulder, 2000. – Forschungsbericht

[Kay 1993] Kay, Steven M.: Fundamentals of Statistical Signal Processing: Estimation
Theory. 1. Auflage. Prentice Hall PTR: Englewood Cliffs, NJ, 1993

[Munter 1997] Munter, Werner: 3 x 3 Lawinen. Agentur Pohl: Garmisch, 1997

[NXP 1997] NXP: Data Sheet SA605. Philipps Semiconductors, 1997

[Piniés u. Tardós 2006] Piniés, Pedro ; Tardós, Juan D.: Fast localization of avalanche
victims using Sum of Gaussians / Aragón Institute for Engineering Research, University
of Zaragoza. 2006. – Forschungsbericht

[Salós u. a. 2007] Salós, C. D. ; Lera, F. M. ; Villarroel, J. L.: Digital Signal Processing


in Triple Antenna ARVAs / Aragón Institute for Engineering Research, University of
Zaragoza. 2007. – Forschungsbericht

[Senner 2009] Senner, Veit: Pyro-Power-Safe / Technische Universität München. 2009. –


Forschungsbericht

[SLF 2006] SLF: Wissenswertes über Lawinen / Schweizer Lawinenforschungs-Institut.


2006. – Forschungsbericht

[SLF 2007] SLF: Langjährige Unfallstatistik / Schweizer Lawinenforschungs-Institut. 2007.


– Forschungsbericht

31
Lautsprecher
100 !

Signalempfang 100 nF
100p
SFULA455
BF245
100 Ω Filter
2,7 k! 1,5 k!
1,4 mH

1 M!

1 k!

30 – 265 pF
SFULA455 Signalverarbeitung Signalanalyse
Filter
Anhang A. Schaltplan

100 nF
100 nF
5,1 k!
100 nF 100 nF
Kompass

32
16 x 2
LCD
Display Antenne 2
10 nF 10 nF 10 nF
100 nF
10 nF 10 nF 10 nF

100 k!
Antenne 3
Anhang A.
6,8 µF
Schaltplan
100 nF
Batterie
100 nF
Antenne 1 Mikrocontroller mit Peripherie
Anhang B. Source-Code

Anhang B.

Source-Code

1 boolean graphicalDebugX = LOW;


2 boolean graphicalDebugY = LOW;
3 boolean g r a p h i c a l D e b u g Z = LOW;
4 boolean debugX = LOW;
5 boolean debugY = LOW;
6 boolean debugZ = LOW;
7 boolean s i g n a l D e b u g = LOW;
8 boolean d i r e c t i o n D e b u g = LOW;
9
10 #include <S o f t w a r e S e r i a l . h>
11 #include <math . h>
12
13 // A n s c h l u s s −Pins werden d e f i n i e r t
14 byte compassPin1 = 8 ;
15 byte compassPin2 = 9 ;
16 byte compassPin3 = 1 0 ;
17 byte LCDPin1 = 2 ;
18 byte LCDPin2 = 3 ;
19 byte s p e a k e r P i n = 1 1 ;
20
21 // m u l t i t a s k i n g i n t e r v a l l e werden d e f i n i e r t
22 int readInt = 2 0 ;
23 long l a s t R e a d i n g ;
24 int a n a l y s i s I n t = 1000;
25 long l a s t A n a l y s i s ;
26 int soundInt = 3000;
27 long l a s t S o u n d ;
28 int d i s p l a y I n t = 5 0 ;
29 long l a s t D i s p l a y ;
30
31 //Kompass−V a r i a b l e n werden i n i t i a l i s i e r t
32 i n t compassXData = 0 ;
33 i n t compassYData = 0 ;
34
35 // S i g n a l a n a l y s e −V a r i a b l e n werden d e f i n i e r t
36 float signalStrength ;
37 float oldSignalStrength ;
38 int theta ;
39 i n t prevAbsAngle ;
40 int relAng ;
41 i n t prevAlpha ;
42 i n t prevCompAng ;
43 i n t dirKnown ;
44
45 // V a r i a b l e n f u e r Antenne X werden i n i t i a l i s i e r t
46 boolean s t a t e X = LOW;
47 boolean stateChangeX = LOW;

33
Anhang B. Source-Code

48 int minX ;
49 int maxX ;
50 int noiseX = 2 5 ;
51 int valueX ;
52 int prevValueX ;
53
54 // V a r i a b l e n f u e r Antenne Y werden i n i t i a l i s i e r t
55 boolean s t a t e Y = LOW;
56 boolean stateChangeY = LOW;
57 i n t minY ;
58 i n t maxY ;
59 int noiseY = 2 5 ;
60 i n t valueY ;
61 i n t prevValueY ;
62
63 // V a r i a b l e n f u e r Antenne Z werden i n i t i a l i s i e r t
64 boolean s t a t e Z = LOW;
65 boolean stateChangeZ = LOW;
66 i n t minZ ;
67 i n t maxZ ;
68 int noiseZ = 2 5 ;
69 int valueZ ;
70 i n t prevValueZ ;
71
72 S o f t w a r e S e r i a l LCD = S o f t w a r e S e r i a l ( LCDPin1 , LCDPin2 ) ;
73
74 void s e t u p ( ) {
75 pinMode ( compassPin1 , OUTPUT) ;
76 pinMode ( compassPin2 , OUTPUT) ;
77 pinMode ( compassPin3 , INPUT) ;
78 pinMode ( LCDPin1 , INPUT) ;
79 pinMode ( LCDPin2 , OUTPUT) ;
80 pinMode ( s p e a k e r P i n , OUTPUT) ;
81 S e r i a l . b e g i n ( 1 1 5 2 0 0 ) ; // Debugging−I n t e r f a c e w i r d g e s t a r t e t
82 LCD. b e g i n ( 9 6 0 0 ) ; //LCD−D i s p l a y w i r d g e s t a r t e t
83 compassReset ( ) ;
84 clearLCD ( ) ;
85 dirKnown = 3 ;
86 }
87
88 void a n a l y s e S i g n a l ( ) {
89 double ampX = pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t )maxX/ 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗1000000000 − pow
( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t ) minX / 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
90 sound ( ) ;
91 i f ( s i g n a l D e b u g ) S e r i a l . p r i n t (ampX) ;
92 i f ( signalDebug ) S e r i a l . p r i n t ( " " ) ;
93 sound ( ) ;
94 double ampY = 1 . 5 ∗ pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t )maxY/ 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗1000000000 −
pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t ) minY / 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
95 sound ( ) ;
96 i f ( s i g n a l D e b u g ) S e r i a l . p r i n t (ampY) ;
97 i f ( signalDebug ) S e r i a l . p r i n t ( " " ) ;
98 sound ( ) ;
99 double ampZ = pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t )maxZ / 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗1000000000 − pow
( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t ) minZ / 1 0 2 4 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
100 sound ( ) ;
101 i f ( s i g n a l D e b u g ) S e r i a l . p r i n t l n (ampZ) ;
102 s i g n a l S t r e n g t h = s q r t ( pow (ampX, 2 )+pow (ampY, 2 )+pow (ampZ , 2 ) ) ;
103 sound ( ) ;
104 i f ( signalDebug ) S e r i a l . p r i n t l n ( s i g n a l S t r e n g t h ) ;
105 i n t absAngle = compassAngle ( ) ;

34
Anhang B. Source-Code

106 i n t a l p h a=atan (ampY/ampX) ∗ 1 8 0 / 3 . 1 4 ;


107 i n t t h e t a 1=absAngle+a l p h a ;
108 i n t t h e t a 2=absAngle−a l p h a ;
109 i f ( t h e t a 1 >180) t h e t a 1=−360+t h e t a 1 ;
110 e l s e i f ( t h e t a 1 <−180) t h e t a 1 =360+ t h e t a 1 ;
111 i f ( t h e t a 2 >180) t h e t a 2=−360+t h e t a 2 ;
112 e l s e i f ( t h e t a 2 <−180) t h e t a 2 =360+ t h e t a 2 ;
113 i f ( directionDebug ) {
114 S e r i a l . p r i n t ( " A b s o l u t e r Winkel : " ) ;
115 S e r i a l . p r i n t ( absAngle ) ;
116 S e r i a l . p r i n t ( " , r e l a t i v e r Winkel : " ) ;
117 S e r i a l . p r i n t l n ( alpha ) ;
118 S e r i a l . p r i n t ( " => M o e g l i c h e S i g n a l r i c h t u n g e n : " ) ;
119 S e r i a l . print ( theta1 ) ;
120 S e r i a l . p r i n t ( " oder " ) ;
121 S e r i a l . println ( theta2 ) ;
122 }
123 r e l A n g=a l p h a ;
124 i f ( abs ( absAngle−prevAbsAngle ) >10) {
125 i f ( dirKnown >0) dirKnown−−;
126 sound ( ) ;
127 i f ( ( absAngle>prevAbsAngle && alpha>prevAlpha ) | | ( absAngle<prevAbsAngle &&
alpha<prevAlpha ) ) {
128 t h e t a=t h e t a 2 ;
129 }
130 e l s e i f ( ( absAngle>prevAbsAngle && alpha<prevAlpha ) | | ( absAngle<prevAbsAngle &&
alpha>prevAlpha ) ) {
131 t h e t a=t h e t a 1 ;
132 }
133 i f ( directionDebug ) {
134 S e r i a l . p r i n t ( "Abs . S i g n a l r i c h t u n g : " ) ;
135 S e r i a l . println ( theta ) ;
136 }
137 sound ( ) ;
138 prevAlpha=a l p h a ;
139 prevAbsAngle=absAngle ;
140 }
141 minX=1023;
142 maxX=0;
143 minY=1023;
144 maxY=0;
145 minZ =1023;
146 maxZ=0;
147 }
148
149 void s e a r c h D i s p l a y ( ) {
150 sound ( ) ;
151 i f ( o l d S i g n a l S t r e n g t h==s i g n a l S t r e n g t h ) {
152 directionDisplay ( getDirection () ) ;
153 }
154 else {
155 sound ( ) ;
156 distanceDisplay ( getDistance () ) ;
157 sound ( ) ;
158 directionDisplay ( getDirection () ) ;
159 }
160 o l d S i g n a l S t r e n g t h=s i g n a l S t r e n g t h ;
161 }
162
163 float getDistance () {
164 return pow ( 6 2 4 / s i g n a l S t r e n g t h , 0 . 3 3 3 ) ;

35
Anhang B. Source-Code

165 }
166
167 int g e t D i r e c t i o n ( ) {
168 i n t compAng = compassAngle ( ) ;
169 i n t a l p h a=t h e t a −compAng ;
170 sound ( ) ;
171 i f ( alpha >180) a l p h a=−360+a l p h a ;
172 e l s e i f ( alpha <−180) a l p h a=360+a l p h a ;
173 return a l p h a ;
174 }
175
176 void l o o p ( ) {
177 i f ( ( m i l l i s ( )−l a s t R e a d i n g )>r e a d I n t ) {
178 readZ ( ) ;
179 sound ( ) ;
180 readY ( ) ;
181 sound ( ) ;
182 readX ( ) ;
183 l a s t R e a d i n g=m i l l i s ( ) ;
184 }
185 sound ( ) ;
186 i f ( ( m i l l i s ( )−l a s t A n a l y s i s )> a n a l y s i s I n t ) {
187 analyseSignal () ;
188 l a s t A n a l y s i s=m i l l i s ( ) ;
189 }
190 sound ( ) ;
191 i f ( ( m i l l i s ( )−l a s t D i s p l a y )>d i s p l a y I n t ) {
192 searchDisplay () ;
193 l a s t D i s p l a y=m i l l i s ( ) ;
194 }
195 sound ( ) ;
196 }
197
198 void readX ( ) {
199 valueX=analogRead ( 3 ) ;
200
201 // Debugging
202 i f ( graphicalDebugX ) {
203 S e r i a l . p r i n t ( 0 x f f , BYTE ) ;
204 S e r i a l . p r i n t ( ( valueX >> 8 ) & 0 x f f , BYTE ) ;
205 S e r i a l . p r i n t ( valueX & 0 x f f , BYTE ) ;
206 }
207 i f ( debugX ) S e r i a l . p r i n t l n ( valueX ) ;
208
209 i f ( valueX<minX ) minX = valueX ;
210 i f ( valueX>maxX) maxX = valueX ;
211 prevValueX = valueX ;
212 }
213
214 void readY ( ) {
215 valueY=analogRead ( 1 ) ;
216
217 // Debugging
218 i f ( graphicalDebugY ) {
219 S e r i a l . p r i n t ( 0 x f f , BYTE ) ;
220 S e r i a l . p r i n t ( ( valueY >> 8 ) & 0 x f f , BYTE ) ;
221 S e r i a l . p r i n t ( valueY & 0 x f f , BYTE ) ;
222 }
223 i f ( debugY ) S e r i a l . p r i n t l n ( valueY ) ;
224
225 i f ( valueY<minY ) minY = valueY ;

36
Anhang B. Source-Code

226 i f ( valueY>maxY) maxY = valueY ;


227 prevValueY = valueY ;
228 }
229
230 void readZ ( ) {
231 v a l u e Z=analogRead ( 2 ) ;
232
233 // Debugging
234 i f ( graphicalDebugZ ) {
235 S e r i a l . p r i n t ( 0 x f f , BYTE ) ;
236 S e r i a l . p r i n t ( ( v a l u e Z >> 8 ) & 0 x f f , BYTE ) ;
237 S e r i a l . p r i n t ( v a l u e Z & 0 x f f , BYTE ) ;
238 }
239 i f ( debugZ ) S e r i a l . p r i n t l n ( v a l u e Z ) ;
240
241 i f ( valueZ<minZ ) minZ = v a l u e Z ;
242 i f ( valueZ>maxZ) maxZ = v a l u e Z ;
243 prevValueZ = v a l u e Z ;
244 }
245
246 void sound ( ) {
247 i f ( ( m i c r o s ( )−l a s t S o u n d )>s o u n d I n t ) {
248 a n a l o g W r i t e ( s p e a k e r P i n , ( ( valueX+valueY+v a l u e Z ) / 1 0 0 ) −5) ;
249 delayMicroseconds (3000) ;
250 analogWrite ( speakerPin , 0) ;
251 l a s t S o u n d=m i c r o s ( ) ;
252 }
253 }
254
255 void S h i f t O u t ( i n t Value , i n t BitsCount ) {
256 f o r ( i n t i = BitsCount ; i >= 0 ; i −−) {
257 d i g i t a l W r i t e ( compassPin1 , LOW) ;
258 i f ( ( Value & 1 << i ) == ( 1 << i ) ) {
259 d i g i t a l W r i t e ( compassPin3 , HIGH) ;
260 }
261 else {
262 d i g i t a l W r i t e ( compassPin3 , LOW) ;
263 }
264 d i g i t a l W r i t e ( compassPin1 , HIGH) ;
265 delayMicroseconds (1) ;
266 }
267 }
268
269 i n t S h i f t I n ( i n t BitsCount ) {
270 int S h i f t I n _ r e s u l t ;
271 ShiftIn_result = 0;
272 pinMode ( compassPin3 , INPUT) ;
273 f o r ( i n t i = BitsCount ; i >= 0 ; i −−) {
274 d i g i t a l W r i t e ( compassPin1 , HIGH) ;
275 delayMicroseconds (1) ;
276 i f ( d i g i t a l R e a d ( compassPin3 ) == HIGH) {
277 S h i f t I n _ r e s u l t = ( S h i f t I n _ r e s u l t << 1 ) + 1 ;
278 }
279 else {
280 S h i f t I n _ r e s u l t = ( S h i f t I n _ r e s u l t << 1 ) + 0 ;
281 }
282 d i g i t a l W r i t e ( compassPin1 , LOW) ;
283 delayMicroseconds (1) ;
284 }
285 i f ( ( S h i f t I n _ r e s u l t & 1 << 1 1 ) == 1 << 1 1 ) {
286 S h i f t I n _ r e s u l t = ( B11111000 << 8 ) | S h i f t I n _ r e s u l t ;

37
Anhang B. Source-Code

287 }
288
289
290 return S h i f t I n _ r e s u l t ;
291 }
292
293 void compassReset ( ) {
294 pinMode ( compassPin3 , OUTPUT) ;
295 d i g i t a l W r i t e ( compassPin2 , LOW) ;
296 S h i f t O u t ( B0000 , 3 ) ;
297 d i g i t a l W r i t e ( compassPin2 , HIGH) ;
298 }
299
300 void HM55B_StartMeasurementCommand ( ) {
301 pinMode ( compassPin3 , OUTPUT) ;
302 d i g i t a l W r i t e ( compassPin2 , LOW) ;
303 S h i f t O u t ( B1000 , 3 ) ;
304 d i g i t a l W r i t e ( compassPin2 , HIGH) ;
305 }
306
307 i n t HM55B_ReadCommand ( ) {
308 int r e s u l t = 0 ;
309 pinMode ( compassPin3 , OUTPUT) ;
310 d i g i t a l W r i t e ( compassPin2 , LOW) ;
311 S h i f t O u t ( B1100 , 3 ) ;
312 result = ShiftIn (3) ;
313 return r e s u l t ;
314 }
315 i n t compassAngle ( ) {
316 HM55B_StartMeasurementCommand ( ) ;
317 long compWait=m i c r o s ( ) ;
318 while ( ( m i c r o s ( )−compWait ) <40000) sound ( ) ;
319 HM55B_ReadCommand ( ) ;
320 compassXData = S h i f t I n ( 1 1 ) ;
321 compassYData = S h i f t I n ( 1 1 ) ;
322 d i g i t a l W r i t e ( compassPin2 , HIGH) ;
323 i n t a n g l e = 180 ∗ ( atan2 (−1 ∗ compassYData , compassXData ) / M_PI) ;
324 return a n g l e ;
325 }
326
327 unsigned short c h a r 0 [ ] [ 8 ] = {
328 0 x07 , 0 x0f , 0 x1c , 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x18 ,
329 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x03 , 0 x03 , 0 x03 , 0 x03 ,
330 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x1c , 0 x0f , 0 x07 ,
331 0 x03 , 0 x03 , 0 x03 , 0 x03 , 0 x03 , 0 x07 , 0 x1e , 0 x1c
332 };
333 unsigned short c h a r 1 [ ] [ 8 ] = {
334 0 x00 , 0 x00 , 0 x00 , 0 x01 , 0 x03 , 0 x07 , 0 x02 , 0 x00 ,
335 0 x0e , 0 x1e , 0 x1e , 0 x16 , 0 x06 , 0 x06 , 0 x06 , 0 x06 ,
336 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 ,
337 0 x06 , 0 x06 , 0 x06 , 0 x06 , 0 x06 , 0 x06 , 0 x06 , 0 x0f
338 };
339 unsigned short c h a r 2 [ ] [ 8 ] = {
340 0 x07 , 0 x0f , 0 x1c , 0 x18 , 0 x10 , 0 x00 , 0 x00 , 0 x00 ,
341 0 x18 , 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x03 , 0 x07 , 0 x0e ,
342 0 x00 , 0 x01 , 0 x03 , 0 x07 , 0 x0e , 0 x1c , 0 x1f , 0 x1f ,
343 0 x18 , 0 x10 , 0 x00 , 0 x00 , 0 x00 , 0 x01 , 0 x1f , 0 x1f
344 };
345 unsigned short c h a r 3 [ ] [ 8 ] = {
346 0 x07 , 0 x0f , 0 x1c , 0 x18 , 0 x10 , 0 x00 , 0 x00 , 0 x00 ,
347 0 x18 , 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x07 , 0 x0e , 0 x1c ,

38
Anhang B. Source-Code

348 0 x00 , 0 x00 , 0 x00 , 0 x10 , 0 x18 , 0 x1c , 0 x0f , 0 x07 ,


349 0 x0c , 0 x06 , 0 x03 , 0 x03 , 0 x07 , 0 x0e , 0 x1c , 0 x18
350 };
351 unsigned short c h a r 4 [ ] [ 8 ] = {
352 0 x00 , 0 x00 , 0 x00 , 0 x01 , 0 x03 , 0 x07 , 0 x0e , 0 x1c ,
353 0 x0c , 0 x1c , 0 x18 , 0 x10 , 0 x00 , 0 x00 , 0 x18 , 0 x18 ,
354 0 x1f , 0 x1f , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 ,
355 0 x1f , 0 x1f , 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x18
356 };
357 unsigned short c h a r 5 [ ] [ 8 ] = {
358 0 x1f , 0 x1f , 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x1f , 0 x 1f ,
359 0 x1f , 0 x1f , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x1c , 0 x1e ,
360 0 x00 , 0 x00 , 0 x00 , 0 x10 , 0 x18 , 0 x1c , 0 x0f , 0 x03 ,
361 0 x07 , 0 x03 , 0 x03 , 0 x03 , 0 x07 , 0 x0e , 0 x1c , 0 x18
362 };
363 unsigned short c h a r 6 [ ] [ 8 ] = {
364 0 x03 , 0 x07 , 0 x0e , 0 x0c , 0 x18 , 0 x18 , 0x1b , 0 x1f ,
365 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x00 , 0 x00 , 0 x1c , 0 x1e ,
366 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x18 , 0 x0c , 0 x07 , 0 x03 ,
367 0 x07 , 0 x03 , 0 x03 , 0 x03 , 0 x03 , 0 x06 , 0 x1c , 0 x18
368 };
369 unsigned short c h a r 7 [ ] [ 8 ] = {
370 0 x1f , 0 x1f , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x01 ,
371 0 x1f , 0 x1f , 0 x07 , 0 x0e , 0 x1c , 0 x18 , 0 x10 , 0 x00 ,
372 0 x03 , 0 x07 , 0 x06 , 0 x0e , 0 x0c , 0 x1c , 0 x18 , 0 x18 ,
373 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x00
374 };
375 unsigned short c h a r 8 [ ] [ 8 ] = {
376 0 x07 , 0 x0f , 0 x1c , 0 x18 , 0 x18 , 0 x1c , 0 x 0f , 0 x07 ,
377 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x03 , 0 x07 , 0 x1e , 0 x1c ,
378 0 x07 , 0 x0c , 0 x18 , 0 x18 , 0 x18 , 0 x1c , 0 x0f , 0 x07 ,
379 0 x1c , 0 x06 , 0 x03 , 0 x03 , 0 x03 , 0 x07 , 0 x1e , 0 x1c
380 };
381
382 unsigned short c h a r 9 [ ] [ 8 ] = {
383 0 x07 , 0 x0f , 0 x1c , 0 x18 , 0 x18 , 0 x1c , 0 x 0f , 0 x07 ,
384 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x03 , 0 x03 , 0 x1f , 0 x1f ,
385 0 x00 , 0 x00 , 0 x00 , 0 x00 , 0 x18 , 0 x1c , 0 x0f , 0 x07 ,
386 0 x07 , 0 x03 , 0 x03 , 0 x03 , 0 x03 , 0 x07 , 0 x1e , 0 x1c
387 };
388
389 void s e l e c t L i n e O n e ( ) {
390 LCD. p r i n t ( 0xFE , BYTE) ;
391 LCD. p r i n t ( 1 2 8 , BYTE) ;
392 }
393 void s e l e c t L i n e T w o ( ) {
394 LCD. p r i n t ( 0xFE , BYTE) ;
395 LCD. p r i n t ( 1 9 2 , BYTE) ;
396 }
397 void goTo ( i n t p o s i t i o n ) {
398 i f ( p o s i t i o n <16) {
399 LCD. p r i n t ( 0xFE , BYTE) ;
400 LCD. p r i n t ( ( p o s i t i o n +128) , BYTE) ;
401 }
402 e l s e i f ( p o s i t i o n <32) {
403 LCD. p r i n t ( 0xFE , BYTE) ;
404 LCD. p r i n t ( ( p o s i t i o n +48+128) , BYTE) ;
405 }
406 else {
407 goTo ( 0 ) ;
408 }

39
Anhang B. Source-Code

409 }
410 void clearLCD ( ) {
411 LCD. p r i n t ( 0xFE , BYTE) ;
412 LCD. p r i n t ( 0 x01 , BYTE) ;
413 }
414 void d i s t a n c e D i s p l a y ( f l o a t d i s t ) {
415 clearLCD ( ) ;
416 boolean d e c i m a l ;
417 i n t num ;
418 sound ( ) ;
419 i f ( d i s t <10) {
420 num=10∗ round ( d i s t ∗ 1 0 ) ;
421 d e c i m a l=true ;
422 }
423 e l s e i f ( d i s t >99) {
424 num=9900;
425 d e c i m a l=f a l s e ;
426 }
427 else {
428 num=100∗ round ( d i s t ) ;
429 d e c i m a l=f a l s e ;
430 }
431 sound ( ) ;
432 i n t firNum ;
433 i n t secNum ;
434 i f ( d e c i m a l==f a l s e ) {
435 secNum = (num % 1 0 0 0 ) / 1 0 0 ;
436 firNum = (num−secNum ) / 1 0 0 0 ;
437 }
438 else {
439 secNum = (num % 1 0 0 ) / 1 0 ;
440 firNum = (num−secNum ∗ 1 0 ) / 1 0 0 ;
441 }
442 sound ( ) ;
443 f o r ( i n t j = 0 ; j < 8 ; j ++) {
444 LCD. p r i n t ( 2 5 4 ,BYTE) ;
445 LCD. p r i n t (64+ j ∗ 8 ,BYTE) ;
446
447 f o r ( i n t i = 0 ; i < 8 ; i ++) {
448 sound ( ) ;
449 LCD. p r i n t ( c h a r A r r a y ( firNum , secNum , j , i ) ,BYTE) ;
450 }
451 }
452 sound ( ) ;
453 i f ( decimal ) {
454 goTo ( 1 0 ) ;
455 LCD. p r i n t ( 0 ,BYTE) ;
456 LCD. p r i n t ( 1 ,BYTE) ;
457 LCD. p r i n t ( " " ) ;
458 LCD. p r i n t ( 4 ,BYTE) ;
459 LCD. p r i n t ( 5 ,BYTE) ;
460 goTo ( 2 6 ) ;
461 sound ( ) ;
462 LCD. p r i n t ( 2 ,BYTE) ;
463 LCD. p r i n t ( 3 ,BYTE) ;
464 LCD. p r i n t ( " . " ) ;
465 LCD. p r i n t ( 6 ,BYTE) ;
466 LCD. p r i n t ( 7 ,BYTE) ;
467 LCD. p r i n t ( "m" ) ;
468 }
469 else {

40
Anhang B. Source-Code

470 goTo ( 1 0 ) ;
471 LCD. p r i n t ( " " ) ;
472 LCD. p r i n t ( 0 ,BYTE) ;
473 LCD. p r i n t ( 1 ,BYTE) ;
474 LCD. p r i n t ( 4 ,BYTE) ;
475 LCD. p r i n t ( 5 ,BYTE) ;
476 goTo ( 2 6 ) ;
477 sound ( ) ;
478 LCD. p r i n t ( " " ) ;
479 LCD. p r i n t ( 2 ,BYTE) ;
480 LCD. p r i n t ( 3 ,BYTE) ;
481 LCD. p r i n t ( 6 ,BYTE) ;
482 LCD. p r i n t ( 7 ,BYTE) ;
483 LCD. p r i n t ( "m" ) ;
484 }
485
486 }
487 i n t c h a r A r r a y ( i n t firNum , i n t secNum , i n t j , i n t i ) {
488 i f ( j <4) {
489 sound ( ) ;
490 i f ( firNum==0) {
491 return ( c h a r 0 [ j ] [ i ] ) ;
492 }
493 e l s e i f ( firNum==1) {
494 return ( c h a r 1 [ j ] [ i ] ) ;
495 }
496 e l s e i f ( firNum==2) {
497 return ( c h a r 2 [ j ] [ i ] ) ;
498 }
499 e l s e i f ( firNum==3) {
500 return ( c h a r 3 [ j ] [ i ] ) ;
501 }
502 e l s e i f ( firNum==4) {
503 return ( c h a r 4 [ j ] [ i ] ) ;
504 }
505 e l s e i f ( firNum==5) {
506 return ( c h a r 5 [ j ] [ i ] ) ;
507 }
508 e l s e i f ( firNum==6) {
509 return ( c h a r 6 [ j ] [ i ] ) ;
510 }
511 e l s e i f ( firNum==7) {
512 return ( c h a r 7 [ j ] [ i ] ) ;
513 }
514 e l s e i f ( firNum==8) {
515 return ( c h a r 8 [ j ] [ i ] ) ;
516 }
517 e l s e i f ( firNum==9) {
518 return ( c h a r 9 [ j ] [ i ] ) ;
519 }
520 }
521
522 else {
523 sound ( ) ;
524 i f ( secNum==0) {
525 return ( c h a r 0 [ j − 4 ] [ i ] ) ;
526 }
527 e l s e i f ( secNum==1) {
528 return ( c h a r 1 [ j − 4 ] [ i ] ) ;
529 }
530 e l s e i f ( secNum==2) {

41
Anhang B. Source-Code

531 return ( c h a r 2 [ j − 4 ] [ i ]) ;
532 }
533 e l s e i f ( secNum==3) {
534 return ( c h a r 3 [ j − 4 ] [ i ]) ;
535 }
536 e l s e i f ( secNum==4) {
537 return ( c h a r 4 [ j − 4 ] [ i ]) ;
538 }
539 e l s e i f ( secNum==5) {
540 return ( c h a r 5 [ j − 4 ] [ i ]) ;
541 }
542 e l s e i f ( secNum==6) {
543 return ( c h a r 6 [ j − 4 ] [ i ]) ;
544 }
545 e l s e i f ( secNum==7) {
546 return ( c h a r 7 [ j − 4 ] [ i ]) ;
547 }
548 e l s e i f ( secNum==8) {
549 return ( c h a r 8 [ j − 4 ] [ i ]) ;
550 }
551 e l s e i f ( secNum==9) {
552 return ( c h a r 9 [ j − 4 ] [ i ]) ;
553 }
554 }
555
556 }
557
558 void d i r e c t i o n D i s p l a y ( i n t a l p h a ) {
559 i f ( directionDebug ) {
560 S e r i a l . p r i n t ( "=== r e l . Winkel : " ) ;
561 S e r i a l . p r i n t l n ( alpha ) ;
562 }
563 sound ( ) ;
564 goTo ( 0 ) ;
565 i f ( dirKnown >1) {
566 LCD. p r i n t ( " " ) ;
567 sound ( ) ;
568 LCD. p r i n t ( "D" ) ;
569 sound ( ) ;
570 LCD. p r i n t ( "R" ) ;
571 sound ( ) ;
572 LCD. p r i n t ( "E" ) ;
573 sound ( ) ;
574 LCD. p r i n t ( "H" ) ;
575 sound ( ) ;
576 LCD. p r i n t ( "E" ) ;
577 sound ( ) ;
578 LCD. p r i n t ( "N" ) ;
579 sound ( ) ;
580 LCD. p r i n t ( " ! " ) ;
581 sound ( ) ;
582 LCD. p r i n t ( " " ) ;
583 sound ( ) ;
584 }
585 e l s e i f ( alpha <−50) {
586 LCD. p r i n t ( "<" ) ;
587 sound ( ) ;
588 LCD. p r i n t ( "=" ) ;
589 sound ( ) ;
590 LCD. p r i n t ( "=" ) ;
591 sound ( ) ;

42
Anhang B. Source-Code

592 LCD. p r i n t ( "=" ) ;


593 sound ( ) ;
594 LCD. p r i n t ( " o " ) ;
595 sound ( ) ;
596 LCD. p r i n t ( " " ) ;
597 sound ( ) ;
598 LCD. p r i n t ( " " ) ;
599 sound ( ) ;
600 LCD. p r i n t ( " " ) ;
601 sound ( ) ;
602 LCD. p r i n t ( " " ) ;
603 sound ( ) ;
604 }
605 e l s e i f ( alpha <−35) {
606 LCD. p r i n t ( " " ) ;
607 sound ( ) ;
608 LCD. p r i n t ( "<" ) ;
609 sound ( ) ;
610 LCD. p r i n t ( "=" ) ;
611 sound ( ) ;
612 LCD. p r i n t ( "=" ) ;
613 sound ( ) ;
614 LCD. p r i n t ( " o " ) ;
615 sound ( ) ;
616 LCD. p r i n t ( " " ) ;
617 sound ( ) ;
618 LCD. p r i n t ( " " ) ;
619 sound ( ) ;
620 LCD. p r i n t ( " " ) ;
621 sound ( ) ;
622 LCD. p r i n t ( " " ) ;
623 sound ( ) ;
624 }
625 e l s e i f ( alpha <−20) {
626 LCD. p r i n t ( " " ) ;
627 sound ( ) ;
628 LCD. p r i n t ( " " ) ;
629 sound ( ) ;
630 LCD. p r i n t ( "<" ) ;
631 sound ( ) ;
632 LCD. p r i n t ( "=" ) ;
633 sound ( ) ;
634 LCD. p r i n t ( " o " ) ;
635 sound ( ) ;
636 LCD. p r i n t ( " " ) ;
637 sound ( ) ;
638 LCD. p r i n t ( " " ) ;
639 sound ( ) ;
640 LCD. p r i n t ( " " ) ;
641 sound ( ) ;
642 LCD. p r i n t ( " " ) ;
643 sound ( ) ;
644 }
645 e l s e i f ( alpha <−5) {
646 LCD. p r i n t ( " " ) ;
647 sound ( ) ;
648 LCD. p r i n t ( " " ) ;
649 sound ( ) ;
650 LCD. p r i n t ( " " ) ;
651 sound ( ) ;
652 LCD. p r i n t ( "<" ) ;

43
Anhang B. Source-Code

653 sound ( ) ;
654 LCD. p r i n t ( " o " ) ;
655 sound ( ) ;
656 LCD. p r i n t ( " " ) ;
657 sound ( ) ;
658 LCD. p r i n t ( " " ) ;
659 sound ( ) ;
660 LCD. p r i n t ( " " ) ;
661 sound ( ) ;
662 LCD. p r i n t ( " " ) ;
663 sound ( ) ;
664 }
665 e l s e i f ( alpha <5) {
666 LCD. p r i n t ( " " ) ;
667 sound ( ) ;
668 LCD. p r i n t ( " " ) ;
669 sound ( ) ;
670 LCD. p r i n t ( " " ) ;
671 sound ( ) ;
672 LCD. p r i n t ( " " ) ;
673 sound ( ) ;
674 LCD. p r i n t ( " o " ) ;
675 sound ( ) ;
676 LCD. p r i n t ( " " ) ;
677 sound ( ) ;
678 LCD. p r i n t ( " " ) ;
679 sound ( ) ;
680 LCD. p r i n t ( " " ) ;
681 sound ( ) ;
682 LCD. p r i n t ( " " ) ;
683 sound ( ) ;
684 }
685 e l s e i f ( alpha <20) {
686 LCD. p r i n t ( " " ) ;
687 sound ( ) ;
688 LCD. p r i n t ( " " ) ;
689 sound ( ) ;
690 LCD. p r i n t ( " " ) ;
691 sound ( ) ;
692 LCD. p r i n t ( " " ) ;
693 sound ( ) ;
694 LCD. p r i n t ( " o " ) ;
695 sound ( ) ;
696 LCD. p r i n t ( ">" ) ;
697 sound ( ) ;
698 LCD. p r i n t ( " " ) ;
699 sound ( ) ;
700 LCD. p r i n t ( " " ) ;
701 sound ( ) ;
702 LCD. p r i n t ( " " ) ;
703 sound ( ) ;
704 }
705 e l s e i f ( alpha <35) {
706 LCD. p r i n t ( " " ) ;
707 sound ( ) ;
708 LCD. p r i n t ( " " ) ;
709 sound ( ) ;
710 LCD. p r i n t ( " " ) ;
711 sound ( ) ;
712 LCD. p r i n t ( " " ) ;
713 sound ( ) ;

44
Anhang B. Source-Code

714 LCD. p r i n t ( " o " ) ;


715 sound ( ) ;
716 LCD. p r i n t ( "=" ) ;
717 sound ( ) ;
718 LCD. p r i n t ( ">" ) ;
719 sound ( ) ;
720 LCD. p r i n t ( " " ) ;
721 sound ( ) ;
722 LCD. p r i n t ( " " ) ;
723 sound ( ) ;
724 }
725 e l s e i f ( alpha <50) {
726 LCD. p r i n t ( " " ) ;
727 sound ( ) ;
728 LCD. p r i n t ( " " ) ;
729 sound ( ) ;
730 LCD. p r i n t ( " " ) ;
731 sound ( ) ;
732 LCD. p r i n t ( " " ) ;
733 sound ( ) ;
734 LCD. p r i n t ( " o " ) ;
735 sound ( ) ;
736 LCD. p r i n t ( "=" ) ;
737 sound ( ) ;
738 LCD. p r i n t ( "=" ) ;
739 sound ( ) ;
740 LCD. p r i n t ( ">" ) ;
741 sound ( ) ;
742 LCD. p r i n t ( " " ) ;
743 sound ( ) ;
744 }
745 else {
746 LCD. p r i n t ( " " ) ;
747 sound ( ) ;
748 LCD. p r i n t ( " " ) ;
749 sound ( ) ;
750 LCD. p r i n t ( " " ) ;
751 sound ( ) ;
752 LCD. p r i n t ( " " ) ;
753 sound ( ) ;
754 LCD. p r i n t ( " o " ) ;
755 sound ( ) ;
756 LCD. p r i n t ( "=" ) ;
757 sound ( ) ;
758 LCD. p r i n t ( "=" ) ;
759 sound ( ) ;
760 LCD. p r i n t ( "=" ) ;
761 sound ( ) ;
762 LCD. p r i n t ( ">" ) ;
763 sound ( ) ;
764 }
765 LCD. p r i n t ( " I " ) ;
766
767 sound ( ) ;
768 selectLineTwo () ;
769 sound ( ) ;
770 i f ( relAng <−9){
771 LCD. p r i n t ( r e l A n g ) ;
772 }
773 e l s e i f ( relAng <0) {
774 LCD. p r i n t ( " " ) ;

45
Anhang B. Source-Code

775 LCD. p r i n t ( r e l A n g ) ;
776 }
777 e l s e i f ( relAng <10) {
778 LCD. p r i n t ( " " ) ;
779 LCD. p r i n t ( r e l A n g ) ;
780 }
781 else {
782 LCD. p r i n t ( " " ) ;
783 LCD. p r i n t ( r e l A n g ) ;
784 }
785 LCD. p r i n t ( " " ) ;
786 sound ( ) ;
787 LCD. p r i n t ( "G" ) ;
788 sound ( ) ;
789 LCD. p r i n t ( "R" ) ;
790 sound ( ) ;
791 LCD. p r i n t ( "A" ) ;
792 sound ( ) ;
793 LCD. p r i n t ( "D" ) ;
794 sound ( ) ;
795 LCD. p r i n t ( " " ) ;
796 sound ( ) ;
797 LCD. p r i n t ( " I " ) ;
798 }

46