Created
October 20, 2016 02:09
-
-
Save schlerp/bdbaff9303458ed2b763d047c65ef1eb to your computer and use it in GitHub Desktop.
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
// Pin 13 has an LED connected on most Arduino boards. | |
// Pin 11 has the LED on Teensy 2.0 | |
// Pin 6 has the LED on Teensy++ 2.0 | |
// Pin 13 has the LED on Teensy 3.0 | |
// give it a name: | |
int led = 13; | |
// set up morse code timeings... | |
int base_time = 100; // 200 ms base speed ~ 24 wpm | |
int dot_time = base_time; // same as base speed | |
int dash_time = base_time * 3; // 3 times the dot length | |
int elem_pause = base_time; // same as base speed/dot time | |
int char_pause = base_time * 3; // pause between chars is 3 times base | |
int word_pause = base_time * 7; // pause between words is 7 times base | |
// the setup routine runs once when you press reset: | |
void setup() { | |
// initialize the digital pin as an output. | |
pinMode(led, OUTPUT); | |
} | |
// the loop routine runs over and over again forever: | |
void loop() { | |
print_sos(); | |
} | |
void print_sos() { | |
flash_s(); | |
flash_o(); | |
flash_s(); | |
end_word(); | |
} | |
void flash_a() { | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_b() { | |
dash(); | |
dot(); | |
dot(); | |
dot(); | |
end_char(); | |
} | |
void flash_c() { | |
dash(); | |
dot(); | |
dash(); | |
dot(); | |
end_char(); | |
} | |
void flash_d() { | |
dash(); | |
dot(); | |
dot(); | |
end_char(); | |
} | |
void flash_e() { | |
dot(); | |
end_char(); | |
} | |
void flash_f() { | |
dot(); | |
dot(); | |
dash(); | |
dot(); | |
end_char(); | |
} | |
void flash_g() { | |
dash(); | |
dash(); | |
dot(); | |
end_char(); | |
} | |
void flash_h() { | |
dot(); | |
dot(); | |
dot(); | |
dot(); | |
end_char(); | |
} | |
void flash_i() { | |
dot(); | |
dot(); | |
end_char(); | |
} | |
void flash_j() { | |
dot(); | |
dash(); | |
dash(); | |
dash(); | |
end_char(); | |
} | |
void flash_k() { | |
dash(); | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_l() { | |
dot(); | |
dash(); | |
dot(); | |
dot(); | |
end_char(); | |
} | |
void flash_m() { | |
dash(); | |
dash(); | |
end_char(); | |
} | |
void flash_n() { | |
dash(); | |
dot(); | |
end_char(); | |
} | |
void flash_o() { | |
dash(); | |
dash(); | |
dash(); | |
end_char(); | |
} | |
void flash_p() { | |
dot(); | |
dash(); | |
dash(); | |
dot(); | |
end_char(); | |
} | |
void flash_q() { | |
dash(); | |
dash(); | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_r() { | |
dot(); | |
dash(); | |
dot(); | |
end_char(); | |
} | |
void flash_s() { | |
dot(); | |
dot(); | |
dot(); | |
end_char(); | |
} | |
void flash_t() { | |
dash(); | |
end_char(); | |
} | |
void flash_u() { | |
dot(); | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_v() { | |
dot(); | |
dot(); | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_w() { | |
dot(); | |
dash(); | |
dash(); | |
end_char(); | |
} | |
void flash_x() { | |
dash(); | |
dot(); | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_y() { | |
dash(); | |
dot(); | |
dot(); | |
dash(); | |
end_char(); | |
} | |
void flash_z() { | |
dash(); | |
dash(); | |
dot(); | |
dot(); | |
end_char(); | |
} | |
/* | |
void flash_1() { | |
} | |
void flash_2() { | |
} | |
void flash_3() { | |
} | |
void flash_4() { | |
} | |
void flash_5() { | |
} | |
void flash_6() { | |
} | |
void flash_7() { | |
} | |
void flash_8() { | |
} | |
void flash_9() { | |
} | |
void flash_0() { | |
} | |
*/ | |
void dash() { | |
// flash a dash (dah) | |
digitalWrite(led, HIGH); | |
delay(dash_time); | |
digitalWrite(led, LOW); | |
delay(elem_pause); | |
} | |
void dot() { | |
// flash a dot (dit) | |
digitalWrite(led, HIGH); | |
delay(dot_time); | |
digitalWrite(led, LOW); | |
delay(elem_pause); | |
} | |
void end_char() { | |
// end a char | |
// subtract the base time becuase of the element delay | |
delay(char_pause - base_time); | |
} | |
void end_word() { | |
// end a word | |
// subtract the base time becuase of the element delay | |
delay(word_pause - base_time); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment