Fuchsjagdsender

Der kleine Fox

 

Wer schon einmal an einer Fuchsjagd teilgenommen hat, weiß, wie viel Spaß sie bereiten kann.

Für die Fuchsjagden des Ortsvereins Soest wurde ein einfacher 80-m-Fuchs aus zwei bestehenden Lösungen kombiniert. Nachdem die Mitglieder unseres Ortsvereins auf den Geschmack gekommen waren, entwickelte sich die Fuchsjagd zu einer beliebten Gelegenheit, sich zu treffen, in freundlichem Wettbewerb gegeneinander anzutreten und die Veranstaltung mit einem gemütlichen Grillen abzuschließen. Dabei wird auch der Siegerpreis, ein Fuchsschwanz, verliehen.

Das notwendige Equipment haben wir bisher vom DARC-Distrikt ausgeliehen. Doch bald kam der Wunsch auf, eigene Peilempfänger zu bauen. Die AATiS [3] bietet hierfür einen hervorragenden Bausatz an, aber was ist mit den Füchsen?

Teils abgeschaut, teils selbst entwickelt...
So entstand der FOX, unser kleiner Fuchsjagdsender. Der analoge, senderseitige Teil des FOX wurde von OM Bernd Höfner, DL1AQ, als "Minifuchssender 80 m mit C-MOS-Steuerung" in der cq-dl 9/2000 vorgestellt (mehr dazu in der genannten Ausgabe oder unter www.ardf.de).

Das kompakte, frequenzstabile und leicht nachzubauende Design gefiel mir so gut, dass ich das Schaltbild des Senders für den FOX fast unverändert übernommen habe. Die von OM Bernd mit nur zwei IC realisierte Steuerung war für unsere Zwecke jedoch nicht geeignet. Sie bot lediglich eine einstellige Buchstabenkennung und war als Dauerläufer zwar für Übungsfuchsjagden nützlich, entsprach jedoch nicht den Anforderungen für Distriktfuchsjagden nach gültigen Regeln.

Bernd Höfners Oszillator wurde daher mit einer neuen Steuerung namens Foxcontrol kombiniert, die ich zuvor einmal beschrieben habe. Diese basiert – wie könnte es heute anders sein – auf einem Mikroprozessor. Der zwanzigpolige IC von Atmel übernimmt die komplette Steuerung und synchronisiert die Zeit über eine RTC PCF8583 via I2C-Bus.

Fünf Füchse im Einsatz
Bei einer "richtigen" Fuchsjagd kommen fünf Füchse zum Einsatz, die jeweils abwechselnd für eine Minute senden. Auf der Platine gibt es hierfür fünf Jumper, die nach Masse geschaltet werden. Auf jedem Fuchs wird nur ein Jumper gesetzt, der entsprechend mit Fox1 bis Fox5 gekennzeichnet ist: Fox1 für den ersten Fuchs, Fox2 für den zweiten usw. Ein Dauerläufer mit der Kennung MOE (also der Kennung des ersten Fuchses) wird erzeugt, wenn die Jumper für Fox1 und Fox5 gleichzeitig gesetzt werden. So kann auch mit einem einzigen Fuchs eine Übungsfuchsjagd veranstaltet werden, um sich mit der Technik vertraut zu machen.

Blick auf das Schaltbild
Die Frequenz wird durch den Quarz mit 3,579545 MHz bestimmt. Als Ringkern wird ein RIK16 verwendet, der unter dieser Bezeichnung bei [2] erhältlich ist. Auf den RIK16 wird eine Kupferdraht-Wicklung (0,3–0,4 mm) mit Mittelanzapfung aufgewickelt. Dafür benötigt man etwa 1 Meter Draht. Die Wicklung beginnt an Punkt A (Anfang) mit 30 Windungen, gefolgt von einer Mittelanzapfung (M) und weiteren 15 Windungen im gleichen Wickelsinn bis zum Anschluss E (Ende).

Nach dem Einlöten der Spule und einem erfolgreichen Funktionstest wird der Ringkern mit etwas Heißkleber fixiert, um ein Verrutschen zu verhindern. Die Werte für C9 (22n) und R7 (3k) sollten unbedingt eingehalten werden. Für C9 empfiehlt sich ein möglichst toleranzarmer Kondensator (X7R-5, 22n, 10 %), und für R7 sollte ein Metallschicht-Widerstand mit 1 % Toleranz verwendet werden.

Alle Kondensatoren, außer Elko C3 (Rastermaß 2,5 mm), haben ein Rastermaß von 5 mm.

 

schaltbild

 

Als Spannungsversorgung kommen 8 bis 12 Volt in Frage.

Die Versorgung des Prozessors erfolgt stabilisiert über einen 78L05-Regler.

Ein frischer 9-V-Batterieblock reicht für eine Fuchsjagd problemlos aus. Die gesamte Schaltung benötigt lediglich 12 mA im Standby-Betrieb und etwa 15 mA im Sendebetrieb.

Der Aufbau des Senders ist so unkompliziert, dass er nach dem Zusammenbau und dem Anschließen der Spannung auf Anhieb funktioniert. Erstaunlich ist, wie wenig empfindlich er auf Berührungen reagiert!

Da Sie vermutlich fünf Sender aufbauen werden, müssen diese synchron gestartet werden. Ein Synchronkabel kann alle Sender gleichzeitig starten. Alternativ genügt es, sie nebeneinander zu platzieren und die Sync-Taster der einzelnen Sender nacheinander in rascher Folge zu betätigen.

Der Sender sollte in einem zumindest spritzwassergeschützten (besser: wasserdichten) Kunststoffgehäuse untergebracht werden. Unser Ortsverband hat sich für das praktische und preisgünstige Halbschalengehäuse SD10 [2] entschieden. Die Halbschalen können ohne Werkzeug beliebig oft geöffnet und geschlossen werden.

Antenne und Erdspieß werden bequem über Bananenstecker angeschlossen. Für den Antennenanschluss ist eine rote Bananenbuchse oben im Gehäuse zu montieren, während für den Erdspieß eine schwarze Buchse auf der Bodenplatte eingesetzt wird. Die Buchse für den Erdspieß ist mit der Massefläche der Platine zu verbinden.

Als Antenne dient ein etwa 5 Meter langer Draht. Am oberen Ende wird eine M6-Mutter oder ein ähnliches Wurfgewicht angeknotet, am anderen Ende wird ein roter Bananenstecker angelötet. Als Erdspieß kann ein ca. 50 cm langer Schweißdraht verwendet werden. Dieser sollte stabil genug sein, um den Sender einige Zentimeter über dem Boden zu halten, damit er sichtbar bleibt und in nassem Gelände nicht im Wasser versinkt.

Falls kein Halbschalengehäuse verwendet wird, ist es praktisch, wenn das Gehäuse eine Klappe zum Batteriewechsel besitzt. Dies ist jedoch nicht zwingend erforderlich.

Unsere Vorgehensweise: Bevor die Sender im Gelände versteckt werden, entfernen wir die Deckel, setzen frische Batterien ein und legen die Sender nebeneinander. Anschließend betätigen wir zügig nacheinander die Sync-Taster: zuerst für Fuchs 1, dann Fuchs 2 und so weiter. Dieser Vorgang dauert weniger als eine Sekunde.

Falls sich die Betriebszeiten von Fuchs 5 und Fuchs 1 um weniger als eine Sekunde überschneiden, ist das unproblematisch. Danach verschließen wir die Gehäusedeckel wieder und verteilen die Sender im Gelände.

 

So geht’s: Die Fuchsjagd

In der Regel werden fünf CW-Sender im Gelände versteckt, die sich beim Senden jede Minute abwechseln. Genauer gesagt, sendet jeder Sender einmal alle fünf Minuten für eine Minute.

Zur Unterscheidung ist jedem Sender ein unverwechselbares Rufzeichen zugeordnet:

  • Fuchs 1: MOE
  • Fuchs 2: MOI
  • Fuchs 3: MOS
  • Fuchs 4: MOH
  • Fuchs 5: MO5

Im Morsecode sieht das wie folgt aus:

  • Das Rufzeichen beginnt mit „Dah Dah“ (– –), dem Morsezeichen für den Buchstaben M, gefolgt von „Dah Dah Dah“ (– – –), dem Zeichen für den Buchstaben O.
  • Danach variiert das letzte Zeichen, je nach Fuchs:
    • Fuchs 1: MOE – – – . (kurzes „Did“ für E)
    • Fuchs 2: MOI – – – .. (zwei Punkte für I)
    • Fuchs 3: MOS – – – ... (drei Punkte für S)
    • Fuchs 4: MOH – – – .... (vier Punkte für H)
    • Fuchs 5: MO5 – – – ..... (fünf Punkte für die Ziffer 5)

Diese prägnanten Rufzeichen wurden gewählt, damit alle Interessierten – ob SWL, Funkamateur oder Otto Normalbürger – an Fuchsjagden teilnehmen können.

Ablauf der Aussendungen:

  1. Fuchs 1 sendet in der ersten Minute: MOE – – – .
  2. Fuchs 2 sendet in der zweiten Minute: MOI – – – ..
  3. Fuchs 3 sendet in der dritten Minute: MOS – – – ...
  4. Fuchs 4 sendet in der vierten Minute: MOH – – – ....
  5. Fuchs 5 sendet in der fünften Minute: MO5 – – – .....
    Dann beginnt der Zyklus erneut.

Wie wird gepeilt?

  1. Einstellen des Peilempfängers
    Der Frequenzregler des Peilempfängers wird auf die Frequenz des Peilsenders (hier 3579 kHz) eingestellt. Die Lautstärke wird mit dem Potentiometer auf ein angenehmes mittleres Niveau geregelt.

  2. Minimumpeilung durchführen

    • Drehen Sie den Peilempfänger um 360 Grad. Dabei ergeben sich zwei Richtungen, in denen das empfangene Signal nur sehr leise zu hören ist.
    • Diese beiden Minima bilden eine gedachte Linie entlang der Ferritantenne. Auf dieser Linie liegt der Peilsender – entweder in die eine oder die andere Richtung.
  3. Richtungsbestimmung

    • Drehen Sie den Peilempfänger um 90 Grad, sodass Sie auf die Frontplatte des Geräts schauen.
    • Betätigen Sie den Taster:
      • Wird das Signal lauter oder bleibt es gleich laut, liegt der Sender vor dem Suchenden.
      • Wird das Signal leiser, liegt der Sender hinter dem Peiler.

    Wichtig: Während der Peilung darf weder der Aluminiumwinkel noch die Stabantenne berührt werden. Es gibt hier unterschiedliche Bauweisen, die alle entsprechend empfindlich reagieren.

  4. Bewegung zum Sender

    • Bewegen Sie sich in Richtung des Senders. Wiederholen Sie die Peilvorgänge regelmäßig, um die Richtung zu korrigieren.
    • Je näher Sie dem Sender kommen, desto lauter wird das Signal im Kopfhörer.
    • Stellen Sie die Lautstärke bei jedem Schritt so ein, dass Unterschiede deutlich hörbar bleiben.

Ziel der Fuchsjagd

Das Ziel ist es, alle Füchse in der kürzesten Zeit zu finden. Sieger ist, wer als Erster alle Sender geortet hat.

 

Stückliste der Bauelemente (für ein Fuchs)
Anzahl Bauelement
1 20-polige IC-Fassung
1 8-polige IC-Fassung
1 Quarz 12 MHz
1 Quarz 3,579545 MHz
1 RIK16 (Ringkern)
2 Widerstände 4k7
2 Widerstand 10k
1 Widerstand 20 k
1 Widerstand 140 Ohm
1 Widerstand 100 Ohm
1 Widerstand 3k, 1%
3 Keramikkondensatoren 27p
1 Trimmer gelb, Wert nicht kritisch
1 Trimmer violett 5-110p
3 Kondensatoren 100 n
1 Elko 4,7 uF, RM 2,5
1 Kondensator 22 nF
1 Kondensator 1n5
1 Kondensator 680 pF
1 Transistor BC547
1 Diode 1N4007 oder 1N4004
1 LED grün, 2 mA Typ
1 Spannungsregler 78L05
1 AT89C2051 Atmel Mikrocontroller, programmiert
1 IC PCF8583
1 Klemme für Spannungsversorgung
1 Taster (oder Synchronkabel mit Taster)
1 Gehäuse, z. B. Halbschalengehäuse SD10
2 Bananenbuchsen, für Erdspieß und Antenne
1 evtl. Halterung für Batterie
1 Anschluss-Clip für 9-V-Batterie

 

Download von Dateien zu diesem Projekt

EAGLE-Dateien, das Programm für den Prozessor als Basic- und BIN-Datei

und weitere Informationen zum Fox finden Sie hier zum Download.

 

Features:

  • kleine Platine mit Mikroprozessor AT89C2051
  • wenig Hardwareaufwand
  • preiswerter Aufbau

Wenig Aufwand bereitet die Steuerung des Senders, als Platine eignet sich auch ein Lochraster

Foxcontrol: Die Steuerung für den Fuchsjagdsender

Die Fuchsjagd ist nicht nur eine sommerliche Beschäftigung für Grünröcke – auch Funkamateure pirschen gern durch das Dickicht. Zum Glück geschieht das ohne Flinte und Gewehr: Den Vierbeinern wird bei einer Amateurfunk-Fuchsjagd kein Haar gekrümmt. Ausgestattet mit Empfänger, Antenne und Kopfhörer geht es mit viel Spaß in Wald und Feld.

Ob auf 2 m oder 80 m – gut versteckt im Unterholz wechseln sich die Füchse beim Senden ab, ganz nach dem Motto: „Jeder darf einmal“. Ziel der Fuchsjagd ist es, die versteckten Sender (Füchse) möglichst schnell zu peilen und zu orten. Manchmal sind bei einem Fuchs sogar kleine Aufgaben versteckt, die es zu lösen gilt.

In der Regel werden fünf CW-Sender im Grünen versteckt, die sich beim Senden jede Minute abwechseln. Genauer gesagt: Jeder Sender geht alle fünf Minuten für eine Minute auf Sendung. Zur Unterscheidung der Sender ist jedem ein unverwechselbares Rufzeichen zugeordnet.

  • Der erste Fuchs besitzt das Rufzeichen MOE.
  • Der zweite MOI,
  • der dritte MOS,
  • der vierte MOH,
  • und der fünfte MO5.

Im Morsecode sieht das so aus: Die Morsekennung beginnt mit „Dah Dah“ – das Morsezeichen für den Buchstaben M. Es folgt „Dah Dah Dah“ für den Buchstaben O, und das Rufzeichen des ersten Fuchses endet mit einem kurzen „Dit“ für das E.

Der zweite Fuchs ist ebenfalls leicht zu erkennen: Er sendet nach M und O zwei Punkte („Dit Dit“), das ist der Buchstabe I. Der dritte Fuchs sendet M und O, gefolgt von drei Punkten („Dit Dit Dit“), was das S ergibt. Beim vierten Fuchs folgen nach M und O vier Punkte, also ein H. Zuletzt sendet der fünfte Fuchs M, O und fünf Punkte („Dit Dit Dit Dit Dit“), was die Ziffer 5 ergibt.

Diese prägnanten Rufzeichen wurden gewählt, um allen Interessierten – ob SWL, Funkamateur oder Otto Normalbürger – die Möglichkeit zu geben, an Fuchsjagden teilzunehmen. Die Praxis zeigt, dass dieses System hervorragend funktioniert.

Winterzeit – Bastelzeit
In der kalten Jahreszeit pirscht kaum jemand durch das Unterholz. Dafür ist sie eine prima Zeit, die nächste Fuchsjagd vorzubereiten, etwa durch den Aufbau eines geeigneten Empfängers oder einiger Sender.

Die hier beschriebene kleine Schaltung „Foxcontrol“ ist eine Zeitsteuerung für Fuchsjagdsender und hält sich exakt an das MOE-System. Welchen Fuchs sie „spielen“ soll, erkennt Foxcontrol anhand des gesteckten Jumpers F1 bis F5. So wird bestimmt, ob die Schaltung als Fuchs 1, 2, 3, 4 oder 5 agiert. Natürlich darf nur ein Jumper gesteckt sein, damit der Mikrocontroller eindeutig zuordnen kann.

Der Jumper kann als Drahtbrücke ausgeführt werden und legt den betreffenden Eingang des Mikrocontrollers auf Massepotenzial. Zur Spannungsversorgung kommt ein 78L05 im Transistorgehäuse zum Einsatz, der maximal 100 mA liefert.

Der 8051-Abkömmling, ein Atmel AT89C2051 Mikrocontroller, wird mit stattlichen 12 MHz getaktet. Als einziges Bedienelement dient ein Taster, der die Schaltung mit weiteren Sendern zeitlich synchronisiert.

Für eine komplette Ausstattung zur Fuchsjagd wird man Foxcontrol fünfmal aufbauen. Zum Starten und Synchronisieren der Füchse drückt man die fünf Starttaster der Sender möglichst gleichzeitig kurz herunter. Alternativ reicht es aus, die Füchse nebeneinander zu legen und die Taster so schnell wie möglich nacheinander zu betätigen.

 

Das Schaltbild ist nicht besonders umfangreich: Die zentralen Elemente sind der Prozessor und die RTC (Real Time Clock) PCF8583.

Zeitsteuerung

Damit der Mikrocontroller die aktuelle Zeit – genauer gesagt, die Minuten – kennt, verwendet er eine kleine Echtzeituhr, die RTC. Diese RTC benötigt einen Quarz mit 32,768 kHz sowie eine variable Kapazität.

Die RTC stammt von Philips und wird über zwei Leitungen angesteuert: SCL (Serial Clock Line) und SDA (Serial Data Line). Das verwendete Protokoll ist I²C. Dabei sorgt SCL für den Takt des Datenverkehrs, während SDA die Datenübertragung übernimmt.

Beide Leitungen, SCL und SDA, sind zusätzlich auf den Stecker SL1 herausgeführt, ebenso wie +5V und GND. Dadurch kann die Steuerung problemlos um weitere I²C-Komponenten erweitert werden, die gegebenenfalls auf der Senderplatine untergebracht sind.

Ausgänge der Schaltung

Die Schaltung verfügt über drei wesentliche Ausgänge: PTT, /PTT und CW-OUT.

  • PTT (Push-to-Talk) bleibt während der Übertragung von Morsezeichen dauerhaft auf High-Pegel.
  • /PTT ist das invertierte Signal von PTT. Es wird während der Übertragung auf Masse (Low) gezogen. Beide Signale sind nicht speziell für Fuchssender vorgesehen, sondern können auch für andere Anwendungen mit herkömmlichen Funkgeräten genutzt werden.

Der dritte Ausgang, CW-OUT, ist speziell für den Fuchssender gedacht. Er arbeitet im Takt der CW-Zeichen (Continuous Wave). Sobald der Mikrocontroller ein Zeichen sendet, wird CW-OUT auf High-Pegel gesetzt. Im Ruhezustand verbleibt CW-OUT auf Low-Pegel.

Über einen Basiswiderstand kann CW-OUT direkt die Basis eines Transistors ansteuern, der den Fuchssender aktiviert und "on the air" bringt.

 

best

Der Bestückungsplan zeigt u.a. die Belegung der beiden 4-poligen Stecker

 

 

 

 

lay

 

Kaum größer als eine Streichholzschachtel: Das kompakte Layout

 

 

Der Aufbau

Die kleine Schaltung ist schnell bestückt.

Sie kommt mit einer einseitigen Platine und ohne Drahtbrücken aus.

Der Starttaster sollte so montiert werden, dass er aus dem Gehäuse herausschaut.

Dann muß man es nicht öffnen, um Foxcontrol zu synchronisieren.

 

Die Software...

...wurde in Basic geschrieben und ist dank der Subroutinen sehr übersichtlich.

Das folgende Listing zeigt unter anderem, wie man recht einfach Morsezeichen erzeugen kann.

 

Rem Steuerung für Fuchsjagdsender
Rem Bascom Compiler für 8051, Version 1.0.0.16
Rem by Michael Woeste, dg5dbz

' Hardware:

' Jumper, die bestimmen, welcher Fuchs es ist:
' P1.7 gesetzt für Fuchs 1 (sendet 1. Minute)
' P1.6 gesetzt für Fuchs 2 (sendet 2. Minute)
' P1.5 für Fuchs 3
' P1.4 für Fuchs 4
' P1.3 für Fuchs 5

' I2C:
' SDA auf P1.1
' SCL auf P1.0

' CW-Ausgabe auf P1.2
' Optionale, positiv arbeitende PTT auf P3.4
' Optionale PTT negativer Logik: /PTT an Pin P3.5

' Fuchs-Synchronkabel:
' Fuchs-Synchrontaster (Schliesser gegen Masse) an P3.7
' alle Füchse mit einem Kabel gleichzeitig synchronisieren
' oder mehrere Taster flott hintereinander drücken

' PCF8583
' Signal A0 auf GND

' mit 12 MHz getaktet
$crystal = 12000000

Config Scl = P1.0                                             ' hier ist SCL angeschlossen
Config Sda = P1.1                                             ' und hier SDA

Dim Fuchs1 As Bit
Dim Fuchs2 As Bit
Dim Fuchs3 As Bit
Dim Fuchs4 As Bit
Dim Fuchs5 As Bit
Dim Dummy As Bit
Dim Wadr As Byte , Radr As Byte                               ' Schreib- u. Leseadresse PCF8583
Dim On_air As Bit                                             ' Flag: Bin auf Sendung

Dim Sekunde As Byte , Minute As Byte                          ' für Zeit
Dim Temp As Byte                                              ' für alles und nichts
Dim D As Byte , I As Byte                                     ' in Rufz_senden benötigt

'bestimmt, welcher der 5 Füchse das ist
Declare Sub Senden_an
Declare Sub Senden_aus
Declare Sub Uhr_stellen
Declare Sub Hole_zeit
Declare Sub Rufz_senden
Declare Sub Readloop                                          ' wird von Rufz_senden aufgerufen


'Variablen-Initialisierungen
Dummy = 0
Fuchs1 = 0                                                    ' Flag: welcher Fuchs bin ich (1-5) ?
Fuchs2 = 0
Fuchs3 = 0
Fuchs4 = 0
Fuchs5 = 0

Wadr = &B10100000                                             ' 8583 mit A0 auf 0
Radr = &B10100001                                             ' 8583 mit A0 auf 0 !!


'Programm Start
'Initialisierungen
P1 = 255                                                      ' auf Eingang schalten
Reset P1.2                                                    ' cw aus
Call Welcher_fuchs                                            ' Abfrage Jumper
Call Senden_aus                                               ' zusätzliche PTT aus

'nur zum Test:
'Set Fuchs5
'Minute = 4



'Hauptschleife
Do

   If P3.7 = 0 Then
    Call Uhr_stellen                                          ' falls Sync-Signal auftritt
   End If

   Call Hole_zeit

   If Fuchs1 = 1 Then                                         ' falls ich der Fuchs 1 bin
      If Minute = 0 Then                                      ' falls erste Minute
         Set On_air                                           ' gehe auf Sendung
         Call Senden_an                                       ' zusätzlich PTT schalten
       Else                                                   ' falls nicht
         Reset On_air                                         ' bin nicht dran
         Call Senden_aus                                      ' PTT aus
      End If
   End If

   If Fuchs2 = 1 Then
      If Minute = 1 Then
         Set On_air
         Call Senden_an
       Else
         Reset On_air
         Call Senden_aus
      End If
   End If

   If Fuchs3 = 1 Then
      If Minute = 2 Then
         Set On_air
         Call Senden_an
       Else
         Reset On_air
         Call Senden_aus
      End If
   End If

   If Fuchs4 = 1 Then
      If Minute = 3 Then
         Set On_air
         Call Senden_an
       Else
         Reset On_air
         Call Senden_aus
      End If
   End If

   If Fuchs5 = 1 Then
      If Minute = 4 Then
         Set On_air
         Call Senden_an
       Else
         Reset On_air
         Call Senden_aus
      End If
   End If

   If Minute = 5 Then
      Call Uhr_stellen                                        ' sobald der 5. Fuchs fertig ist, alle Uhren auf 0:0
   End If

   If On_air = 1 Then
      ' Kennung geben
      Call Rufz_senden
      Wait 1                                                  ' eine Sekunde warten zwischen 2 Rufzeichen
   End If

Loop Until Dummy = 1                                          ' endlose Schleife
End


' liest Jumper aus
Sub Welcher_fuchs
   If P1.7 = 0 Then Set Fuchs1
   If P1.6 = 0 Then Set Fuchs2
   If P1.5 = 0 Then Set Fuchs3
   If P1.4 = 0 Then Set Fuchs4
   If P1.3 = 0 Then Set Fuchs5
End Sub


' zusätzliche PTT schalten
Sub Senden_an
   Set P3.4
   Reset P3.5
End Sub

' zusätzliche PTT aus
Sub Senden_aus
   Reset P3.4
   Set P3.5
End Sub

' Füchse haben die Rufzeichen MOE (Fuchs1) bis MO5 (Fuchs5)
Sub Rufz_senden                                               ' CW-Ausgang ist P1.2
'erst MO senden
   Restore Allfox:                                            ' m,o gilt für alle Füchse
   For I = 1 To 24
      Call Readloop                                           ' Read Data and Set/Reset Pin P1.2
   Next
' MO gesendet, jetz kommt es für jeden Fuchs getrennt

' E (einmal kurz) für Fuchs1
   If Fuchs1 = 1 Then
      Restore Fox1
      For I = 1 To 4                                          ' e und dreimal pause = 4 Ziffern in DATA
         Call Readloop
      Next
   End If

' I (zweimal kurz) für Fuchs2
   If Fuchs2 = 1 Then
      Restore Fox2
      For I = 1 To 6
         Call Readloop
      Next
   End If

' S (dreimal kurz) für Fuchs3
   If Fuchs3 = 1 Then
      Restore Fox3
      For I = 1 To 8
         Call Readloop
      Next
   End If

' H (viermal kurz) für Fuchs4
   If Fuchs4 = 1 Then
      Restore Fox4
      For I = 1 To 10
         Call Readloop
      Next
   End If

' 5 (fünfmal kurz) für Fuchs57
   If Fuchs5 = 1 Then
      Restore Fox5
      For I = 1 To 12                                         ' 12 = Anzahl der Ziffern in DATA
         Call Readloop
      Next
   End If
End Sub

' Wird mehrfach von Rufz_senden aufgerufen
' liest DATA und setzt / löscht CW-Out Pin P1.2

Sub Readloop
      Read D
      If D = 1 Then
         Set P1.2
      Else
         Reset P1.2
      End If
      Waitms 100                                              ' CW-Geschwindigkeit für ein e
End Sub


' Stellt Fuchs auf 0:00 Uhr
' z.B. nachdem der 5.Fuchs gesendet hat

Sub Uhr_stellen
    I2cstart                                                  'generate start
    I2cwbyte Wadr                                             'write address
    I2cwbyte 0                                                'select control register
    I2cwbyte 8                                                'set year and day bit for masking
    I2cstop                                                   'generate stop

    I2cstart                                                  'generate start
    I2cwbyte Wadr                                             'write mode
    I2cwbyte 2                                                'select seconds Register
    I2cwbyte 0                                                'write seconds
    I2cwbyte 0                                                'write minutes
    I2cwbyte 0                                                'Write Hours
    I2cwbyte 0                                                'write days
    I2cwbyte 0                                                'write months
    I2cstop
End Sub


Sub Hole_zeit                                                 ' liest Minute und Sek. aus Uhr

    I2cstart                                                  'generate start
    I2cwbyte Wadr                                             'write addres of PCF8583
    I2cwbyte 2                                                'select second register
    I2cstart                                                  'generate repeated start
    I2cwbyte Radr                                             'write address for reading info
    I2crbyte Sekunde , Ack                                    'read seconds
    I2crbyte Minute , Ack                                     'read minutes
    I2crbyte Temp , Ack                                       'read hours
    I2crbyte Temp , Ack                                       'read year and days
    I2crbyte Temp , Nack                                      'read weekday and month
    I2cstop                                                   'generate stop
    Sekunde = Makedec(sekunde)
    Minute = Makedec(minute)
End Sub



' Hier die Definitionen für MOE bis MO5
' Bei Allfox ist MO codiert, der Rest beim jeweiligen Fox1..5

Allfox:
Data 1 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0

Fox1:
Data 1 , 0 , 0 , 0                                            'moe

Fox2:
Data 1 , 0 , 1 , 0 , 0 , 0                                    'moi

Fox3:
Data 1 , 0 , 1 , 0 , 1 , 0 , 0 , 0                            'mos

Fox4:
Data 1 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 0 , 0                    'moh

Fox5:
Data 1 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 0 , 0            'mo5

End