Sie sind auf Seite 1von 45

Facharbeit aus der Physik

Lawinenverschüttetensuchgeräte
Theorie und Eigenbau

Dominik Schröder

19. Januar 2010

Betreuung durch Herrn Fleckenstein


Zeit ist die kritische Komponente bei der Suche nach Verschütteten in Lawinen. So
genannte Lawinenverschüttetensuchgeräte1 empfangen bzw. senden elektromagnetische
Wellen 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äts mit drei orthogonal angerichteten Antennen, die die Suche beschleunigen
und damit die Überlebenschancen des Verschütteten erhöhen können.

1
kurz LVS-Gerät
Inhaltsverzeichnis

Inhaltsverzeichnis

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

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

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

4
Inhaltsverzeichnis

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

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

Abbildungsverzeichnis 29

Literaturverzeichnis 30

Anhang A. Schaltplan 31

Anhang B. Source-Code 32

5
1. Einleitung

1. Einleitung

Im Folgenden soll ein allgemeiner Über- terschiedlichen Zeitpunkten entstandenen


blick über die Lawinenproblematik in den Schneeschichten so labil ist, dass ledig-
schneebedeckten Gebirgen gegeben wer- lich leichter Druck von außen beispiels-
den. Im Zuge der Recherchen haben weise durch einen Wintersportler dazu
sich das Standardwerk zu Lawinenvorbeu- führt, dass die oberste Schneeschicht über
gung 3x3 Lawinen 1 und Veröffentlichun- die Breite des gesamten Hanges ins Rut-
gen des Schweizer Lawinen-Forschungs- schen kommt und alle sich im Hang befind-
Instituts2 als sehr hilfreich erwiesen. lichen Personen mit sich reißt. Dabei ent-
steht eine sehr markante Abrisskante (Abb.
1.1). Beispiele für Gefahrenfaktoren sind
1.1. Lawinen
Schneefall unter starkem Wind oder abrup-
Lawinen3 sind die bedeutendste Naturge- te Temperaturänderungen. Auch die Steil-
fahr in schneebedeckten Gebirgen. Allein heit des Hanges korreliert mit der Gefahr ei-
im Alpenraum sterben jährlich 100 Men- nes Abgangs. Die Gefahr für den Verschüt-
schen in Lawinen bzw. an den Folgen der teten besteht in erster Linie in Verletzun-
Verschüttungen. Den Großteil der Opfer gen durch Felskontakt und Erstickung un-
stellen Wintersportler dar, Lawinenabgän- ter den Schneemassen. Sie stellen aufgrund
ge auf Ortschaften und Verkehrswege sind ihrer Häufigkeit und Gefährlichkeit wohl die
durch Schutzmaßnahmen glücklicherweise akuteste Gefahr da.
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 unterschie-
den: Lockerschneelawinen und Staublawi-
nen gehen meist von einem Punkt aus, wäh-
rend bei Schneebrettlawinen ganze Schnee-
tafeln entlang einer Abrisskante abrut-
schen.

1.1.1. Schneebrettlawinen

Bei ungünstigen Witterungsverhältnissen


kann es dazu kommen, dass die physika-
lische Verbindung zwischen zwei zu un-
1
Abbildung 1.1.: Schneebrettlawine mit
siehe Munter (1997)
2 markanter Abrisskante
siehe SLF (2006)
3
von lat. labina – das Gleiten

6
1. Einleitung

1.1.2. Lockerschneelawinen nen. Staublawinen sind die zugleich seltens-


te und gefährlichste Lawinenart.
Wesentlich häufiger sind so genannte
Lockerschneelawinen. Diese beginnen im
Gegensatz 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 spontan ausgelöst, das heißt oh-
ne Einwirkung eines Wintersportlers. Von
dem Ausgangspunkt breitet sich die Lawi-
ne kegelförmig nach dem Schneeballprinzip
Abbildung 1.3.: Staublawine
aus (Abb. 1.2). Sie sind meist kürzer, da we-
niger zusammenhängende Schneemasse ab-
rutscht. Damit sind derartige Lockerschnee-
lawinen als eher ungefährlich zu betrachten.

1.2. Verschüttungen

Verschüttungen treten in den allermeis-


ten Fällen bei Schneebrettlawinen auf. Cir-
ca zwei Drittel der mitgerissenen Perso-
nen werden nicht oder nur teilweise ver-
schüttet4 , was eine schnelle Rettung ermög-
licht. Komplett Verschüttete sind nur in
knapp einem Zehntel der Fälle in der La-
ge, sich selbst zu retten5 . Das ist neben den
Abbildung 1.2.: Mehrere punktförmig be- schweren Schneemassen auch auf Bewusst-
ginnende Lockerschneela-
losigkeit und Orientierungslosigkeit der Op-
winen
fer zurückzuführen. Die hauptsächlich auf-
tretenden Todesursachen von Verschütte-
ten sind (nach Häufigkeit sortiert): Ersti-
1.1.3. Staublawinen
cken, Erliegen an durch den Abgang be-
In sehr exponierten Lagen kann sich, aus ei- dingten Verletzungen (Knochenbrüche, of-
ner Lockerschnee- eine Staublawine (Abb. fene Schürfwunden), Unterkühlung.
1.3) entwickeln, welche Geschwindigkeiten
km
Die Überlebenschancen einer verschüt-
von bis zu 300 h erreichen kann und eine
teten Person sinken mit der Dauer der
Druckwelle vor sich her schiebt. Dabei wer-
Verschüttung dramatisch. Bereits nach ei-
den extrem kleine (<1 mm) Schneepartikel
ner halben Stunde ist die Überlebenswahr-
vor der Lawine durch den Druck aufgewir-
scheinlichkeit auf 40 % gesunken (Abb. 1.4).
belt, wodurch die charakteristische Staub-
wolke entsteht. Die Gefahr für den Sport-
ler besteht darin, dass unter dem enor- 4
siehe SLF (2007)
5
men Überdruck die Lungen platzen kön- siehe SLF (2007)

7
1. Einleitung

hen ist und die Begleiter diese bis zum Ver-


schüttungsort zurückverfolgen kann. Eine
Weiterentwicklung dieser sich als nicht all-
zu praxistauglich erwiesenen Rettungstech-
nik ist der so genannte Lawinenball. Dieser
wird im zusammengefalteten Zustand am
Rucksack befestigt und kann im Falle ei-
ner Lawine über eine Reißleine mechanisch
entfaltet werden, wodurch der Ball sich an
der Oberfläche halten soll, um anhand der
Abbildung 1.4.: Sinken der Überlebens- Verbindungsschnur zum Rucksack des Op-
wahrscheinlichkeit fers die optische Lokalisierung möglich zu
machen. Er ist nicht mit dem so genannten
1.3. Bergung ABS-System7 zu verwechseln, welches eher
in die Kategorie der Verschüttungspräven-
Zeit ist damit die kritische Komponente für tion fällt.
die Bergung eines Lawinenverschütteten. In Seit mehreren Jahren durchgesetzt hat
dem wahrscheinlichen Fall, dass das Opfer sich die Kombination aus LVS und Sonde.
nicht in der Lage ist, sich selbst zu retten, Ersteres wird im nächsten Kapitel dieser
ist es darauf angewiesen, durch die Beglei- Arbeit ausführlich beschrieben. Die Son-
ter schnellstmöglich lokalisiert und gebor- de ist ein dünner, sehr leichter, zusammen-
gen zu werden. Die Bergung selbst stellt klappbarer mindestens zwei Meter langer
meist die kleinere Problematik dar, da der Stab und wird eingesetzt, um im Schnee
Verschüttete im Schnitt nur 70 cm unter der den Verschütteten schnell zu ertasten, was
Oberfläche liegt6 . jedoch viel Übung erfordert.
Damit ist das Hauptproblem bei der Ret-
tung in der Lokalisierung des Verschütte-
ten zu sehen. Sichtbare Teile des Verschüt-
teten sind ein Garant für eine schnelle Ber-
gung, treten aber nur in der Minderzahl der
Fälle auf. Im Laufe der Zeit sind verschie-
denste Hilfsmittel aufgekommen, welche al-
lesamt eine schnelle Lokalisierung verspre-
chen und dies mehr oder weniger einhal-
ten. Das primitivste hier zu nennende stellt
wohl die vor allem in den Anfangstagen
Abbildung 1.5.: Die Grundausrüstung
des Schibergsteigens eingesetzte Lawinen-
schnur dar, bei welcher es sich lediglich um
eine farbige, circa 30 Meter lange Schnur
handelt. Diese bindet sich der Wintersport-
ler um in der Hoffnung, dass im Falle ei-
7
Ebenfalls durch eine Reiÿleine aktiviert, werden
ner Verschüttung ein Teil der Schnur zu se- zwei groÿe Luftpolster am Rucksack mit Gas
gefüllt, wodurch der Rucksack samt Träger an
6
siehe SLF (2007) der Ober äche bleiben soll

8
2. Lawinenverschüttetensuchgeräte

2. Lawinenverschüttetensuchgeräte

Lawinenverschüttetensuchgeräte haben m als eher unpraktikabel angesehen werden


sich binnen weniger Jahre nach ihrer kann. Im Folgenden soll eine kurze quali-
Markteinführung 1968 zum Standard in der tative und quantitive Beschreibung des ge-
Rettungstechnik für Lawinenverschüttun- sendeten Signals 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 unterteilt.
trägt jeder ein aktiviertes LVS-Gerät im Die charakteristische Ausbreitung in pha-
Sendemodus möglichst nah am Körper. sengleichen, sich einandern bedingenden,
Dieses sendet ständig elektromagnetische wechselnden elektrischen und magnetischen
Wellen der Frequenz 457 kHz1 aus. Im Feldern ist erst im Fernfeld erreicht. Im
Ernstfall des Lawinenabgangs schalten Nahfeld ist die Strahlung noch nicht ent-
dann die nicht Verschütteten ihre LVS- koppelt, das heißt sie oszilliert größtenteils
Geräte in den Suchmodus und versuchen, zwischen Antenne und Nahfeldgrenze, wes-
den Sender zu lokalisieren. Der Vorgang der wegen es weniger linear in der Strahlungs-
Suche an sich ist mit Radio Direction Fin- leistung ist, da beispielsweise Energie nicht
ding vergleichbar, gestaltet sich aber durch nur emittiert wird, sondern teilweise aus
die großen Nichtlinearitäten des Feldes als der Umgebung auch wieder aufgenommen
ungleich schwieriger. Im Folgenden soll erst wird. Zudem ist das Verhältnis zwischen H-
das ausgesandte Signal analysiert werden, und E-Komponente des Feldes, anders als
um dann näher auf die Verarbeitung des im Fernfeld, nicht konstant.
Signals im LVS-Gerät des Suchenden ein- Die ungefähre Grenze ergibt sich aus fol-
2
zugehen und verschiedene Suchtechniken zu genden Gleichungen nach Schelkunoff :
beschreiben.
β3
 
1 i 1 iβd
H=− Ih − − sin θe
4π βd (βd)2 (βd)3
2.1. Signalanalyse  
(2.1)
1 i
E = 30β 3 Ih − sin θe iβd
(2.2)
Die vorliegende Frequenz von 457 kHz ent- βd (βd)2
spricht einer Wellenlänge von ca. 650 m. Dabei ist = 2π , d der Abstand zum Sen-
λ
Bei der die Strahlung aussendenden Anten- der, I der Stromfluss durch die Antenne, h
ne kommt ein Schwingkreis mit Ferritanten- die Höhe der Antenne und i = p 1.
ne und Resonanzkondensator zum Einsatz, Es zeigt sich, dass 1 1 1
λ βd , (βd)2 und (βd)3
für
da eine Stabantenne der Länge 2 325 d = 1
= λ
gleich sind. Diese Distanz gilt
β 2π
1
457 kHz haben sich erst im Laufe der Zeit als als die Grenze zwischen Nah- und Fernfeld.
Standard durchgesetzt, davor waren unter an-
2
derem auch 2275 kHz üblich siehe Detlefsen u. Siart (2006)

9
2. Lawinenverschüttetensuchgeräte

Das zu untersuchende Gebiet liegt demnach 2.1.3. Feldgeometrie


komplett im Nahfeld. Aus den Gleichungen
2.1 und 2.2 folgt ebenso, dass die magneti- Das zu untersuchende Feld kann von der
sche Komponente im Nahfeld wesentlich be- Geometrie her mit dem eines magnetischen
deutender ist als die elektrische (Abb 2.1). Dipols verglichen werden (Abb. 2.2(a)) und
ist mathematisch nur äußerst komplex zu
beschreiben6 :

1
H=  5 Am (2.3)
2 2 2
4π dx + dy + dz

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

3dx dz 3dy dz 2 2
2dz − dx − dy 2
Abbildung 2.1.: Elektrische und magneti- (2.4)
sche Komponente im Nah- Dabei beschreibt m das magnetische Mo-
und Fernfeld
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än-
und Ausrüstung, wie Schaufeln oder Schi-
gig, wodurch eine direkte Ortsbestimmung
ern um das Achtzigfache weniger beeinflusst
des Verschütteten nicht, beziehungsweise
als der elektrische Anteil3 . Damit ist eine
nur unter einer gewissen Wahrscheinlichkeit
Frequenz, bei der der gesamte Suchradius
möglich ist. Des Weiteren breitet sich die
im magnetisch dominierten Nahfeld liegt
Strahlung, anders als im Fernfeld, nicht in
Voraussetzung für einigermaßen störungs-
alle Richtungen gleichförmig aus, sondern
freien Empfang. Bei einer zu langen Wellen-
es entstehen zwei «tote Winkel» in Verlän-
länge wären die Antennen in der handlichen
gerung der Spulenachse (Abb. 2.2(b))
Größe kaum noch realisierbar. Die zwischen
Mittel- und Langwelle angesiedelten 457
kHz sind ein Kompromiss zwischen den bei-
den Voraussetzungen, inzwischen standar-
disiert (ETS 300718) und für LVS-Geräte
reserviert. Ein Nachteil der niedrigen Fre-
quenz ist, dass die Strahlungsleistung im
1
Nahfeld mit nahezu4 d3
rapide abfällt, im (a) Feldlinien (b)
1 5 Signal-
Fernfeld hingegen nur mit d2
. stärke
3
siehe Hereford u. Edgerly (2000)
4
Die Signalstärke ist das Kreuzprodukt aus E- Abbildung 2.2.: Feldgeometrie
und H-Anteil der elektromagnetischen Welle.
Im Nahfeld ist dieses nicht konstant, E und H
noch nicht phasengleich sind, weshalb der Wert
1
d3
lediglich eine Annäherung ist.
5 6
siehe Detlefsen u. Siart (2006) siehe Piniés u. Tardós (2006)

10
2. Lawinenverschüttetensuchgeräte

2.1.4. Pulsierendes Signal B die magnetische Flussdichte, A die Quer-


schnittsfläche der Ferritspule und den
Um Energie zu sparen, senden LVS-Geräte
Winkel zwischen Spulenachse und magneti-
nicht kontinuierlich, sondern nur jeweils ca.
1 3 7 9 scher Feldlinie beschreibt. Da im vorliegen-
10 bis 10 s mit 10 bis 10 s Pause zwischen
den Fall A als konstant angesehen werden
jedem Signalpuls (ETS 300718). Dies hat
kann und sich unbedeutend wenig ändert,
außerdem den Vorteil, dass mehrere Signale
reduzieren sich obige Gleichungen zu:
empfangen und analysiert werden können.
Mehrere überlappende Impulse können er- Uind = Ni ḂA cos (2.7)
kannt und als Mehrfachverschüttung inter-
pretiert werden (Abb. 2.3). Das B-Feld ändert sich sinusartig, wes-
halb die induzierte Spannung sich eben-
falls sinusartig, nur phasenverschoben, ver-
hält. Die im Empfänger induzierte Span-
nung stellt in Amplitude und Frequenz
Signalamplitude

ein Abbild des elektromagnetischen Feldes


dar. Zusätzlich dazu enthält die Amplitude
aufgrund die Richtcharakteristik der Emp-
fangsantenne eine Aussage über die Rich-
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
tung der magnetischen Feldlinien, was für
die Signalverarbeitung interessant ist.
Abbildung 2.3.: Drei pulsierende Signale
Da im Nahfeld das Magnetfeld über-
wiegt, heißt diese Form von Signalübertra-
gung induktive Kopplung. Interessanterwei-
2.2. Empfang des Signals se kommt ein ganz ähnliches Verfahren lo-
se gekoppelter Schwingkreise beispielsweise
Der Empfänger ist dafür zuständig, die In- bei RFID-Technik8 zum Einsatz.
formationen des elektromagnetischen Fel-
des in messbare Spannungen umzuwandeln.
Dazu ist er dem Sender ähnlich aufge- 2.3. Verarbeitung des Signals
baut. Als Antenne dient die Ferritspule des
Resonanzschwingkreises. Der sich ändern- Während die Empfangstechnik sich seit
de magnetische Fluss im vom Sender aus- Markteinführung der LVS-Geräte im Prin-
gesandten elektromagnetischen Feld indu- zip nicht geändert hat, hat es im Bereich
ziert nach Faraday eine Spannung im auf der Signalverarbeitung und Suchtechniken
Resonanz abgestimmten Empfangsschwing- eine fortwährende Weiterentwicklung gege-
kreis7 : ben. Neben dem Umstieg von Analog- auf
Digitaltechnik ist die hauptsächliche Wei-
Uind = Ni Φ̇ (2.5) terentwicklung in der zunehmenden Anzahl
Φ = BA = BA cos (2.6) an Antennen zu sehen. Da sich die Verar-
beitungsart substanziell unterscheidet, wer-
Wobei Uind die induzierte Spannung, Ni die den im Folgenden ein- und mehrantennige
Windungszahl, Φ den magnetischen Fluss, LVS-Geräte unterschieden.
7 8
siehe Gerthesen (1956) Radio Frequency Identi cation

11
2. Lawinenverschüttetensuchgeräte

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 der Empfang ist maximal, wenn das
Gerät in Richtung einer Feldlinie zeigt. Die
Demodulation des Signals9 erfolgt analog, (a) Kreuz-Suche (b) Tangenten-
Suche
wodurch ein Rechtecks-Gleichstrom-Signal
entsteht. Die Amplitude des demodulierten Abbildung 2.4.: Suchtechniken für einan-
Signals regelt die Lautstärke eines ange- tennige LVS-Geräte
schlossenen Lautsprechers. Zusätzlich kann
über einen Drehkondensator die Empfind- dreht man sich langsam, um die Richtung
lichkeit verändert werden. der höchsten Intensität festzustellen. Die-
ser Richtung folgt man wenige Meter, be-
2.3.1.1. Suchtechnik vor eine erneute Umorientierung stattfindet
In der Suchtechnik10 ist man bei einanten- (Abb. 2.4(b)). Das heißt man bewegt sich
nigen, analogen Geräten sehr begrenzt, da im Prinzip auf Tangenten zu einer Feldli-
keine anderen Daten über das Signal zu nie. In unmittelbarer Nähe des Verschütte-
Verfügung stehen als die Intensität in Rich- ten ist diese Technik aufgrund der starken
tung der Geräte- bzw. Spulenachse. Krümmung der Feldlinien nur schwer anzu-
wenden, weshalb hier erneut die Kreuzsu-
Kreuz-Suche Die Kreuzsuche ist die che zum Einsatz kommt.
denkbar einfachste Möglichkeit der Suche.
Ausgehend von einem Punkt geht man zu- 2.3.1.2. Problematik
fällig in irgendeine Richtung. Nimmt die Einantennige LVS-Geräte sind insofern pro-
Lautstärke zu, geht man weiter, nimmt die blematisch, als dass die Suche nach einem
Lautstärke ab, dreht man um und versucht Verschütteten zum einen sehr viel Zeit in
vom Ausgangspunkt eine um 90◦ versetzte Anspruch nehmen kann und zum anderen
Richtung (Abb. 2.4(a)). Hat die Lautstär- gut geschulte Suchende vonnöten sind.
ke erst zugenommen und nimmt dann wie-
der ab, geht man zu dem Punkt der höchs- 2.3.2. Mehrantennige LVS-Geräte
ten Lautstärke zurück und nimmt diesen als
neuen Ausgangspunkt.

Tangenten-Suche Eine auf den selben


technischen Voraussetzungen beruhende,
aber etwas intelligentere Suchmethode ist
die so genannte Tangenten-Suche. Die-
se schlägt Nutzen aus der Richtcharak-
teristik der Ferritspule. Im Anfangspunkt
9
Die vorliegende, einfachste Form von Modulation
wird A1A genannt
10
siehe Calia (2002) Abbildung 2.5.: Anordnung der Antennen

12
2. Lawinenverschüttetensuchgeräte

Im Zuge der Umstellung von rein analo- einantennigen LVS-Geräten auf analoge
ger auf digitale Technik kamen bei den LVS- Demodulation. Das daraus resultieren-
Geräten auch zusätzliche Antennen dazu, de gleichstromartige Rechteckssignal der
welche den Vorteil bringen, dass man ei- beiden Empfangsschaltkreise wird in ei-
ne Aussage über die Richtung der induzie- nem Analog-Digital-Wandler in Zahlenwer-
renden Feldlinie treffen kann, um dem Su- te umgewandelt und an einen Mikrocontrol-
chenden entlang dieser zum Verschütteten ler weitergegeben. Dieser ermittelt die Si-
zu führen. Die Antennen sind orthogonal gnalamplituden der Antennen.
zueinander angeordnet (Abb. 2.5). Da die Dies führt allerdings zu einem Problem:
Antennen eine kosinusartige Richtcharakte- Jede der Antennen hat eine Zweideutigkeit,
ristik besitzen, können die Amplituden der oder anders gesagt, die Amplitude des Si-
jeweiligen Antennen als vektorielles Abbild gnal gibt keine Auskufnt über die Phase des
des Feldstärkevektors in Antennenrichtung selbigen. Bei zwei Antennen führt das zu
angesehen werden (Abb. 2.6). Durch den 22 = 4 möglichen Richtungen für den Feld-
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
Abbildung 2.6.: in Komponenten zerlegter
des Feldstärke-Vektors durch Vergleich der
Feldstärkevektor
Messwerte bestimmt werden.
Satz des Pythagoras kann so die skalare
Größe der magnetischen Feldstärke errech-
Digitale Demodulation Modernere digi-
net werden11 :
tale LVS-Geräte setzen auf eine digita-

H= Hx2 + Hy2 + Hz2 (2.8) le Demodulation. Dabei werden die Si-
gnale der drei Antennen analog verstärkt
Durch trigonometrische Funktionen ist es und frequenzunverändert in einem Analog-
13 in Zahlenwerte umge-
nun möglich, den Winkel zwischen jeder Digital-Wandler
Antennenachse und dem Feldstärkevektor wandelt. Die Abtastrate des ADWs sollte
zu errechnen: nach dem Nyquist-Shannon-Abtasttheorem
mindestens das Doppelte der abzutasten-
Hi
α i = arccos mit i = x, y, z (2.9) den Frequenz betragen, was im konkre-
H
ten Beispiel einer Abtastrate f ≥ 2 ∗
2.3.2.1. Empfangstechnik 457 kHz = 914 kHz entspricht14 . Aus den
Analoge Demodulation Einfache mehr- Zahlenwerten werden dann in einem Digi-
antennige LVS-Geräte setzen ähnlich den 12
Die Feldlinien führen in beide Richtungen zum
11
Dies setzt drei Antennen voraus. Im Falle von Ziel
13
zwei Antennen wird das Abbild des Vektors in kurz ADW
14
die XY-Ebene berechnet siehe Salós u. a. (2007)

13
2. Lawinenverschüttetensuchgeräte

talen Signal-Prozessor 15 die Signalparame- 2.3.2.2. Suchtechniken


ter, wie Frequenz, Amplitude und Phase
Feldliniensuche Durch die Bestimmung
kontinuierlich erraten. Dazu kommt meis-
der Richtung des Feldstärke-Vektors ist es
tens die so genannte Maximum Likehood-
möglich, den Suchenden über Richtungsan-
Methode zum Einsatz16 , welche stichpro-
gaben entlang einer Feldlinie zum Verschüt-
benartig Messwerte analysiert und die Si-
teten zu führen (Abb. 2.7(a)). Dies funk-
gnalparameter so anpasst, dass die vor-
tioniert in unmittelbarer Nähe des Opfers
handenen Messwerte am wahrscheinlichs-
nicht so gut wie in einiger Entfernung. Die
ten sind. Dadurch wird es zum einen mög-
Feldliniensuche ist zuverlässig, aber nicht
lich, die Phasenbeziehung zwischen den ein-
optimal, da man nicht den direkten Weg
zelnen Signalen zu bestimmen, was falsche
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
(a) Feldliniensu- (b) Punktlokalisierung
das Signal erst analog verarbeitet und dann che
an den ADW weitergibt. Dabei wird das
Eingangssignal der Frequenz f in einem Abbildung 2.7.: Suchtechniken für mehran-
tennige LVS-Geräte
analogen Mischer mit einem von einem
lokalen Oszillator hergestellten Signal der
Frequenz fLO , welche sich um wenige kHz
von f unterscheidet, gemischt, wodurch die Punktlokalisierung Die neueste Entwick-
Frequenzen |f + f | und |f − f | ent- lung sind Ansätze zu einer möglichen
LO LO
stehen. Die hohe Frequenz wird über einen Puntktlokalisierung. Nach jüngsten For-
Tiefpassfilter herausgefiltert und die nied- schungsergebnissen kann die Lawinensu-
19
rige im ADW umgewandelt, was den Vor- che als SLAM -Problem gesehen werden.
teil hat, das man eine niedrigere Abtastrate Das bedeutet, dass der Mikrocontroller mit
braucht. der Zeit versucht, ein ständig aktualisier-
Ein Nachteil der digitalen Technik ist ne- tes Bild seiner Umgebung aufzubauen und
ben den teuren ADWs mit einer derart ho- gleichzeitig die punktgenaue Lokalisierung
hen Abtastrate auch der hohe Rechenauf- des Verschütteten mit jedem neuen Mess-
wand für die Abschätzung der Signalpara- wert genauer wird. Dabei ist Vorausset-
meter. Auf lange Sicht wird sich die rein zung, dass die Position des Suchenden und
digitale Technik vor allem wegen ihrer grö- die Ausrichtung der Antennen zu jedem
ßeren Flexibilität auf jeden Fall durchset- Messpunkt bekannt ist. Da GPS zu unge-
zen. nau ist, könnte dies beispielsweise durch
15
Trägheitsnavigation gelingen, was den Re-
kurz DSP
16
siehe Kay (1993) chenaufwand natürlich wiederum um ein
17
Von den vier bzw. acht möglichen Vektoren blei- Vielfaches erhöhen würde. Mehrere Punk-
ben zwei übrig, welche entgegengesetzt kollinear
19
zueinander sind simultaneous localization and mapping – ein
18
siehe Salós u. a. (2007) recht junges Forschungsgebiet der Robotik

14
2. Lawinenverschüttetensuchgeräte

te und die dort erfassten Feldstärkevekto-


ren erlauben dann eine Abschätzung des
gesamten Magnetfeldes und dadurch auch
der Position des Verschütteten. Eine test-
weise Implementierung eines solchen Ver-
fahren stellt die robotergesteuerte Lawinen-
suche dar, die sich der Gauÿsschen Sum-
me bedient, um die Lokalisierung fortlau-
fen zu präzisieren20 . Nach wenigen Messun-
gen ist die Lokalisierung mit ausreichend
hoher Wahrscheinlichkeit durchgeführt und
der Suchpfad führt direkt zum Opfer (Abb.
Abbildung 2.8.: Betrag des Feldstärkevek-
2.7(b)) tors um den Verschütteten
Inwiefern der Vorteil einer nur etwas kür- bei zwei- und dreiantenni-
zeren Suchzeit den hohen Aufwand un- gen LVS-Geräten
ter Inkaufnahme einer geringeren Ausfall-
sicherheit rechtfertigt, bleibt abzusehen bis zung für den Gesamtbetrag des magneti-
die ersten Implementierungen der Technik schen Feldstärkevektors der wahrscheinli-
Marktreife erlangen. che Betrag der dritten Antenne ermittelt.
Dies hat sich aber eher nicht bewährt, wes-
2.3.2.3. Problematik bei zweiantennigen halb des Stand der Technik dreiantennige
Geräten LVS-Geräte mit DSP und sehr schnellem
ADW sind. Auf mögliche Weiterentwick-
Heutzutage haben fast alle21 erhältlichen
lungen wird noch in 4 eingegangen.
Geräte drei Antennen. Dies hat den Haupt-
vorteil, dass der gesamte räumliche Feld-
stärkevektor aufgezeichnet wird.
In der Praxis kann es bei zweiantennigen
LVS-Geräten dazu kommen, dass einerseits
falsche Intensitätsmaxima und andererseits
anstelle des wahren Maximums ein Mini-
mum im Nahbereich um den Verschütteten
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
angeboten. Dabei wurde aus den Messwer-
ten der echten Antennen und einer Schät-
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

15
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
len erst kurz die Vorüberlegungen zum Bau diese aber einen leistungsstarken und auch
dargelegt werden, um dann auf die Hard- teuren DSP 1 und ADW.
und Software-Entwicklung einzugehen. An- Daher wird hier der Ansatz der analo-
schließend werden die Ergebnisse der Feld- gen Demodulation (vgl. 2.3.2.1) verwendet
versuche mit der selbst gebauten Hardware und in 3.3.2.6 ein Vorschlag zur Minimie-
vorgestellt. rung der dadurch entstehenden Nachteile
gemacht.

3.1. Vorüberlegungen zum


Bau 3.2. Hardware
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 Emp-
auswertung liegen. Daher wurde auf die Im-
fang des Signals mit anschließender Ver-
plementierung eines Senden-Modus verzich-
arbeitung und Analyse dar. Ebenfalls Er-
tet. Ebenfalls nicht im Vordergrund stan-
wähnung soll auf die Hardware zur In-
den praktische Erwägungen wie Maximie-
teraktion mit dem Benutzer und die Im-
rung der Batterielaufzeit, Wasserdichtig-
plementierung eines zusätzlichen Magneto-
keit, kompakte Größe, Widerstandsfähig-
meters, welches für die Suchalgorithmus-
keit und geringes Gewicht. Kurzgesagt han-
Entwicklung in 3.3.2.6 relevent ist, eigegan-
delt es sich um eine Machbarkeitsstudie des
gen werden. Ein Schaltplan des gesamten
Eigenbaus eines derartigen Geräts.
Aufbaus ist in Anhang A zu sehen.

3.1.1. Technische Erwägungen


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

16
3. Eigenbau

bene Resonanzfrequenz ergibt sich aus der skop angeschlossen, durch das das Signal
Thomson-Gleichung 2 eines sich im Sendemodus befindliches LVS-
Gerät visualisiert werden kann (Abb. 3.2).
1
f0 = √ (3.1) Der Drehkondensator wird so eingestellt,
2π LC
dass die Signalamplitude ein Maximum er-
für die Induktivität der Spule ein Wert zwi- reicht. Es zeigt sich, dass dieser Wert un-
schen 0, 46 und 4, 04 mH. Solch große In- gefähr 20 mV beträgt. Dieser Vorgang wird
duktivitäten sind in Luftspulen nur schwer für alle drei Empfangsschwingkreise durch-
zu realisieren. Daher wird ein Ferritkern in geführt.
der Spule verwendet. Messungen3 haben er-
geben, dass die Induktivität einer Luftspu-
le sich durch das Einfügen eines Ferritkerns
um das 28fache vergrößert. Nach der Glei-
chung4
N2
L=µ 0A (3.2)
l
ergibt sich damit für die Anzahl an Win-
dungen ein Wert zwischen 57 und 200. Um
eine gewisse Materialtoleranz einzubezie-
hen, werden um den Kern 100 Windun- Abbildung 3.2.: Visualisierung des HF-
Signals am Oszilloskop
gen hochwertiger HF-Litze gewickelt (Abb.
3.1(b)), was einer Induktivität von 1, 4 mH
entspricht.
3.2.2. Verarbeitung des Signals

Der nächste Schritt ist die analoge Ver-


stärkung und Demodulation des vorhan-
denen Hochfrequenz-Signals. Es hat sich
gezeigt5 , dass sich der integrierte Schalt-
kreis SA605D, der eigentlich als FM-Mixer
konzipiert ist, gut als gleichzeitiger Signal-
verstärker und Demodulator eignet, da er
(a) Drehkondensator (b) Fer- rauscharm und 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
3.2.1.2. Resonanzfindung bewirken sollen. Dem SA605D vorge-
schaltet ist ein an den Schwingkreis
Um den Drehkondensator auf den für Reso-
angeschlossener Vorverstärkungsschaltkreis
nanz erforderlichen Wert einzustellen, wird
mit einem BF245 -Transistor, welcher auch
der Schwingkreis parallel an ein Oszillo-
für die Impedanzanpassung des Schwing-
2
siehe Hammer u. a. (2007)
3 5
siehe Elexs (2008) siehe Calia (2002)
4 6
siehe Hammer u. a. (2007) siehe NXP (1997)

17
3. Eigenbau

kreises an die Eingangsimpedanz des


ersten Filters und damit die Vermeidung
von energetischen Verlusten zuständig ist.
Der SA605D hat einen RSSI 7 -Ausgang,
welcher in logarithmischer Proportionali-
tät zur Signalamplitude 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
schnelle Rechenoptionen optimierten DSPs
100 nF RSSI
100 nF

5,1 kΩ
100 nF 100 nF
einen gewöhnlichen Mikrocontroller einzu-
setzen. Bei der Suche nach einem passen-
den Mikrocontroller wurde vor allem auf
folgende Kriterien geachtet: Einfaches Pro-
grammierinterface, moderne Programmier-
100 nF
10 nF 10 nF 10 nF 10 nF 10 nF 10 nF
sprache, niedrige Kosten, genügend Ein-
100 kΩ

6,8 µF und Ausgänge, möglichst schon vorhan-


100 nF dener ADW und schon vorhandener An-
100 nF
schluss 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- Abbildung 3.5.: Arduino Duemillanove
on für eine Antenne. Diese wurden auf je
einem Steckbrett montiert (Abb. 3.4) und Es hat sich herausgestellt, dass der Ar-
haben jeweils drei Anschlüsse: Einen 5 Volt- duino Duemillanove (Abb. 3.5), eines der
Eingang, einen Erdungseingang und besag- Controllerboards des gleichnamigen Open-
ten RSSI -Ausgang Source-Projekts, gut geeignet ist. Er wird
mit einer eigenen, leicht erlernbaren und C-
3.2.3. Analyse des Signals ähnlichen Programmiersprache gesteuert,
Die Spannungen an den drei RSSI - hat 18 digitale Ausgänge zur Ansteuerung
Ausgängen sollen digital analysiert werden. von Peripherie und sechs analoge Eingän-
Nach den in 3.1.1 beschriebenen Erwägun- ge mit angeschlossenem ADW. Die Pro-
gen wurde entschieden, anstelle eines für grammierung läuft über USB, die Strom-
7
Received Signal Strength Indicator
zufuhr wahlweise über USB oder Batterie.
8
siehe NXP (1997) Der Preis liegt bei unter 20 e.

18
3. Eigenbau

3.2.4. Magnetometer wie möglich an die Hand gegeben werden.


Daher wurde neben der visuellen Steue-
Für den in 3.3.2.6 beschriebenen Suchal-
rung ein Lautsprecher implementiert, des-
gorithmus ist es vorteilhaft, die Referenz
sen Lautstärke proportional zur Signalam-
einer absoluten Richtungsangabe für jede
plitude geregelt wird. Der auf der techni-
Messung zu haben. Daher wird ein digita-
schen Grundlage des piezoelektrischen Ef-
ler Kompass, der nach dem Funktionsprin-
fekts 9 basierende Lautsprecher wird sehr
zip von zwei senkrecht aufeinander stehen-
einfach über lediglich zwei Pins an den Con-
den Hall-Sonden zur Messung des Erdma-
troller angeschlossen (Abb. 3.6(c)).
gnetfelds beruht, integriert. Es wurde der
HM55B gewählt. Abbildung 3.6(a) zeigt
den Anschluss an den Mikrocontroller. Ne- 3.3. Software
ben den beiden Pins für die Stromversor-
Der zentrale Teil eines digitalen LVS-Geräts
gung gibt es drei digitale Ein-/Ausgänge,
ist jedoch nicht in der Hardware, sondern in
die für Taktgebung, Datentransfer und Ak-
der Software zu sehen. Die Entwicklung der
tivierung zuständig sind.
Software lässt sich in die Teilbereich Signal-
analyse, Signalverarbeitung und Ansteue-
rung der Peripherie unterteilen.
5V
16 x 2
LCD
5V

3.3.1. Schematik der Software


(a) Kompass (b) LCD-Dis- (c) Lautspre-
play cher Die Struktur der Software soll darauf hin-
zielen, dass der Prozess zwischen Signal-
Abbildung 3.6.: Anschluss der Peripherie
an den Mikrocontroller empfang und Ausgabe der vorgegebenen
Bewegungsrichtung für den Benutzer mög-
lichst kurz gehalten wird. Das Hauptpro-
3.2.5. Benutzerinteraktion blem besteht darin, dass viele Schritte mög-
lichst gleichzeitig geschehen müssen, da ne-
3.2.5.1. LCD-Display
ben dem ständigen Auslesen der Signal-
Um dem Suchenden den Weg zum Ver- amplituden aller drei Antennen auch noch
schütteten zu weisen und andere Infor- die Werte des Kompasses analysiert, das
mationen darzustellen, wurde ein LCD- Display und die Lautsprecher angesprochen
Display gewählt, da es vielseitig verwend- und der eigentliche Suchalgorithmus in fes-
bar ist. So können sowohl Text, als auch ten Intervallen aufgerufen werden müssen.
Zahlen sowie primitive Grafiken angezeigt Der Prozessor des Arduinos unterstützt
werden. Der Anschluss erfolgt neben den kein Multitasking 10 , weshalb, um etwas
beiden Pins für die Energieversorgung le- dem Multitasking ähnliches zu simulieren,
diglich über einen weiteren Pin, der die dar- im Zentrum des Programmablaufs eine sich
zustellenden Informationen über ein seriel- immer wiederholende Schleife steht, die bei
les Interface überträgt (Abb. 3.6(b)). 9
Bestimmte Materialen verformen sich beim An-
legen einer Spannung — Hier wird die Membran
3.2.5.2. Piezo-Lautsprecher durch Wechselstrom einer bestimmten Frequenz
zu mechanischer Vibration dieser Frequenz an-
geregt, wodurch ein Ton entsteht
In Stresssituation wie einer Verschüttung 10
Fähigkeit mehrere Prozesse gleichzeitig auszu-
sollten dem Suchenden so viele Hilfsmittel führen

19
3. Eigenbau

Kompass
jedem Durchlauf prüft ob seit der letzten
maxX, maxY, maxZ, averageCompassAngle()
minX minY minZ
Durchführung einer bestimmten Aufgabe
schon wieder das für den Aufgabenaufruf analyseSignal()
θ,d

festgelegte Zeitintervall verstrichen ist und readX() Int: 1000


searchDisplay()

ms

die Aufgaben in diesem Fall aufruft. Die- Display

readY() Int: 20 ms loop() Int: 50 ms


se loop()-Funktion adressiert alle Funktio-
nen und speichert nach jedem Aufruf des- readZ()
Int: 2 ms generateSound()

sen Zeitpung ab, um über das festgelegte Signalerfassung


Lautsprecher
Signalverarbeitung
Zeitintervall den Zeitpunkt für den nächs-
ten Aufruf festzulegen. Abbildung 3.7.: Software Schematik
Die Funktionen readX(), readY() und
readZ() lesen im Intervall von 20 ms die 3.3.2. Technische Implementierung
Amplitude der drei Antennensignale aus
Im Folgenden soll eine Erläuterung der pro-
und speichern den minimalen und den ma-
grammiertechnischen Realisierung der in
ximalen Wert jeder Antenne im Laufe von
3.3.1 beschriebenen Funktionalität erfol-
1000 ms in die Variablen maxX und minX,
gen.
beziehungsweise maxY und minY und
maxZ und minZ. Die Funktion analyseSi-
3.3.2.1. Schleifenfunktion
gnal() wird im Intervall von 1000 ms aufge-
rufen und errechnet aus den gesammelten Den Kern des Programms bildet die loop()-
Amplitudenwerten der Antennen und der Funktion. Die einzig zu erfüllende Funk-
aktuellen Kompass-Ausrichtung den abso- tionalität besteht darin, den Zeitpunkt des
luten Winkel θ der Feldlinienrichtung und letzten Aufrufs einer Funktion zu speichern
die Signalstärke und speichert diese Werte und Funktionen aufzurufen, wenn seit dem
in Variablen. In einem Interval von 50 ms letzten Aufruf mehr Zeit als das voreinge-
wird die Funktion searchDisplay() aufgeru- stellte Interval vergangen ist. Dazu werden
fen, die neben der Berechnung der Entfer- für die Aufgaben zuerst in der Präambel die
nung zum Verschütteten aus der Signalstär- benötigten Variablen initialisiert und die
12
ke auch für die Ausgabe der Richtung der Intervalle in Millisekunden festgelegt:
Feldlinie relativ zur Geräteachse zuständig i n t r e a d I n t = 20
long l a s t R e a d i n g ;
ist11 , was durch eine Verrechnung von dem
int a n a l y s i s I n t = 1000;
in θ gespeicherten Winkel und der aktuel- long l a s t A n a l y s i s ;
len Kompassausrichtung geschieht. Zu gu- int soundInt = 3000;
long l a s t S o u n d ;
ter Letzt wird im Abstand von 3 ms ge- int d i s p l a y I n t = 5 0 ;
prüft, ob gerade ein Signalpuls vorliegt, wo- long l a s t D i s p l a y ;

nach gegebenenfalls der Lautsprecher ent- Die loop()-Funktion selbst ist sehr simpel
sprechend der Signalamplitude eingeschal- aufgebaut. Es wird jeweils über ein if -
tet wird. Statement überprüft, ob seit dem letzten
Eine Visualisierung des beschriebenen Aufruf der Funktion mehr als das vorge-
Programmablaufs ist in Abbildung 3.7 zu sehene Zeitintervall vergangen ist und bei
sehen. Bedarf die jeweilige Funktion aufgerufen.
Der in Anhang B zu sehende tatsächliche
11
Dies wird durch einen Pfeil dargestellt, in dessen
12
Richtung sich der Suchende drehen soll s bei soundInt

20
3. Eigenbau

Source-Code weicht leicht ab, da manche wird einfach durch ein if -Statement imple-
Operationen länger als 3000 s dauern und mentiert, das überprüft ob der vorhandene
damit die Überprüfung, ob wieder ein Ton Wert kleiner als der vorhandene minimale
ausgegeben werden muss mehrmals in jeder oder größer als der maximale X-Wert ist.
Schleife stattfindet. Danach wird der jetzige X-Wert in der Va-
void l o o p ( ) { riablen prevValueX für die Vergleichsmög-
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 ) { lichkeit mit der nächsten Messung gespei-
readZ ( ) ;
readY ( ) ; chert.
readX ( ) ; void readX ( ) {
l a s t R e a d i n g=m i l l i s ( ) ; valueX=analogRead ( 3 ) ;
} i f ( valueX<minX ) minX = 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 i f ( valueX>maxX) maxX = valueX ;
) { 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 () ;
l a s t D i s p l a y=m i l l i s ( ) ; für die Ansteuerung des Displays wur-
}
de die Funktion searchDisplay() implemen-
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 ) {
generateSound ( ) ; tiert, welche die Entfernung zum Verschüt-
l a s t S o u n d=m i c r o s ( ) ; teten in Metern und die absolute Richtung
}
} der Feldlinie aus Variablen ausliest, worauf-
hin sie sich um die Darstellung auf dem
Display kümmert. Die Richtung wird da-
3.3.2.2. Verarbeitung des Signals bei alle 50 ms über die Funktion direc-
Die für die Signalverarbeitung zuständigen tionDisplay(), die Entfernung alle 1000 ms
Funktionen readX(), readY() und readZ() über die Funktion distanceDisplay() aktua-
sind allesamt identisch aufgebaut, weshalb lisiert. Ein Mockup der Darstellung ist in
die Programmierung hier nur exemplarisch Abbildung 3.8 zu sehen. Eine Programmier-
für readX() gezeigt werden soll. In der Code-Wiedergabe der beiden Darstellungs-
Präambel werden wiederum die notwendi- funktionen wird hier nicht als wichtig genug
gen Variablen initialisiert. minX und maxX erachtet, da viele Display-spezifische Eigen-
beinhalten die minimalen und maximalen heiten in der seriellen Kommunikation be-
Werte in einem Interval von einer Sekun- achtet werden müssen und dies zu weit vom
de und valueX speichert den aktuellen Le- Thema führen würde, kann jedoch in An-
sewert, prevValueX den vorherigen zu Ver- hang B eingesehen werden. Der Aufruf die-
gleichszwecken. ser beiden Funktionen funktioniert folgen-
dermaßen: Es wird überprüft, ob sich die
int minX ;
int maxX ; Signalstärke seit dem letzten Aufruf geän-
int valueX ; dert hat und es wird in diesem Fall die
int prevValueX ;
Funktion zur Anzeige der Entfernung adres-
Der aktuelle X-Wert wird über die Funk- siert und andernfalls die zur Aktualisierung
tion analogRead() mit dem Argument des der Richtung. Das häufige Aktualisieren der
Steckplatzes des Pins erlangt. Die Funktio- Richtung ist nötig, da der Suchende beim
nalität zur Findung von minX und maxX Drehen unmittelbares Feedback bekommen

21
3. Eigenbau

soll, wie weit er sich noch zu drehen hat. zu machen. Zuerst wird in der Präambel der
Dies geschieht über einen Vergleich der ab- Steckplatz des Lautsprecher-Pins definiert:
soluten Feldlinienrichtung und der absolu- i n t s p e a k e r P i n =11;
ten Geräterichtung.
An den Lautsprecher wird für den Zeitraum
void s e a r c h D i s p l a y ( ) {
von 3000 µ s Spannung angelegt, um dann
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 ) {
directionDisplay ( getDirection () ) ; nach 3000 µ s Pause wieder Spannung an-
} zulegen. Die angelegte Spannung ist für die
else {
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 an-
dererseits der Ton bei ausgeschaltetem Sen-
der 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

Der Suchalgorithmus an sich hat prinzi-


Es wurde die Funktion int compassAngle()
piell die drei Teilaufgaben, aus den indu-
implementiert, welche den aktuellen Win-
zierten Spannungen in den drei Antennen
kel ausliest und ihn als Variable zurückgibt.
die jeweiligen Signalstärken zu ermitteln,
Auch hier wird kein Source-Code gezeigt,
die Entfernung zum Verschütteten aus die-
kann aber im Anhang B eingesehen werden.
sen auszurechnen und die relative Richtung
der Feldlinie zum Gerät zu ermitteln. Dazu
3.3.2.5. Ansteuerung des Lautsprechers
wurde die alle 1000 ms aufgerufenen Funk-
Für die Ansteuerung des Lautsprechers tion analayseSignal() und die beiden von
würde es prinzipiell zwei Möglichkeiten der Funktion searchDisplay() aufgerufenen
geben: Ein besseres Signal könnte durch Methoden getDistance() und getDirection()
eine höhere Tonfrequenz wiedergegeben implementiert.
werden oder eine höhere Lautstärke. Da
die Frequenz der Schwingung des Piezo- analyseSignal() Die Funktion analyseSi-
Lautsprechers von dem Zeitintervall zwi- gnal() ist verantwortlich für die Berechnung
schen dem An- und Ausschalten des der Signalstärken der drei Antennen in mW.
Lautsprechers abhängt und eine Intervall- Dabei ist zu beachten, dass die induzier-
Änderung im Programmablauf eher schwie- ten Spannungen in einem logarithmischen
rig zu realisieren ist, wurde entschieden, den Zusammenhang zu der tatsächlichen Strah-
Signalempfang über die Lautstärke deutlich lungsleistung stehen. Dem Datenblatt des

22
3. Eigenbau

SA605D 13 ist die Umrechnung der induzier- achtfache. Da die Feldlinien in beide Rich-
ten Spannung in Volt in die Strahlungsleis- tungen zum Ziel führen, sind zwei mögliche
tung in mW zu entnehmen: Winkel richtig und zwei falsch. Der Winkel
− 130+20∗ Uind
relativ zur Geräteachse14 beträgt:
S = 10 10 (3.3)
ampX
α = arctan (3.5)
Die Funktion analogRead() des Arduino lie- ampY
fert allerdings keinen Wert für die Span- Die vier möglichen Winkel sind damit α
nung selbst, sondern einen Wert zwischen 0 und −α . α −180◦ und −α + 180◦ werden
und 1023, was Spannungen zwischen 0 und nicht berücksichtigt, da sie die selben Feld-
5 V entspricht, wodurch sich nach obiger linien beschreiben. (Abb 3.9).
Gleichung ergibt:

X-Antenne
− 130+100∗ valueX
1024
S = 10 10 (3.4)
-α α

ampX
Die Amplitude des Signals ergibt sich dann
Y-Antenne -ampY ampY

nach Abzug des minimalen Wertes. Pro-

-ampX
grammiertechnisch werden die Werte nicht
α-180° -α+180°
als mW sondern als 10−9 mW abgespei-
chert, da die Werte andernfalls zu klein
würden.
double ampX = pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ (
Abbildung 3.9.: mögliche Richtungen der
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 )
Feldlinie
minX / 1 0 2 3 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
double ampY = pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( Die Funktion compassAngle() gibt für die
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 ) Ausrichtung der X-Achse des Geräts einen
minY / 1 0 2 3 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ; Winkel zwischen −180◦ und 180◦ zurück.
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
Dieser soll dann mit den vier möglichen
− pow ( 1 0 . 0 , ( ( − 1 3 0 . 0 ) + 1 0 0 . 0 ∗ ( f l o a t ) Winkeln für die Feldlinienrichtung verrech-
minZ / 1 0 2 3 . 0 ) / 1 0 . 0 ) ∗ 1 0 0 0 0 0 0 0 0 0 ;
net werden, um vier absolute Gradzahlen
Die skalare Größe des Feldstärkevektors zu erhalten: θ1 = compassAngle + α und
wird durch den Satz des Pythagoras berech- θ2 = compassAngle −α .
net: Programmiertechnisch wird dabei noch
s i g n a l S t r e n g t h = s q r t ( pow (ampX, 2 )+pow ( jeweils überprüft, ob der errechnete Wert
ampY, 2 )+pow (ampZ , 2 ) ) ;
180 überschreitet oder -180 unterschreitet:
Auch der Winkel θ, der die absolute Rich- i n t absAng = compassAngle ( ) ;
tung der Feldlinie angibt, wird in der Funk- i n t a l p h a 1 = atan (ampY/ampX) ∗ 180/ PI ;
int alpha2 = − alpha1 ;
tion analyseSignal() bestimmt. Es wird nur i n t t h e t a 1 = absAng + a l p h a 1 ;
der Winkel in Richtung der XY-Ebene be- i n t t h e t a 2 = absAng + a l p h a 2 ;
i f ( t h e t a 1 >180) t h e t a 1=− 360+t h e t a 1 ;
stimmt, da für die Suchrichtung ein nach 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 ;
unten oder oben zeigender Feldstärkevektor i f ( t h e t a 2 >180) t h e t a 2=− 360+t h e t a 2 ;
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 ;
nicht relevant ist. Zudem entsteht dadurch
nur eine vierfache Mehrdeutigkeit und keine 14
Diese entspricht der Richtung der Antenne in X-
13
siehe NXP (1997) Richtung

23
3. Eigenbau

Mit nur einer Messung zu entscheiden, wel- Werte der Antennen auf den Ausgangswert
cher Wert der richtige ist, ist nicht möglich. zurückgesetzt:
Sind jedoch zwei Messungen in einer unter- minX=1023;
schiedlichen Richtung am selben Ort vor- maxX=0;
minY=1023;
handen, ist dies möglich. Dabei wird über-
maxY=0;
prüft, welcher Messwert nach zwei Messun- minZ =1023;
gen der wahrscheinlichere ist. Wurde das maxZ=0;

Gerät seit der letzten Messung beispielswei-


se nach rechts gedreht und es wird ein Ab-
nehmen des relativen Winkels festgestellt, oat getDistance() Die Funktion oat
ist die rechte mögliche Feldlinienrichtung getDistance() ist dafür verantwortlich aus
wahrscheinlich die richtige. Diese Überprü- der Signalstärke die Entfernung zu bestim-
fung wird nur durchgeführt, wenn das Ge- men. Wie in 2.1 dargelegt, gilt für den
rät seit der letzten vorhandenen Messung Zusammenhang zwischen Signalstärke und
um mehr als 10 gedreht wurde, um Mess- Abstand zum Verschütteten:
fehler zu vermeiden. Dazu werden die Werte
1
für den relativen Winkel und die Geräteaus- S (3.6)
d3
richtung in Variablen gespeichert:
Zur Berechnung der Entfernung musste
i f ( abs ( absAngle prevAbsAngle ) >10) {
i f ( ( absAngle>prevAbsAngle && alpha>
erst der konstante Proportionalitätsfaktor
prevAlpha ) | | ( absAngle< durch Messung ermittelt werden. Es ergab
prevAbsAngle && alpha<prevAlpha ) )
sich:
{
t h e t a=t h e t a 2 ;
} c = d3 S = 624 10 12
Wm3 (3.7)
e l s e i f ( ( absAngle>prevAbsAngle &&
alpha<prevAlpha ) | | ( absAngle<
prevAbsAngle && alpha>prevAlpha ) )
Die Funktion oat getDistance() ist somit
{ sehr einfach zu realisieren:
t h e t a=t h e t a 1 ;
} float getDistance () {
prevAlpha=a l p h a ; 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=absAngle ; }
}

Der in der Variablen theta gespeicherte


Wert gibt damit sekündlich aktualisiert die int getDirection() Auch die Funktion int
Richtung der Feldlinie an. Dieser kann dann getDirection() ist sehr simpel. Es wird
von der Funktion directionDisplay() ausge- der aktuelle Kompasswinkel aufgerufen und
lesen und ans Display übergeben werden. daraufhin aus dem absoluten Winkel für die
Der Suchalgorithmus führt den Suchenden Feldlinienrichtung der darzustellende relati-
demnach entlang einer Feldlinie zum Ver- ve Winkel errechnet:
schütteten. Dieser Suchpfad ist zwar natür- int g e t D i r e c t i o n ( ) {
lich nicht der kürzeste, führt aber sicher i n t compAng = compassAngle ( ) ;
i n t a l p h a=t h e t a compAng ;
zum Ziel. i f ( alpha >180) a l p h a= 360+a l p h a ;
Nach den Berechnungen werden in der e l s e i f ( alpha < 180) a l p h a=360+a l p h a ;
return a l p h a ;
analyseSignal()-Funktion auch noch die Va- }
riablen für die minimalen und maximalen

24
3. Eigenbau

3.4. Ergebnisse des 3.4.2. Software


Eigenbaus
Die Software hat sich in den Tests als durch-
Im Folgenden soll eine kurze für Hard-
aus zuverlässig erwiesen. Gerade der kriti-
und Software differenzierte Bewertung des
sche Teil, die Kompensation der Mehrdeu-
Eigenbau-Projekts erfolgen.
tigkeit des Signals, welche eine Folge der
rein analogen Demodulation ist, hat sich
3.4.1. Hardware
sehr bewährt. Durch den Kompass wurde
Abgesehen von den bereits in 3.1 als für in der großen Mehrheit der Fälle bereits
die Arbeit nicht betrachtenswert erachteten innerhalb weniger Sekunden die tatsächli-
Anforderungen an ein kommerzielles La- che Feldlinienrichtung identifiziert und an-
winensuchgerät, wie Wasserdichtigkeit und gezeigt. In der Praxis ist in diesem Punkt
kompakte Größe, kann der Eigenbau als Er- kaum ein Unterschied zu der wesentlich auf-
folg gesehen werden. Alle drei gebauten An- wändigeren Methode der digitalen Demo-
tennen empfangen das ausgesandte Signal, dulation zu sehen. Aufgrund der geringen
die Peripherie, wie Kompass, Lautsprecher Reichweite wurde auf eine Implementierung
und Display, funktioniert gut und auch die der Analyse von Mehrfachverschüttungen
Stromzufuhr über eine Batterie ist möglich. verzichtet, welche allerdings leicht zu ergän-
Problematisch an der selbst gebauten zen wäre, da die Software sehr modular und
Hardware ist zum einen die eingeschränk- erweiterbar aufgebaut ist. Es wurde auch
te Reichweite. Während moderne, kommer- verzichtet, eine Überprüfung zu realisieren,
zielle Geräte Signale in einer Entfernung ob die Signalstärke in der Bewegungsrich-
von bis zu dreißig Metern einen Verschüt- tung auf der Feldlinie stetig abnimmt, was
teten orten können, ist das selbst gebaute bedeuten kann, dass man den Verschütteten
LVS-Gerät bereits nach knapp 10 Metern in der anderen Richtung wesentlich schnel-
nicht mehr in der Lage, ein Signal von dem ler erreicht. Hier kann jedoch wohl auf den
Umgebungsrauschen zu unterscheiden. Dies Suchenden soweit vertraut werden, dass er
ist wohl unter anderem auf eher schlech- sich in diesem Fall selbständig umdreht.
te Empfangsschwingkreise zurückzuführen.
Positiv ist noch zu bemerken, dass der
Ebenfalls problematisch ist die unterschied-
modulare Aufbau in Verbindung mit der
liche Güte der Antennen. Die Antenne in
absoluten Richtungsangabe des Kompas-
X-Richtung empfängt beispielsweise in der
ses dafür sorgt, dass komplexere, den Weg
maximalen Amplitude ein Signal, das dop-
der Feldlinie abkürzende Suchalgorithmen
pelt so stark ist, wie das der Y-Antenne,
verhältnismäßig einfach zu implementieren
wodurch eine softwaretechnische Korrek-
sind.
tur nötig wurde. Zudem zeigen die Anten-
nen keine kosinusartige Richtcharakteristik, Problematisch bei der Prozessorwahl ist
sondern fallen im Bereich zwischen 20 und das fehlende Multitasking. Um entspre-
70 zu stark ab. Dies macht sich dadurch chende Funktionalität zu erlangen, mussten
bemerkbar, dass der relative Winkel zum programmiertechnisch viele unschöne Um-
Feldstärkevektor in nächster Nähe verhält- wege beschritten werden, um beispielsweise
nismäßig zu groß und andernfalls eher zu den Lautsprecher fortlaufend anzusprechen
klein geschätzt wird. (siehe Anhang B).

25
3. Eigenbau

3.4.3. Abschlieÿende Bewertung


Das selbstgebaute LVS-Gerät ist abgese-
hen von der fehlenden Wasserdichtigkeit
und Kompaktheit aufgrund der Reichwei-
te nur bedingt in der Praxis einsetzbar.
Der kompassgestützte Suchalgorithmus hat
sich allerdings als sehr effektiv erwiesen. Es
hat sich gezeigt, dass es durch den Kom-
pass praktisch nicht mehr notwendig wird,
die Phasenbeziehung zwischen den Signa-
len zu kennen. Dadurch wird der nötige
Rechenaufwand für die Signalanalyse mini-
miert, was bei gleichbleibender Rechenka-
pazität einen aufwändigeren Suchalgorith-
mus erlaubt. Gegen 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äzi-
ser» mache.

26
4. Ausblick

4. Ausblick
In dem folgenden Kapitel soll ein kurzer Signalfilterung. Intelligente digitale Fil-
Überblick darüber gegeben werden, welche ter können mit Hintergrundrauschen und
Entwicklungen im Bereich der LVS-Geräte Mehrfachverschüttungen wesentlich besser
in den nächsten Jahren zu erwarten sind. umgehen als analoge Band-Pass-Filter. Der
Dabei wird sowohl auf die rein technische bereits absehbare Preisverfall bei den Mi-
Machbarkeit, als auch auf den Nutzen im croprozessoren in Verbindung mit nichtsde-
praktischen Gebrauch eingegangen. stotrotz steigender Leistungsfähigkeit wird
die Geräte sowohl billiger als auch vielseiti-
ger machen.
4.1. Technische Entwicklung
Eine weitere für die Zukunft wichti-
Die technische Weiterentwicklung ist grob ge Überlegung wäre ein Überdenken der
in zwei Teile zu unterteilen: Zum einen Frequenzwahl. Die momentanen genutzten
wird es Fortschritte bei der Empfangstech- 457 kHz werden zwar von der Schneede-
nik und zum anderen bei der Suchtechnik cke kaum beeinflusst und befinden sich in
geben. einem geschützten Frequenzbereich, brin-
gen jedoch auch einige Nachteile mit sich.
4.1.1. Empfangstechnik Aufgrund der niedrigen Frequenz befindet
sich der gesamte Suchbereich im Nahfeld
Wie bereits dargelegt, bedarf es drei or-
des Senders. Die hohen Nichtlinearitäten in
thogonal angerichteter Antennen, um den
Verbindung mit verschiedenen Kopplungs-
kompletten magnetischen Feldstärkevektor
erscheinungen erschweren eine strukturier-
aufzuzeichnen. Dies ist heute bereits Stand
te Suche ungemein. Auch die Antennen-
der Technik und es ist absehbar, dass dies
größe bei der gewählten Frequenz und das
so beibehalten wird, da eine vierter An-
hohe auftretende atmosphärische Rauschen
tenne keine nennenswerten Vorteile bieten
stellen Probleme dar. Somit sollte geprüft
würde. Obwohl im Eigenbau gezeigt wurde,
werden, ob ein Überdenken der Frequen-
dass sich der Hauptnachteil der analogen
zwahl sinnvoll wäre. Natürlich würde dies
Demodulation, die fehlende Phasenbezieh-
einen schwerwiegenden Schritt bedeuten,
nung zwischen den Antennen1 , mittels eines
da Abwärtskompatibilität zu älteren Gerä-
Kompasses kompensieren lässt, gehört ein-
ten dieser sicherheitsrelevanten Anwendung
deutig der digitalen Demodulation die Zu-
eigentlich höchste Priorität hat.
kunft.
Die digitale Technik bietet neben der Es gibt Überlegungen, der Niederfre-
Möglichkeit der exakten und sofortigen quenzschwingung einer hochfrequente bei-
Richtungsbestimmung auch deutliche Vor- zumischen. Die entstehende Schwebung
teile in den Bereichen Signalempfang und würde von alten Geräten erkannt werden
1 und nichtsdestotrotz die Vorteile einer hö-
was eine Mehrdeutigkeit in der Signalrichtung
zur Folge hat heren Frequenz für neue Geräte nutzbar

27
4. Ausblick

machen. So könnten beispielsweise Zusatz- verwendeten Methoden sind sehr rechen-


informationen in das Signal hinein modu- intensiv und damit momentan wohl noch
liert werden. Diese könnten sowohl eine ein- nicht zu verwirklichen.
deutige Identifizierung jedes Geräts enthal-
ten, als auch eventuell Vitaldaten2 des Ver- 4.2. Bewertung der
schütteten senden. Somit könnten die ver-
schiedenen Signale bei Mehrfacherschütte-
bevorstehenden
rungen einerseits unterschieden werden und Entwicklungen
es könnte andererseits eine Priorisierung
Es bleibt jedoch abzuwarten, inwieweit
der noch lebenden Verschütteten erfolgen.
derartige Neuentwicklungen sinnvoll sind,
Eine höhere Frequenz hätte auch den
da mit ihnen zwangsweise eine ungemeine
Vorteil, dass man auf die Ferritkerne, wel-
Verkomplizierung des Problems einhergeht.
che das ausgesandte Feld weiter verzerren,
Gerade in diesem sicherheitsrelevanten For-
verzichten könnte. Die erforderte Sendeleis-
schungsgebiet sollte das Hauptaugenmerk
tung liegt bei höheren Frequenzen deutlich
bei jeder Entwicklung auf einer hohen Aus-
niedriger, wodurch die Batterielaufzeit er-
fallsicherheit liegen.
höht werden könnte.
Ein deutlich höheres Maß an Komplexi-
Somit sollte langfristig auf jeden Fall ge-
tät sollte nach Meinung des Autors nur für
prüft werden, ob ein Frequenzwechsel unter
den Fall auf sich genommen werden, dass
vertretbarem Aufwand umsetzbar ist.
bei gleich bleibender Zuverlässigkeit ein si-
gnifikant kürzerer Suchpfad erreicht wird.
4.1.2. Suchtechnik
Bereits bei dem heutigen Stand der Tech-
Die meisten auch kurz- bis mittelfristigen nik ist der kritische Faktor nicht mehr in
Fortschritte werden jedoch wohl im Bereich den Geräten zu sehen, sondern in der Fä-
der Suchtechniken erfolgen. Die neueste Ge- higkeit und Übung des Suchenden.
neration von LVS-Geräten versucht bereits
durch die zusätzliche Information der ab-
soluten Orientierung mithilfe eines Kom-
passes und statistischer Analysen den her-
kömmlichen Suchpfad über die Feldlinien
abzukürzen.
Der nächste logische Schritt in dieser
Entwicklung wäre, die einzelnen Messergeb-
nisse auch mit einer absoluten Positionsan-
gabe zu verknüpfen. Aufgrund der verhält-
nismäßigen Ungenauigkeit von GPS ist ein
System der Trägheitsnavigation denkbar.
Wie in Kapitel zwei dargelegt, kann so die
exakte Position des Verschütteten bereits
nach wenigen Messungen mit hoher Wahr-
scheinlichkeit festgelegt werden. Die dafür
2
Denkbar wären Daten über Herzfrequenz oder
Körpertemperatur

28
Abbildungsverzeichnis

Abbildungsverzeichnis

1.1. Schneebrettlawine mit markanter Abrisskante . . . . . . . . . . . . . . . . 6


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

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


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

3.1. Elemente des Resonanzschwingkreises . . . . . . . . . . . . . . . . . . . . 17


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

29
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 Hochfre-
quenztechnik. 2. Auflage. Oldenbourg Verlag: München, 2006

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

[Gerthesen 1956] Gerthesen, Christian: Physik. 4. Auflage. Springer Verlag: Berlin,


1956

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


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

[Hereford u. Edgerly 2000] Hereford, John ; Edgerly, Bruce: 457 KHz electromagne-
tism and the future of avalance transceivers / ISSW. Boulder, 2000. Forschungsbe-
richt

[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, Univer-
sity 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

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


2006. Forschungsbericht

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


2007. Forschungsbericht

30
Anhang A. Schaltplan

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
100 nF
100 nF
5,1 k!
100 nF 100 nF
Kompass
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.

Schaltplan
6,8 µF
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;
48 i n t minX ;

32
Anhang B. Source-Code

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 = 2 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 ( ) ;
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 ;

33
Anhang B. Source-Code

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 ) ;
165 }
166
167 int g e t D i r e c t i o n ( ) {

34
Anhang B. Source-Code

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 ;
226 i f ( valueY>maxY) maxY = valueY ;
227 prevValueY = valueY ;
228 }
229

35
Anhang B. Source-Code

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 ;
287 }
288
289
290 return S h i f t I n _ r e s u l t ;
291 }

36
Anhang B. Source-Code

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

37
Anhang B. Source-Code

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 x0 f , 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 x0 f , 0 x07 ,
384 0 x1c , 0 x1e , 0 x07 , 0 x03 , 0 x03 , 0 x03 , 0 x1f , 0 x 1f ,
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 }
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 ( ) ;

38
Anhang B. Source-Code

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 {
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 ( ) ;

39
Anhang B. Source-Code

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) {
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) {

40
Anhang B. Source-Code

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 ( ) ;
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 ( ) ;

41
Anhang B. Source-Code

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 ( "<" ) ;
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 ( ) ;

42
Anhang B. Source-Code

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 ( ) ;
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) {

43
Anhang B. Source-Code

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 ( " " ) ;
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" ) ;

44
Anhang B. Source-Code

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
799 }

45