commit f804d7ab6fa59d86c9186fa5092f5af745f9d15e Author: Vojtěch Káně Date: Fri Sep 18 16:29:48 2020 +0200 Initial commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..68a49da --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..cef5044 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# 2020 08 18 Morse Arduino + +This is a one time project to demonstrate microcontroler programming basics. diff --git a/demo.mp4 b/demo.mp4 new file mode 100644 index 0000000..16cc69c Binary files /dev/null and b/demo.mp4 differ diff --git a/main.ino b/main.ino new file mode 100644 index 0000000..90a5854 --- /dev/null +++ b/main.ino @@ -0,0 +1,62 @@ +const int ABC = 27; + +String table[ABC] = { + ".-", + "-...", + "-,-,", + "-..", + ".", + "..-.", + "--.", + "....", + "..", + ".---", + "-.-", + ".-..", + "--", + "-.", + "---", + ".--.", + "--.-", + ".-.", + "...", + "-", + "..-", + "...-", + ".--", + "-..-", + "-.--", + "--..", +}; + + +void setup() { + pinMode(50, OUTPUT); + Serial.begin(9600); +} + +void loop() { + if (Serial.available()) { + if (emit(Serial.read())) { + delay(500); + } + } +} + +bool emit(char c) { + if (c >= 'a' && c < ABC + 'a') { + for (int i = 0; i < table[c - 'a'].length(); i++) { + if (table[c - 'a'][i] == '.') { + digitalWrite(50, HIGH); + delay(100); + } else { + digitalWrite(50, HIGH); + delay(300); + } + digitalWrite(50, LOW); + delay(100); + } + return true; + } + return false; +}