Hello guys. I wrote a Morse Code class which takes a solenoid which powers our camera light, and a text to convert to Morse. It runs on a parallel thread and allows the camera to flash some fun and interesting messages.
Hope you like it,
Sasha
public class MorseCode implements Runnable{
//To Call: (new Thread(new MorseCode("Hello World", caneraLight)).start();
public static String sentance;
public static String code];
public static Solenoid cameraLight;
public static boolean isDone;
public MorseCode(String inputSentance, Solenoid light){
code = new String[inputSentance.length()];
sentance = inputSentance;
cameraLight = light;
convertToMorse();
isDone = false;
}
public void run(){
cameraLight.set(false);
try {
Thread.sleep(4200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i = 0; i < code.length; i++){
for(int j = 0; j < code*.length(); j++){
if(code*.charAt(j) == '*'){
cameraLight.set(true);
try {
Thread.sleep(600);
} catch (InterruptedException e) {
e.printStackTrace();
}
}else if(code*.charAt(j) == '-'){
cameraLight.set(true);
try {
Thread.sleep(1800);
} catch (InterruptedException e) {
e.printStackTrace();
}
}else if(code*.charAt(j) == ' '){
cameraLight.set(false);
try {
Thread.sleep(600);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
cameraLight.set(false);
try {
Thread.sleep(1800);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
isDone = true;
}
private void convertToMorse(){
for(int i = 0; i < sentance.length(); i++){
if(sentance.charAt(i)=='A' || sentance.charAt(i)=='a')
code* = "* -";
else if(sentance.charAt(i)=='B' || sentance.charAt(i)=='b')
code* = "- * * *";
else if(sentance.charAt(i)=='C' || sentance.charAt(i)=='c')
code* = "- * - *";
else if(sentance.charAt(i)=='D' || sentance.charAt(i)=='d')
code* = "- * *";
else if(sentance.charAt(i)=='E' || sentance.charAt(i)=='e')
code* = "*";
else if(sentance.charAt(i)=='F' || sentance.charAt(i)=='f')
code* = "* * - *";
else if(sentance.charAt(i)=='G' || sentance.charAt(i)=='g')
code* = "- - *";
else if(sentance.charAt(i)=='H' || sentance.charAt(i)=='h')
code* = "* * * *";
else if(sentance.charAt(i)=='I' || sentance.charAt(i)=='i')
code* = "* *";
else if(sentance.charAt(i)=='J' || sentance.charAt(i)=='j')
code* = "* - - -";
else if(sentance.charAt(i)=='K' || sentance.charAt(i)=='k')
code* = "- * -";
else if(sentance.charAt(i)=='L' || sentance.charAt(i)=='l')
code* = "* - * *";
else if(sentance.charAt(i)=='M' || sentance.charAt(i)=='m')
code* = "- -";
else if(sentance.charAt(i)=='N' || sentance.charAt(i)=='n')
code* = "- *";
else if(sentance.charAt(i)=='O' || sentance.charAt(i)=='o')
code* = "- - -";
else if(sentance.charAt(i)=='P' || sentance.charAt(i)=='p')
code* = "* - - *";
else if(sentance.charAt(i)=='Q' || sentance.charAt(i)=='q')
code* = "- - * -";
else if(sentance.charAt(i)=='R' || sentance.charAt(i)=='r')
code* = "* - *";
else if(sentance.charAt(i)=='S' || sentance.charAt(i)=='s')
code* = "* * *";
else if(sentance.charAt(i)=='T' || sentance.charAt(i)=='t')
code* = "-";
else if(sentance.charAt(i)=='U' || sentance.charAt(i)=='u')
code* = "* * -";
else if(sentance.charAt(i)=='V' || sentance.charAt(i)=='v')
code* = "* * * -";
else if(sentance.charAt(i)=='W' || sentance.charAt(i)=='w')
code* = "* - -";
else if(sentance.charAt(i)=='X' || sentance.charAt(i)=='x')
code* = "- * * -";
else if(sentance.charAt(i)=='Y' || sentance.charAt(i)=='y')
code* = "- * - -";
else if(sentance.charAt(i)=='Z' || sentance.charAt(i)=='z')
code* = "- - * *";
else if(sentance.charAt(i)=='0')
code* = "- - - - -";
else if(sentance.charAt(i)=='1')
code* = "* - - - -";
else if(sentance.charAt(i)=='2')
code* = "* * - - -";
else if(sentance.charAt(i)=='3')
code* = "* * * - -";
else if(sentance.charAt(i)=='4')
code* = "* * * * -";
else if(sentance.charAt(i)=='5')
code* = "* * * * *";
else if(sentance.charAt(i)=='6')
code* = "- * * * *";
else if(sentance.charAt(i)=='7')
code* = "- - * * *";
else if(sentance.charAt(i)=='8')
code* = "- - - * *";
else if(sentance.charAt(i)=='9')
code* = "- - - - *";
else
code* = " ";
}
}
}