This project is an Arduino program, that listen to the serial port (reception/emission) and outputs two things:
- Firstly, it convert the text you sent it into morse, and emit it via pin 11 (you may want to connect to a potentiometer in serie with a buzzer).
- Secondly, in the same time, on the LCD screen, it writes the letter it is encoding and prints the morse code on the second line. When it reaches the end of the first line, it clears the line.
It also send back what it received, prefixed with "Received: ".
When it does not recognize a character, it buzzes the length of 4 dots then wait the equivalent of 2 dots, send an error message with the character it didn't recognized and its binary value on the serial, and replace the character with a "?" on the LCD screen.
I have an idea to upgrade this project: add a third potentiometer to control the duration of a dot/dash/pauses.
EXPANDED TECHNICAL DETAILS
Text-to-Cipher Conversion
This project implements a digital translator that converts standard alphanumeric text into the rhythmic pulses of International Morse Code.
- Lookup Table Architecture: Each ASCII character is mapped to a string of dots and dashes in a 2D array. The Arduino parses the user's input (via Serial or a Keypad) and retrieves the corresponding "Timing Sequence" for the buzzer.
- DASH-DOT Timing logic: Follows standard Morse timing: one "Dash" is equal to three "Dots," and the space between characters is equal to three Dots.
Visualization
- 16x2 LCD Display: Not only does the speaker sound the code, but the LCD displays the characters and their Morse representation simultaneously, providing an educational visual-audio link for learning the code.