Projekt „Morsekeyer“ mit dem Arduino Vorüberlegungen

Projekt „Morsekeyer“ mit dem Arduino
(DL6OAA)
Die Anregungen für dieses Projekt sind dem AATiS-Praxisheft Nr. 21 entnommen
(Keyer als Einstieg in die Arduino-Programmierung von DH4KAV).
Die elektronische Morsetaste soll mit einer Squeeze-Taste getastet werden, für den
prinzipiellen Aufbau zur Funktionskontrolle sind nur wenige Bauteile notwendig:
4 Widerstände, 1 LED, 1 Piezo-Lautsprecher und für die Erweiterungen 1 Taster und
1 Poti.
Schaltplan:
Vorüberlegungen:
Eine Sqeeze-Taste hat 2 Kontakte und kann somit 4 Zustände einnehmen:
Strichkontakt LOW, Punktkontakt LOW  Schleife im Leerlauf
Strichkontakt HIGH und Punktkontakt LOW  Striche senden
Strichkontakt LOW und Punktkontakt HIGH  Punkte senden
Strichkontakt HIGH und Punktkontakt HIGH  abwechselnde Folge aus Punkten
und Strichen, beginnend mit Punkt oder Strich, abhängig vom vorausgehenden
Zustand.
Für die Funktionskontrolle wird am PIN 13 der Status des Ausgabe-Pins mit einer
LED sichtbar gemacht – später wird der TRX anstelle der LED eingeschleift und
mithilfe eines Schalttransistors getastet. Der Mithörton wird an PIN D6 mit einem
Piezo-Lautsprecher realisiert („Tone-Anweisung“). Der Squeezer kommt (z.B.) an die
PINs D8 und D11.
Programmstruktur:
Zunächst werden alle Konstanten und Variablen definiert (PIN-Nummern, Punktlänge
(80 Millisekunden) und Strichlänge(3 x Punktlänge), Faktor für die
Tastgeschwindigkeit, Frequenz des Mithörtons etc.
Im void setup erfolgt die Zuordnung der PINs als INPUT oder OUTPUT und in void
loop wird die Programmschleife programmiert. Die Eingänge werden auf ihren
Zustand hin abgefragt und die Ausgänge entsprechend angesteuert:
Wenn Punkttaste == HIGH && Strichtaste == LOW  Punkte ausgeben
Wenn Strichtaste == HIGH && Punkttaste == LOW  Striche ausgeben
Wenn Strichtaste == HIGH && Punkttaste == HIGH  abwechselnd Striche und
Punkte ausgeben
Es empfiehlt sich, eine Subroutine z.B. void key() anzulegen um die Striche und
Punkte auszugeben.
1. Erweiterung:
Mit einem Taster an PIN 10 wird ein hinterlegter Text (z.B. cq cq cq de DL6OAA
DL6OAA pse k) ausgelesen und als Morsecode ausgegeben.
2. Erweiterung:
Mit einem Poti an A0 wird die Tastgeschwindigkeit eingestellt.