Morse Code means converting the alpha numeric symbols (i.e. alphabets and numbers) into dots and dashes. Each symbol has different arrangement of dots and dashes which make them unique. Morse Code is use to send the secret data or the coded data. In this project, I have created the transmitter and the receiver section of the Morse Code Communication. The uniqueness in this project from different morse code communication projects is that the algorithm of the receiver section is really simple than any other algorithm.

Step 1: Transmitter Section

The Transmitter Section is used to send the input data through LASER.

Hardware Required :-

1. Arduino Uno - 1

2. LASER - 1

3. Breadboard

4. Jumper Wires


Connect the positive pin of LASER with the 13th pin of Digital Input in Arduino(As programmed in the code). Connect the GND of LASER with the GND of Arduino.


The Algorithm of the Code is as followed:-

1. The data which has to be transmitted is kept as input and it is stored by an array of char.

2. The LED pin which has to be transmitted is defined.

3. Speed of the Morse Code is set.

4. Dots and Dashes are defined.

5. The inputted character is checked through switch case and the corresponding HIGH and LOW of the LASER is transmitted.

The Code is attached with this document.

Step 2: Receiver Section

The coded data which is sent by the transmitter is received and processed, after then it is displayed on Serial Monitor.

Hardware Required:-

1. Arduino Uno - 1

2. LDR - 1

3. Resistor - 10K ohm - 1

4. BreadBoard

5. Jumper Wires


Connect one end of the LDR with 5V of Arduino supply. Connect other end of the LDR with 10K ohm resistor as well as with analog input A0. Connect the other end of resistor with GND of the Arduino.


The algorithm used in receiver section is the easiest algorithm than any other available on internet. This algorithm is full on observations.

1. When there is no LASER falling on the LDR, then the value of LDR will be less than 1000. If the value is coming beyond 1000 even if the LASER is on glowing on the LDR, then you need to cover the LDR to protect from extra light entering into it. Here, the LDR is covered with a dome made of black chart paper.

2. When the LASER falls on the LDR, the value goes beyond 1000, and then it will enter into a loop.

3. Now quantize the values i.e. if the value goes beyond 1000, then assign it as '1' , otherwise assign it as '0'.

4. Inside a loop, calculate the number of '1's and '0's. Set the counters 'a' and 'f'. Count the number of '1's and store it in 'a' and similarly count the number of '0's and store it in 'f' respectively.

5. Now check the specific values of 'a' and 'f' respectively. Each character will have different set of 'a' and 'f'. The matching value will be displayed.

The code is attached with the document.

Limitation:- The program which is attached to the code is used to print the specific characters. You can enhance the code further by the use of Combinations and display all set of characters. The main objective of the code is to make you understand the algorithm and working.

<p>Hi there, I'm new in this, I don't understand they way you define a and f in the receiver part. Let sat 'A'='.-' how do you determine the value of a(dot and dash) as 4 and f(space) as 10? and why the sum of a and f is 14, does it required to be 14 or how? Really appreciate the answer</p><p>if(a==4 &amp;&amp; f==10)</p><p>{</p><p> Serial.print(&quot;a&quot;);</p><p>}</p><p>if(a==6 &amp;&amp; f==8)</p><p>{</p><p> Serial.print(&quot;b&quot;);</p><p>}</p><p>if(a==8 &amp;&amp; f==6)</p><p>{</p><p> Serial.print(&quot;c&quot;); </p><p>}</p>
<p>That's a neat setup :)</p>
Thank you?

About This Instructable




More by pranav1895:Morse Code Communication Transmitter and Receiver 
Add instructable to: