Created
December 11, 2015 11:27
-
-
Save uozias/4dc0d2389cbf2a96f0f5 to your computer and use it in GitHub Desktop.
transfer keybord input to LED morse signal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int ledPin = 13; //13番をアウトプットに指定 | |
int interval = 500; // ・1つは、0.5秒にする | |
int long_interval = interval * 3; // ーは・の3つ分まつ | |
String target = String("B"); // ここに表示したい文字1つを書く | |
String moji[] = {String("A"), String(""), String("B"), String("C"), String("D"), String("E"), String(""), String("F"), String("G"), String("H"), String(""), String("J"), String("K"), String("L"), String("M"), String("N"), String("O"), String(""), String("P"), String("Q"), String("R"), String("S"), String("T"), String("U"), String(""), String(""), String(""), String("V"), String("W"), String("X"), String("Y"), String("Z"), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String(""), String("")}; | |
String tonTu[] = {String("sl"), String("slsl"), String("lsss"), String("lsls"), String("lss"), String("s"), String("sslss"), String("ssls"), String("lls"), String("ssss"), String("lslls"), String("slll"), String("lsl"), String("slss"), String("ll"), String("ls"), String("lll"), String("llls"), String("slls"), String("llsl"), String("sls"), String("sss"), String("l"), String("ssl"), String("slssl"), String("ssll"), String("slsss"), String("sssl"), String("sll"), String("lssl"), String("lsll"), String("llss"), String("llll"), String("lslll"), String("slsll"), String("llsll"), String("lslsl"), String("lslss"), String("lssll"), String("lsssl"), String("sslsl"), String("llsls"), String("sllss"), String("llssl"), String("lssls"), String("sllls"), String("lllsl"), String("slsls")}; | |
void setup() | |
{ | |
Serial.begin(9600); // シリアルポートを9600bpsで開く | |
pinMode(ledPin, OUTPUT);//13番をアウトプットに指定 | |
} | |
void loop() | |
{ | |
if(Serial.available()>0){ | |
target = String(char(Serial.read())); | |
Serial.println(target); | |
// 光らせたい文字の番号を検索 | |
int length = sizeof(moji) / sizeof(moji[0]); | |
int targetIndex = 0; | |
for (int i = 0; i < length; i++){ | |
if(target.equals(moji[i])){ | |
targetIndex = i; | |
break; | |
} | |
} | |
// その番号の符号を検索 | |
length = tonTu[targetIndex].length(); | |
for(int j = 0; j < length; j++){ | |
showCharactter(String(tonTu[targetIndex].charAt(j))); // 光らせる | |
} | |
} | |
} | |
// 符号1つ分を光らせる | |
void showCharactter(String character) | |
{ | |
if(String("s").equals(character)) { // 短点 | |
Serial.println("short!"); | |
digitalWrite(ledPin, HIGH); // 光らせる | |
delay(interval); // ・1つは、1秒にする | |
}else if(String("l").equals(character)){ // 長点 | |
Serial.println("long!"); | |
digitalWrite(ledPin, HIGH); // 光らせる | |
delay(long_interval); // ーは・の3つ分なので、3秒まつ | |
} | |
digitalWrite(ledPin, LOW); //光らせるのやめる | |
delay(long_interval); // 文字の間は・の3つ分あけるの | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment