A Morse project for two children.
Both devices must be transmitters and receivers so that no dispute arises. The role change should take place automatically. If both transmit at the same time nobody understands anything - like in real life.
Everyone runs a Calliope mini. Both devices get the same program.
Since there is no trained Morse expert in the neighbourhood, the control of the sent codes should take place by the 2nd Calliope.
In the code, the permanent block handles the input dit, dah and the determination of the pause between the letters and the words (2). The table in (3) is suitable for sending.
The If Packet Receive block determines the sent letters. All letters are stored in a string lmb. It contains letters, numbers, German umlauts and some punctuation marks. The position of the letter is calculated in the variable bs.
lmb contains the binary tree, to be found above (3). A dit is 0, a dah is 1 and a multiplication by 2. Another dit or dah is treated the same way. In the table you jump one row to the right. If the sender waits too long, it sends a b (end of letter) and starts a new character. The receiver then displays the previously entered dits and dahs as letters.
I found the idea for this procedure in another Morse project, which I unfortunately can't find again.
The input works with the keys A for dit and B for dah.
I also built an external Morse key from Lego (dual paddle keyer ) (1). I used 3 wires, a rubber band and 4 Technic bricks. The wires are connected with pin -, pin 0 and pin 3.a
(1) Literature: Dual-lever paddles
(2) Literature: Time scheme for sending
(3) Literature: Letters, numbers, punctuation, prosigns for Morse code
This text as well as the images are published under a CC BY-SA 3.0 DE license popup: yes. It was originally published in German popup: yes by Autor popup: yes and translated into English by the Calliope team.