Arduino Morse Code Game

2,030

16

2

Introduction: Arduino Morse Code Game

This is an instructables on how to make an Arduino morse code game. I was working on a project where I got inspired to make a code-based game. This idea didn't make the final cut, so I decided to make a small Arduino project instead.

Step 1: Getting the Right Materials

For this project you will need the following materials:

- an Arduino (I used the Arduino Uno)

- A solderless breadboard

- A small LED lightbulb (I used a blue one but the color is up to you)

- A buzzer or speaker (I used a buzzer but a speaker might produce a louder sound)

- Around 4 wires of variying length

- A cardboard box or some other container

Most of these items can be found in the Arduino kit.

https://store.arduino.cc/

Optional additions:

- a notebook to keep track of the dots and dashes

-a chart to see which letter is whoch in morse code

With these additions you can play a game where you can guess secret codewords to score points.

Step 2: The Code

In order for your morse code machine to work properly, you will need to enter the following code:

int LED = 2;
int buzzerPin = 3;

int dot = 250;

char* morseLetters[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..",".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.","...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." }; //The morse codes for all the letters in the alphabet

char* morseNumbers[] = {"-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."}; //The morse code for all the numbers 0-9

void setup()

{ pinMode(LED, OUTPUT); pinMode(buzzerPin, OUTPUT); Serial.begin(9600); }

void loop()

{ char info; if (Serial.available() > 0)

{ info = Serial.read();

if (info >= 'a' && info <= 'z') {

letterId(morseLetters[info - 'a']); }

else if(info >= 'A' && info <= 'Z') {

letterId(morseLetters[info - 'A']); }

else if(info >= 0 && info <= 9) {

letterId(morseNumbers[info - 0]); }

else if(info == ' ') { delay(dot * 18); } } }

void letterId(char* character)

{ int i = 0; while(character[i] != '\0')

{ output(character[i]); i++; }

delay(dot * 15); } //Alter the delay to give yourself more or less time between letters and words

void output(char ID) {

digitalWrite(LED,HIGH);

digitalWrite(buzzerPin,HIGH);

if (ID == '.') { delay(dot); }

else { delay(dot * 10); } //Alter the delay to give yourself more or less time between letters and words

digitalWrite(LED,LOW);

digitalWrite(buzzerPin,LOW);

delay(dot); } //Alter the delay to give yourself more or less time between letters and words

Step 3: Assemble the Morse Code Machine

The morse code machine should be assembled as pictured above. The machine gets its power from the Arduino power cable, so make sure to keep it plugged in while you use the machine. Use different coloured wires to not get confused.

For the box you can used whatever looks good. You will need to cut at least two holes, one to show the speaker and the LED light and one in the back so you can plug in the Arduino cable, as it needs to be connected to get the power necessary to work.

Be the First to Share

    Recommendations

    • Big and Small Contest

      Big and Small Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Make It Bridge

      Make It Bridge

    2 Comments

    0
    Kalebs-how2s
    Kalebs-how2s

    5 years ago

    can you post instructions please

    0
    Kalebs-how2s
    Kalebs-how2s

    5 years ago

    how do we build it what are the steps so i know please