int t=75,pin=3;
void morse(char ch)
{
if(ch=='a')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='b')
{
digitalWrite(pin,HIGH); //Dash
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH); //Dot
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH); //Dot
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH); //Dot
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='c')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='d')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='e')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='f')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='g')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='h')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='i')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='j')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='k')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='l')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='m')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='n')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='o')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='p')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='q')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='r')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='s')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='t')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='u')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='v')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='w')
{
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='x')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='y')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch=='z')
{
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(3*t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(t);
/*---------------------------------*/
digitalWrite(pin,HIGH);
delay(t);
digitalWrite(pin,LOW);
delay(3*t);
}
else if(ch==' ')
{
delay(7*t);
}
}
void setup()
{
Serial.begin(9600);
pinMode(pin,OUTPUT);
}
void loop()
{
String input="";
if(Serial.available()>0)
{
input=Serial.readString();
input.toLowerCase();
Serial.println(input);
int i=0;
char ip='a';
while(ip != '\0')
{
ip=input.charAt(i); // This code gets the charcter at a particular location in the string.
Serial.println(ip);
morse(ip);
i++;
}
}
}
Comments
Please log in or sign up to comment.