Advertisement
Khadija_Assem

Untitled

Dec 13th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #include <Arduino.h>
  2. #include <Wire.h>
  3. #include <SoftwareSerial.h>
  4.  
  5. int ledPin = 13;
  6.  
  7. //For letters
  8. char* letters[] = {
  9. ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", // A-I
  10. ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", // J-R
  11. "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." // S-Z
  12. };
  13.  
  14. //For Numbers
  15. char* numbers[] = {
  16. "-----", ".----", "..---", "...--", "....-", ".....",
  17. "-....", "--...", "---..", "----."
  18. };
  19. int dotDelay = 200;
  20.  
  21. void setup() {
  22. pinMode(ledPin, OUTPUT);
  23. Serial.begin(9600);
  24. }
  25.  
  26. void loop() {
  27. char ch;
  28. if (Serial.available()){
  29. ch = Serial.read(); // read a single letter if (ch >= 'a' && ch <= 'z')
  30. if (ch >= 'a' && ch <= 'z')
  31. flashSequence(letters[ch - 'a']);
  32. else if (ch >= 'A' && ch <= 'Z')
  33. flashSequence(letters[ch - 'A']);
  34. else if (ch >= '0' && ch <= '9')
  35. flashSequence(numbers[ch - '0']);
  36. else if (ch == ' '){
  37. Serial.println("Words space " + dotDelay * 7);
  38. delay(dotDelay * 7);
  39. }
  40. }
  41. }
  42.  
  43. void flashSequence(char* sequence) {
  44. int i = 0;
  45. while (sequence[i] != NULL) {
  46. flashDotOrDash(sequence[i]);
  47. i++;
  48. }
  49. Serial.println("Letter space " + dotDelay * 3);
  50. delay(dotDelay * 3);
  51. }
  52.  
  53.  
  54. void flashDotOrDash(char dotOrDash) {
  55. digitalWrite(ledPin, HIGH);
  56. if (dotOrDash == '.'){
  57. Serial.println("Dot Gap " + dotDelay);
  58. delay(dotDelay);
  59. }
  60. else{ // must be a -
  61. Serial.println("Dash Gap " + dotDelay * 3);
  62. delay(dotDelay * 3);
  63. }
  64. digitalWrite(ledPin, LOW);
  65. Serial.println("Inter Element Gap " + dotDelay);
  66. delay(dotDelay);
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement