Morse Code is generated when user enters a character.

Dependencies:   beep mbed

Committer:
pb300396
Date:
Sun Mar 05 15:19:48 2017 +0000
Revision:
0:2a5815580a95
morse generated;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pb300396 0:2a5815580a95 1 #include "mbed.h"
pb300396 0:2a5815580a95 2 #include"beep.h"
pb300396 0:2a5815580a95 3
pb300396 0:2a5815580a95 4 int morse[26] = {21,1112,1212,112,1,1211,122,1111,11,2221,
pb300396 0:2a5815580a95 5 212,1121,22,12,222,1221,2122,121,111,2,
pb300396 0:2a5815580a95 6 211,2111,221,2112,2212,1122};
pb300396 0:2a5815580a95 7
pb300396 0:2a5815580a95 8 DigitalOut buzzer(PTB0);
pb300396 0:2a5815580a95 9 //DigitalOut myled(LED1);
pb300396 0:2a5815580a95 10 /*DigitalIn gnd(PTB2);
pb300396 0:2a5815580a95 11 DigitalOut zero(PTC1);
pb300396 0:2a5815580a95 12 DigitalOut one(PTC2);*/
pb300396 0:2a5815580a95 13 Serial pc(USBTX,USBRX);
pb300396 0:2a5815580a95 14
pb300396 0:2a5815580a95 15 int main(){
pb300396 0:2a5815580a95 16 int alpha_input;
pb300396 0:2a5815580a95 17 int temp,c,t;
pb300396 0:2a5815580a95 18 pc.printf("Please enter the letter to hear morse \n");
pb300396 0:2a5815580a95 19
pb300396 0:2a5815580a95 20 while(1){
pb300396 0:2a5815580a95 21 if(pc.readable()){
pb300396 0:2a5815580a95 22 alpha_input = pc.getc();
pb300396 0:2a5815580a95 23 pc.putc(alpha_input);
pb300396 0:2a5815580a95 24 pc.printf("\n yo %d : ",(int)alpha_input);
pb300396 0:2a5815580a95 25 if(alpha_input<123 && alpha_input>96){
pb300396 0:2a5815580a95 26 alpha_input=alpha_input - 97;
pb300396 0:2a5815580a95 27 }
pb300396 0:2a5815580a95 28
pb300396 0:2a5815580a95 29 else if(alpha_input<91 &&alpha_input>64){
pb300396 0:2a5815580a95 30 alpha_input=alpha_input-65;
pb300396 0:2a5815580a95 31 }
pb300396 0:2a5815580a95 32
pb300396 0:2a5815580a95 33 else{
pb300396 0:2a5815580a95 34 pc.printf("Invalid character\n");
pb300396 0:2a5815580a95 35
pb300396 0:2a5815580a95 36 }
pb300396 0:2a5815580a95 37
pb300396 0:2a5815580a95 38 c=alpha_input;
pb300396 0:2a5815580a95 39
pb300396 0:2a5815580a95 40 if(c>=0 && c<26)
pb300396 0:2a5815580a95 41 {
pb300396 0:2a5815580a95 42 temp = morse[c];
pb300396 0:2a5815580a95 43 while(temp!=0){
pb300396 0:2a5815580a95 44 t=temp%10;
pb300396 0:2a5815580a95 45 temp=temp/10;
pb300396 0:2a5815580a95 46 if(t==1){
pb300396 0:2a5815580a95 47 buzzer=1;
pb300396 0:2a5815580a95 48 wait(0.1);
pb300396 0:2a5815580a95 49 buzzer=0;
pb300396 0:2a5815580a95 50 pc.putc('.');
pb300396 0:2a5815580a95 51 }
pb300396 0:2a5815580a95 52
pb300396 0:2a5815580a95 53 else if(t==2){
pb300396 0:2a5815580a95 54 buzzer=1;
pb300396 0:2a5815580a95 55 wait(0.25);
pb300396 0:2a5815580a95 56 buzzer=0;
pb300396 0:2a5815580a95 57 pc.putc('-');
pb300396 0:2a5815580a95 58 }
pb300396 0:2a5815580a95 59 wait(0.2);
pb300396 0:2a5815580a95 60 }
pb300396 0:2a5815580a95 61 }
pb300396 0:2a5815580a95 62 wait(0.5);
pb300396 0:2a5815580a95 63 }
pb300396 0:2a5815580a95 64 }
pb300396 0:2a5815580a95 65 }