loading

This is a brief tutorial in how to make your very own morse code maker. Alter the code to make it say whatever you want.

Step 1: Supplies

Step 1: Supplies
1- Arduino uno

7- jumper cables

1- 8 ohm speaker

2-LED lights

1-breadbox(electrical)

3- 330 ohm resistors

1-USB cable(uploading and power)

A saw and drill

A hammer or glue if you want an outer case

Step 2: Wiring

This model can be altered a little as long as the circuit is completed.

Make sure the circuit is grounded and has wires in the correct ports.

Using different colored LEDs will also make the flashes slightly less annoying as well

Step 3: Coding

(THIS CODE SHOULD MAKE THE SPEAKER SAY THE ALPHABET)


/*
Morse Code Project This code will loop through a string of characters and convert these to morse code. It will blink two LED lights and play audio on a speaker. */ //**************************************************// // Type the String to Convert to Morse Code Here // //**************************************************// char stringToMorseCode[] = "Arduino Morse Code Project"; // Create variable to define the output pins int led12 = 12; // blink an led on output 12 int led6 = 6; // blink an led on output 6 int audio8 = 8; // output audio on pin 8 int note = 1200; // music note/pitch /* Set the speed of your morse code Adjust the 'dotlen' length to speed up or slow down your morse code (all of the other lengths are based on the dotlen) Here are the ratios code elements: Dash length = Dot length x 3 Pause between elements = Dot length (pause between dots and dashes within the character) Pause between characters = Dot length x 3 Pause between words = Dot length x 7 http://www.nu-ware.com/NuCode%20Help/index.html?m... */ int dotLen = 100; // length of the morse code 'dot' int dashLen = dotLen * 3; // length of the morse code 'dash' int elemPause = dotLen; // length of the pause between elements of a character int Spaces = dotLen * 3; // length of the spaces between characters int wordPause = dotLen * 7; // length of the pause between words // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output for LED lights. pinMode(led12, OUTPUT); pinMode(led6, OUTPUT); } // Create a loop of the letters/words you want to output in morse code (defined in string at top of code) void loop() { // Loop through the string and get each character one at a time until the end is reached for (int i = 0; i < sizeof(stringToMorseCode) - 1; i++) { // Get the character in the current position char tmpChar = stringToMorseCode[i]; // Set the case to lower case tmpChar = toLowerCase(tmpChar); // Call the subroutine to get the morse code equivalent for this character GetChar(tmpChar); } // At the end of the string long pause before looping and starting again LightsOff(8000); } // DOT void MorseDot() { digitalWrite(led12, HIGH); // turn the LED on digitalWrite(led6, HIGH); tone(audio8, note, dotLen); // start playing a tone delay(dotLen); // hold in this position } // DASH void MorseDash() { digitalWrite(led12, HIGH); // turn the LED on digitalWrite(led6, HIGH); tone(audio8, note, dashLen); // start playing a tone delay(dashLen); // hold in this position } // Turn Off void LightsOff(int delayTime) { digitalWrite(led12, LOW); // turn the LED off digitalWrite(led6, LOW); noTone(audio8); // stop playing a tone delay(delayTime); // hold in this position } // *** Characters to Morse Code Conversion *** // void GetChar(char tmpChar) { // Take the passed character and use a switch case to find the morse code for that character switch (tmpChar) { case 'a': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'b': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'c': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'd': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'e': MorseDot(); LightsOff(elemPause); break; case 'f': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'g': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'h': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'i': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'j': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'k': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'l': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'm': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'n': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'o': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'p': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 'q': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'r': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 's': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; case 't': MorseDash(); LightsOff(elemPause); break; case 'u': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'v': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'w': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'x': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'y': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); break; case 'z': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); break; default: // If a matching character was not found it will default to a blank space LightsOff(Spaces); }

}

Would love to get info on how to import code in the correct format if someone would leave instructions that would be great.

Step 4: Build a Case or Protection

This is not an important step, but I would recommend a wooden box. Roughly 3in. by 2 1/4in. by 2 1/2in.

A hole for the speaker should just barely fit it in.

Hot glue the speaker and LEDs to the front board.

Use siding nails or wood glue to keep the box together

Make sure you also drill a hole for the jack of the arduino

Step 5: Powering Up and Listening

The final and easiest step is to attach the USB or power cord. The listen and "enjoy" the "sweet" sound.

<p>I am not able to open your attachment for Step #5. There is an edit button on your instructable page you can use to fix your file. A really fun idea.</p>
I believe it's a download. Check the bottom of your browser page. It is just a video of the sound and lights flashing.
<p>Cool idea! :)</p>

About This Instructable

271views

0favorites

More by Noploof:Simple Morse Code Maker 
Add instructable to: