4180 Morse / Mbed 2 deprecated morseCode_1_1

Dependencies:   mbed 4DGL-uLCD-SE

Fork of morseCode_1 by 4180 Morse

Committer:
colson
Date:
Sat Apr 28 16:04:28 2018 +0000
Revision:
4:62c590826ddb
Parent:
3:6e52b66c5a0c
Child:
5:5b86521e418c
-Fixed the text_to_morse function ; -Created debug outputs (LED and uLCD); -Tested ability to take input string

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jeco13 2:d60577c26a58 1 #include "mbed.h"
colson 4:62c590826ddb 2 #include "uLCD_4DGL.h"
colson 4:62c590826ddb 3
Jeco13 2:d60577c26a58 4
Jeco13 2:d60577c26a58 5
Jeco13 2:d60577c26a58 6 AnalogOut speaker(p18);
Jeco13 2:d60577c26a58 7 DigitalOut led(p8);
colson 4:62c590826ddb 8 DigitalOut myled(LED1);
colson 4:62c590826ddb 9 DigitalOut testled(LED2);
colson 4:62c590826ddb 10 DigitalOut otherled(LED3);
colson 4:62c590826ddb 11 uLCD_4DGL uLCD(p28, p27, p29); // create a global uLCD object
colson 4:62c590826ddb 12
Jeco13 2:d60577c26a58 13
Jeco13 2:d60577c26a58 14 void dot(){
Jeco13 2:d60577c26a58 15 //turn on speaker for 0.5s.
Jeco13 2:d60577c26a58 16 //turn on led for 0.5s.
Jeco13 2:d60577c26a58 17 //turn off speaker & led.
colson 4:62c590826ddb 18 testled = 1;
colson 4:62c590826ddb 19 wait(0.5);
colson 4:62c590826ddb 20 testled = 0;
Jeco13 3:6e52b66c5a0c 21 wait(0.5);
Jeco13 2:d60577c26a58 22 }
Jeco13 2:d60577c26a58 23
Jeco13 2:d60577c26a58 24 void dash(){
Jeco13 3:6e52b66c5a0c 25 //turn on speaker for 1s.
Jeco13 3:6e52b66c5a0c 26 //turn on led for 1s.
Jeco13 2:d60577c26a58 27 //turn off speaker & led.
colson 4:62c590826ddb 28 myled = 1;
colson 4:62c590826ddb 29 wait(1.0);
colson 4:62c590826ddb 30 myled = 0;
Jeco13 3:6e52b66c5a0c 31 wait(0.5);
Jeco13 3:6e52b66c5a0c 32 }
Jeco13 3:6e52b66c5a0c 33
Jeco13 3:6e52b66c5a0c 34 void Text_to_morse(char input_char){ //function takes in characters at a time. call dot & dash appropriately for detected char
Jeco13 3:6e52b66c5a0c 35 //int w = 0.5; //wait duration in-between led blinks and speaker clicks
colson 4:62c590826ddb 36 uLCD.printf("input: %c\n",input_char);
colson 4:62c590826ddb 37 if(input_char == 'a' || input_char == 'A'){
colson 4:62c590826ddb 38 uLCD.printf("a\n");
Jeco13 3:6e52b66c5a0c 39 dot();
Jeco13 3:6e52b66c5a0c 40 //wait(w); //wait 0.5s in between
Jeco13 3:6e52b66c5a0c 41 dash();
Jeco13 3:6e52b66c5a0c 42 //wait(w);
Jeco13 3:6e52b66c5a0c 43 }
colson 4:62c590826ddb 44 else if(input_char == 'b' || input_char == 'B'){
colson 4:62c590826ddb 45 uLCD.printf("b\n");
Jeco13 3:6e52b66c5a0c 46 dash();
Jeco13 3:6e52b66c5a0c 47 //wait(w);
Jeco13 3:6e52b66c5a0c 48 dot();
Jeco13 3:6e52b66c5a0c 49 //wait(w);
Jeco13 3:6e52b66c5a0c 50 dot();
Jeco13 3:6e52b66c5a0c 51 //wait(w);
Jeco13 3:6e52b66c5a0c 52 dot();
Jeco13 3:6e52b66c5a0c 53 //wait(w);
Jeco13 3:6e52b66c5a0c 54 }
colson 4:62c590826ddb 55 else if(input_char == 'c'||input_char == 'C'){
colson 4:62c590826ddb 56 uLCD.printf("c\n");
Jeco13 3:6e52b66c5a0c 57 dash();
Jeco13 3:6e52b66c5a0c 58 //wait(w);
Jeco13 3:6e52b66c5a0c 59 dot();
Jeco13 3:6e52b66c5a0c 60 //wait(w);
Jeco13 3:6e52b66c5a0c 61 dash();
Jeco13 3:6e52b66c5a0c 62 //wait(w);
Jeco13 3:6e52b66c5a0c 63 dot();
Jeco13 3:6e52b66c5a0c 64 //wait(w);
Jeco13 3:6e52b66c5a0c 65 }
colson 4:62c590826ddb 66 else if(input_char == 'd'||input_char == 'D'){
colson 4:62c590826ddb 67 uLCD.printf("d\n");
Jeco13 3:6e52b66c5a0c 68 dash();
Jeco13 3:6e52b66c5a0c 69 //wait(w);
Jeco13 3:6e52b66c5a0c 70 dot();
Jeco13 3:6e52b66c5a0c 71 //wait(w);
Jeco13 3:6e52b66c5a0c 72 dot();
Jeco13 3:6e52b66c5a0c 73 //wait(w);
colson 4:62c590826ddb 74 }else if(input_char == 'e'||input_char == 'E'){
colson 4:62c590826ddb 75 uLCD.printf("e\n");
Jeco13 3:6e52b66c5a0c 76 dot();
Jeco13 3:6e52b66c5a0c 77 //wait(w);
Jeco13 3:6e52b66c5a0c 78 }
colson 4:62c590826ddb 79 else if(input_char == 'f'||input_char == 'F'){
colson 4:62c590826ddb 80 uLCD.printf("f\n");
Jeco13 3:6e52b66c5a0c 81 dot();
Jeco13 3:6e52b66c5a0c 82 //wait(w);
Jeco13 3:6e52b66c5a0c 83 dot();
Jeco13 3:6e52b66c5a0c 84 //wait(w);
Jeco13 3:6e52b66c5a0c 85 dash();
Jeco13 3:6e52b66c5a0c 86 //wait(w);
Jeco13 3:6e52b66c5a0c 87 dot();
Jeco13 3:6e52b66c5a0c 88 //wait(w);
Jeco13 3:6e52b66c5a0c 89 }
colson 4:62c590826ddb 90 else if(input_char == 'g'||input_char == 'G'){
colson 4:62c590826ddb 91 uLCD.printf("g\n");
Jeco13 3:6e52b66c5a0c 92 dash();
Jeco13 3:6e52b66c5a0c 93 //wait(w);
Jeco13 3:6e52b66c5a0c 94 dash();
Jeco13 3:6e52b66c5a0c 95 //wait(w);
Jeco13 3:6e52b66c5a0c 96 dot();
Jeco13 3:6e52b66c5a0c 97 //wait(w);
Jeco13 3:6e52b66c5a0c 98 }
colson 4:62c590826ddb 99 else if(input_char == 'h'||input_char == 'H'){
colson 4:62c590826ddb 100 uLCD.printf("h\n");
Jeco13 3:6e52b66c5a0c 101 dot();
Jeco13 3:6e52b66c5a0c 102 //wait(w);
Jeco13 3:6e52b66c5a0c 103 dot();
Jeco13 3:6e52b66c5a0c 104 //wait(w);
Jeco13 3:6e52b66c5a0c 105 dot();
Jeco13 3:6e52b66c5a0c 106 //wait(w);
Jeco13 3:6e52b66c5a0c 107 dot();
Jeco13 3:6e52b66c5a0c 108 //wait(w);
Jeco13 3:6e52b66c5a0c 109 }
colson 4:62c590826ddb 110 else if(input_char == 'i'||input_char == 'I'){
colson 4:62c590826ddb 111 uLCD.printf("i\n");
Jeco13 3:6e52b66c5a0c 112 dot();
Jeco13 3:6e52b66c5a0c 113 //wait(w);
Jeco13 3:6e52b66c5a0c 114 dot();
Jeco13 3:6e52b66c5a0c 115 //wait(w);
Jeco13 3:6e52b66c5a0c 116 }
colson 4:62c590826ddb 117 else if(input_char == 'j'||input_char == 'J'){
colson 4:62c590826ddb 118 uLCD.printf("j\n");
Jeco13 3:6e52b66c5a0c 119 dot();
Jeco13 3:6e52b66c5a0c 120 //wait(w);
Jeco13 3:6e52b66c5a0c 121 dash();
Jeco13 3:6e52b66c5a0c 122 //wait(w);
Jeco13 3:6e52b66c5a0c 123 dash();
Jeco13 3:6e52b66c5a0c 124 //wait(w);
Jeco13 3:6e52b66c5a0c 125 dash();
Jeco13 3:6e52b66c5a0c 126 //wait(w);
Jeco13 3:6e52b66c5a0c 127 }
colson 4:62c590826ddb 128 else if(input_char == 'k'||input_char == 'K'){
colson 4:62c590826ddb 129 uLCD.printf("k\n");
Jeco13 3:6e52b66c5a0c 130 dash();
Jeco13 3:6e52b66c5a0c 131 //wait(w);
Jeco13 3:6e52b66c5a0c 132 dot();
Jeco13 3:6e52b66c5a0c 133 //wait(w);
Jeco13 3:6e52b66c5a0c 134 dash();
Jeco13 3:6e52b66c5a0c 135 //wait(w);
Jeco13 3:6e52b66c5a0c 136 }
colson 4:62c590826ddb 137 else if(input_char == 'l'||input_char == 'L'){
colson 4:62c590826ddb 138 uLCD.printf("l\n");
Jeco13 3:6e52b66c5a0c 139 dot();
Jeco13 3:6e52b66c5a0c 140 //wait(w);
Jeco13 3:6e52b66c5a0c 141 dash();
Jeco13 3:6e52b66c5a0c 142 //wait(w);
Jeco13 3:6e52b66c5a0c 143 dot();
Jeco13 3:6e52b66c5a0c 144 //wait(w);
Jeco13 3:6e52b66c5a0c 145 dot();
Jeco13 3:6e52b66c5a0c 146 //wait(w);
Jeco13 3:6e52b66c5a0c 147 }
colson 4:62c590826ddb 148 else if(input_char == 'm'||input_char == 'M'){
colson 4:62c590826ddb 149 uLCD.printf("m\n");
Jeco13 3:6e52b66c5a0c 150 dash();
Jeco13 3:6e52b66c5a0c 151 //wait(w);
Jeco13 3:6e52b66c5a0c 152 dash();
Jeco13 3:6e52b66c5a0c 153 //wait(w);
Jeco13 3:6e52b66c5a0c 154 }
colson 4:62c590826ddb 155 else if(input_char == 'n'||input_char == 'N'){
colson 4:62c590826ddb 156 uLCD.printf("n\n");
Jeco13 3:6e52b66c5a0c 157 dash();
Jeco13 3:6e52b66c5a0c 158 //wait(w);
Jeco13 3:6e52b66c5a0c 159 dot();
Jeco13 3:6e52b66c5a0c 160 //wait(w);
Jeco13 3:6e52b66c5a0c 161 }
colson 4:62c590826ddb 162 else if(input_char == 'o'|| input_char == 'O'){
colson 4:62c590826ddb 163 uLCD.printf("o\n");
colson 4:62c590826ddb 164 //testled = 1;
colson 4:62c590826ddb 165 dash();
colson 4:62c590826ddb 166 //wait(2);
Jeco13 3:6e52b66c5a0c 167 dash();
Jeco13 3:6e52b66c5a0c 168 //wait(w);
Jeco13 3:6e52b66c5a0c 169 dash();
Jeco13 3:6e52b66c5a0c 170 //wait(w);
colson 4:62c590826ddb 171 //testled = 0;
Jeco13 3:6e52b66c5a0c 172 }
colson 4:62c590826ddb 173 else if(input_char == 'p'||input_char == 'P'){
colson 4:62c590826ddb 174 uLCD.printf("p\n");
Jeco13 3:6e52b66c5a0c 175 dot();
Jeco13 3:6e52b66c5a0c 176 //wait(w);
Jeco13 3:6e52b66c5a0c 177 dash();
Jeco13 3:6e52b66c5a0c 178 //wait(w);
Jeco13 3:6e52b66c5a0c 179 dash();
Jeco13 3:6e52b66c5a0c 180 //wait(w);
Jeco13 3:6e52b66c5a0c 181 dot();
Jeco13 3:6e52b66c5a0c 182 //wait(w);
Jeco13 3:6e52b66c5a0c 183 }
colson 4:62c590826ddb 184 else if(input_char == 'q'||input_char == 'Q'){
colson 4:62c590826ddb 185 uLCD.printf("q\n");
Jeco13 3:6e52b66c5a0c 186 dash();
Jeco13 3:6e52b66c5a0c 187 dash();
Jeco13 3:6e52b66c5a0c 188 dot();
Jeco13 3:6e52b66c5a0c 189 dash();
Jeco13 3:6e52b66c5a0c 190 }
colson 4:62c590826ddb 191 else if(input_char == 'r'||input_char == 'R'){
colson 4:62c590826ddb 192 uLCD.printf("r\n");
Jeco13 3:6e52b66c5a0c 193 dot();
Jeco13 3:6e52b66c5a0c 194 dash();
Jeco13 3:6e52b66c5a0c 195 dot();
Jeco13 3:6e52b66c5a0c 196 }
colson 4:62c590826ddb 197 else if(input_char == 's'||input_char == 'S'){
colson 4:62c590826ddb 198 uLCD.printf("s\n");
colson 4:62c590826ddb 199 //otherled = 1;
Jeco13 3:6e52b66c5a0c 200 dot();
Jeco13 3:6e52b66c5a0c 201 dot();
Jeco13 3:6e52b66c5a0c 202 dot();
colson 4:62c590826ddb 203 //otherled = 0;
Jeco13 3:6e52b66c5a0c 204 }
colson 4:62c590826ddb 205 else if(input_char == 't'||input_char == 'T'){
colson 4:62c590826ddb 206 uLCD.printf("t\n");
Jeco13 3:6e52b66c5a0c 207 dash();
Jeco13 3:6e52b66c5a0c 208 }
colson 4:62c590826ddb 209 else if(input_char == 'u'||input_char == 'U'){
colson 4:62c590826ddb 210 uLCD.printf("u\n");
Jeco13 3:6e52b66c5a0c 211 dot();
Jeco13 3:6e52b66c5a0c 212 dot();
Jeco13 3:6e52b66c5a0c 213 dash();
Jeco13 3:6e52b66c5a0c 214 }
colson 4:62c590826ddb 215 else if(input_char == 'v'||input_char == 'V'){
colson 4:62c590826ddb 216 uLCD.printf("v\n");
Jeco13 3:6e52b66c5a0c 217 dot();
Jeco13 3:6e52b66c5a0c 218 dot();
Jeco13 3:6e52b66c5a0c 219 dot();
Jeco13 3:6e52b66c5a0c 220 dash();
Jeco13 3:6e52b66c5a0c 221 }
colson 4:62c590826ddb 222 else if(input_char == 'w'||input_char == 'W'){
colson 4:62c590826ddb 223 uLCD.printf("w\n");
Jeco13 3:6e52b66c5a0c 224 dot();
Jeco13 3:6e52b66c5a0c 225 dash();
Jeco13 3:6e52b66c5a0c 226 dash();
Jeco13 3:6e52b66c5a0c 227 }
colson 4:62c590826ddb 228 else if(input_char == 'x'||input_char == 'X'){
colson 4:62c590826ddb 229 uLCD.printf("x\n");
Jeco13 3:6e52b66c5a0c 230 dash();
Jeco13 3:6e52b66c5a0c 231 dot();
Jeco13 3:6e52b66c5a0c 232 dot();
Jeco13 3:6e52b66c5a0c 233 dash();
Jeco13 3:6e52b66c5a0c 234 }
colson 4:62c590826ddb 235 else if(input_char == 'y'||input_char == 'Y'){
colson 4:62c590826ddb 236 uLCD.printf("y\n");
Jeco13 3:6e52b66c5a0c 237 dash();
Jeco13 3:6e52b66c5a0c 238 dot();
Jeco13 3:6e52b66c5a0c 239 dash();
Jeco13 3:6e52b66c5a0c 240 dash();
Jeco13 3:6e52b66c5a0c 241 }
colson 4:62c590826ddb 242 else if(input_char == 'z'||input_char == 'Z'){
colson 4:62c590826ddb 243 uLCD.printf("z\n");
Jeco13 3:6e52b66c5a0c 244 dash();
Jeco13 3:6e52b66c5a0c 245 dash();
Jeco13 3:6e52b66c5a0c 246 dot();
Jeco13 3:6e52b66c5a0c 247 dot();
Jeco13 3:6e52b66c5a0c 248 }
Jeco13 3:6e52b66c5a0c 249 else if(input_char == '0'){
Jeco13 3:6e52b66c5a0c 250 dash();
Jeco13 3:6e52b66c5a0c 251 dash();
Jeco13 3:6e52b66c5a0c 252 dash();
Jeco13 3:6e52b66c5a0c 253 dash();
Jeco13 3:6e52b66c5a0c 254 dash();
Jeco13 3:6e52b66c5a0c 255 }
Jeco13 3:6e52b66c5a0c 256 else if(input_char == '1'){
Jeco13 3:6e52b66c5a0c 257 dot();
Jeco13 3:6e52b66c5a0c 258 dash();
Jeco13 3:6e52b66c5a0c 259 dash();
Jeco13 3:6e52b66c5a0c 260 dash();
Jeco13 3:6e52b66c5a0c 261 dash();
Jeco13 3:6e52b66c5a0c 262 }
Jeco13 3:6e52b66c5a0c 263 else if(input_char == '2'){
Jeco13 3:6e52b66c5a0c 264 dot();
Jeco13 3:6e52b66c5a0c 265 dot();
Jeco13 3:6e52b66c5a0c 266 dash();
Jeco13 3:6e52b66c5a0c 267 dash();
Jeco13 3:6e52b66c5a0c 268 dash();
Jeco13 3:6e52b66c5a0c 269 }
Jeco13 3:6e52b66c5a0c 270 else if(input_char == '3'){
Jeco13 3:6e52b66c5a0c 271 dot();
Jeco13 3:6e52b66c5a0c 272 dot();
Jeco13 3:6e52b66c5a0c 273 dot();
Jeco13 3:6e52b66c5a0c 274 dash();
Jeco13 3:6e52b66c5a0c 275 dash();
Jeco13 3:6e52b66c5a0c 276 }
Jeco13 3:6e52b66c5a0c 277 else if(input_char == '4'){
Jeco13 3:6e52b66c5a0c 278 dot();
Jeco13 3:6e52b66c5a0c 279 dot();
Jeco13 3:6e52b66c5a0c 280 dot();
Jeco13 3:6e52b66c5a0c 281 dot();
Jeco13 3:6e52b66c5a0c 282 dash();
Jeco13 3:6e52b66c5a0c 283 }
Jeco13 3:6e52b66c5a0c 284 else if(input_char == '5'){
Jeco13 3:6e52b66c5a0c 285 dot();
Jeco13 3:6e52b66c5a0c 286 dot();
Jeco13 3:6e52b66c5a0c 287 dot();
Jeco13 3:6e52b66c5a0c 288 dot();
Jeco13 3:6e52b66c5a0c 289 dot();
Jeco13 3:6e52b66c5a0c 290 }
Jeco13 3:6e52b66c5a0c 291 else if(input_char == '6'){
Jeco13 3:6e52b66c5a0c 292 dash();
Jeco13 3:6e52b66c5a0c 293 dot();
Jeco13 3:6e52b66c5a0c 294 dot();
Jeco13 3:6e52b66c5a0c 295 dot();
Jeco13 3:6e52b66c5a0c 296 dot();
Jeco13 3:6e52b66c5a0c 297 }
Jeco13 3:6e52b66c5a0c 298 else if(input_char == '7'){
Jeco13 3:6e52b66c5a0c 299 dash();
Jeco13 3:6e52b66c5a0c 300 dash();
Jeco13 3:6e52b66c5a0c 301 dot();
Jeco13 3:6e52b66c5a0c 302 dot();
Jeco13 3:6e52b66c5a0c 303 dot();
Jeco13 3:6e52b66c5a0c 304 }
Jeco13 3:6e52b66c5a0c 305 else if(input_char == '8'){
Jeco13 3:6e52b66c5a0c 306 dash();
Jeco13 3:6e52b66c5a0c 307 dash();
Jeco13 3:6e52b66c5a0c 308 dash();
Jeco13 3:6e52b66c5a0c 309 dot();
Jeco13 3:6e52b66c5a0c 310 dot();
Jeco13 3:6e52b66c5a0c 311 }
Jeco13 3:6e52b66c5a0c 312 else if(input_char == '9'){
Jeco13 3:6e52b66c5a0c 313 dash();
Jeco13 3:6e52b66c5a0c 314 dash();
Jeco13 3:6e52b66c5a0c 315 dash();
Jeco13 3:6e52b66c5a0c 316 dash();
Jeco13 3:6e52b66c5a0c 317 dot();
Jeco13 3:6e52b66c5a0c 318 }
Jeco13 3:6e52b66c5a0c 319 else{wait(1);}//error character, or space character.
Jeco13 2:d60577c26a58 320 }