Morsetaste und Decoder    

           
Elektronik-Labor   Projekte   Microbit 



Das Projekt realisiert eine Morsetaste mit Decoder-Funktion. Als Morsetaste wird die Taste A verwendet. Man hat einen Mithörton aus dem Calliope-Lautsprecher. Zusätzlich werden die gemorsten Zeichen dekodiert und im Display angezeigt. Das hat sich als ideale Methode für die ersten Schritte zur Morsetelegrafie erwiesen.

Es  werden während der Zeichenerzeugung die Zeiten für Punkte, Striche und Pausen in Einheiten von 10 ms gemessen. Das Programm ist für 60 Zeichen pro Minute optimiert, also für Punktlängen von 100 ms, Strichlängen und 300 ms und Pausenlängen zwischen den Zeichen von 300 ms. Das Programm erlaubt jedoch gewisse Toleranzen in beiden Richtungen. Ein Zeichen ist beendet, wenn eine Pause von mindestens 200 ms auftritt. Ebenso wird ein Ton als Strich gewertet, wenn er mindestens 200 ms lang ist. Punkte und Striche werden zu einer Zahl zusammengefügt, die dann die Position in einem Zeichenstring ergibt. So wird das anzuzeigende Zeichen gefunden.

Das Programm funktioniert ohne Änderung am Calliope und am Microbit, wobei dann ein Lautsprecher an P1 angeschlossen werden muss. 

let T1 = 0
let T0 = 0
let C = 0
let T = ""
basic.forever(() => {
    C = 1
    T0 = 0
    while (T0 < 20) {
        T1 = 0
        T0 = T0 + 1
        basic.pause(10)
        T1 = 0
        while (input.buttonIsPressed(Button.A)) {
            music.ringTone(700)
            T0 = 0
            T1 = T1 + 1
            basic.pause(10)
        }
        music.ringTone(0)
        if (T1 > 5) {
            C = C * 2
        }
        if (T1 > 20) {
            C = C + 1
        }
    }
    if (C < 30) {
        basic.showString(T.charAt(C))
        basic.pause(100)
    }
})
T = "  ETIANMSURWDKGOHVFYLZPJBXCYZQ "


Morse-Funkgerät



Dieses Morsegerät mit Mithörton hilft beim Erlernen der Morse-Telegrafie. Als Morsetaste dient wahlweise die Taste A oder eine externe Taste an P1. Die erste Betätigung wählt die Taste aus. Hat man auf die Taste A gedrückt, ist nur noch diese Eingabe aktiv. Wenn man dagegen die externe Taste bedient hat, reagiert das Programm nicht mehr auf die Taste A.

Wenn eine ganze Gruppe zum Beispiel zur Vorbereitung auf den Amateurfunk Morsen lernen will, ist es hilfreich, wenn alles möglichst realistisch abläuft. Man wählt eine Frequenz und sendet einen allgemeinen Anruf, oder man antwortet auf eine rufende Station. Mehrere Stationen können gleichzeitig senden und empfangen, weil sie unterschiedliche Frequenzen verwenden.

In diesem Projekt werden zehn Kanäle verwendet, die als Funk-Gruppen umgeschaltet werden können. Dazu dient die Taste B. Der gerade aktive Kanal wird im LED-Display angezeigt. Zwei Stationen können nur dann in Verbindung treten, wenn sie auf den gleichen Kanal eingestellt sind. Auf einem der zehn Kanäle kann gleichzeitig auch der weiter unten beschriebene automatische Morsesender seine Fünfergruppen senden.



let K = 0
input.onButtonPressed(Button.B, () => {
    K = K + 1
    if (K > 9) {
        K = 0
    }
    radio.setGroup(K)
    basic.showNumber(K)
})
basic.forever(() => {
    if (input.buttonIsPressed(Button.A)) {
        radio.sendNumber(1)
        music.ringTone(700)
        while (input.buttonIsPressed(Button.A)) {

        }
        radio.sendNumber(0)
        music.ringTone(0)
        while (!(input.buttonIsPressed(Button.A))) {
            basic.pause(10)
        }
    }
    if (input.pinIsPressed(TouchPin.P1)) {
        radio.sendNumber(1)
        music.ringTone(700)
        while (input.pinIsPressed(TouchPin.P1)) {
            basic.pause(10)
        }
        radio.sendNumber(0)
        music.ringTone(0)
        while (!(input.pinIsPressed(TouchPin.P1))) {
            basic.pause(10)
        }
    }
})
radio.onDataPacketReceived(({receivedNumber: D}) => {
    if (D == 1) {
        music.ringTone(700)
    } else {
        music.ringTone(0)
    }
})
radio.setGroup(0)
K = 0
basic.showNumber(0)


Siehe auch:  Morse-Telegraphie für den Sparrow



Elektronik-Labor   Projekte   Microbit