MorseCodeGenerator
Dependencies: beep mbed tsi_sensor
Diff: main.cpp
- Revision:
- 1:4ae13b5973d7
- Parent:
- 0:feeb8cbe962c
--- a/main.cpp Sun Apr 02 12:12:15 2017 +0000 +++ b/main.cpp Fri Apr 07 04:16:33 2017 +0000 @@ -1,91 +1,99 @@ +/*inbuilt native libraries*/ #include "mbed.h" #include "tsi_sensor.h" -#include"beep.h" +#include"beep.h" -#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) -#define ELEC0 9 -#define ELEC1 10 -#elif defined (TARGET_KL05Z) -#define ELEC0 9 -#define ELEC1 8 +#if defined (TARGET_KL25Z) +#define ELEC0 9 //Electrode 0 of touch slider at pin 9 +#define ELEC1 10 //Electrode 1 of touch slider at pin 10 #else #error TARGET NOT DEFINED #endif + + +/*predefined equivalent morse codes for each alphabet +1 represents dot +2 represents dash*/ + int morse[26] = {21,1112,1212,112,1,1211,122,1111,11,2221, 212,1121,22,12,222,1221,2122,121,111,2, 211,2111,221,2112,2212,1122}; -int divisor = 10; //set divisor, for blinking speed + float slider = -1.0; +DigitalOut buzzer(PTB0); //Object buzzer of class Beep +Serial pc(USBTX,USBRX); //Creating object of class Serial -DigitalOut buzzer(PTB0); -Serial pc(USBTX,USBRX); -int count =0; int main(){ int alpha_input; int temp,c,t; TSIAnalogSlider tsi(ELEC0, ELEC1, 80); - pc.printf("Please enter the letter to hear morse \n"); + pc.printf("\nPlease enter the letter to hear its corresponding Morse Code or Touch the slider\n"); while(1){ - if(pc.readable()){ - alpha_input = pc.getc(); - pc.putc(alpha_input); - pc.printf("\n yo %d : ",(int)alpha_input); - if(alpha_input<123 && alpha_input>96){ - alpha_input=alpha_input - 97; - } - - else if(alpha_input<91 &&alpha_input>64){ - alpha_input=alpha_input-65; - } - - else{ - pc.printf("Invalid character\n"); + + if(pc.readable()) + { + alpha_input = pc.getc(); + pc.printf("\n%c",alpha_input); + pc.printf("\nASCII Equivalent for letter entered: %d \n",(int)alpha_input); + + /*To map lower case characters*/ + if(alpha_input<123 && alpha_input>96) + alpha_input=alpha_input - 97; + + /*To map upper case characters*/ + else if(alpha_input<91 &&alpha_input>64) + alpha_input=alpha_input-65; + + else + pc.printf("\nInvalid character entered. \n"); - } + c=alpha_input; - c=alpha_input; - - if(c>=0 && c<26) + if(c>=0 && c<26) { temp = morse[c]; - while(temp!=0){ + + /*Generate morse code*/ + while(temp!=0) + { t=temp%10; temp=temp/10; if(t==1){ buzzer=1; wait(0.1); buzzer=0; - pc.putc('.'); + pc.printf("."); } else if(t==2){ buzzer=1; wait(0.25); buzzer=0; - pc.putc('-'); + pc.printf("-"); } wait(0.2); } } wait(0.5); + pc.printf("\n"); } if(tsi.readPercentage() != 0) { - count = count +1; //check if slider is tuched, if tuched slider != 0 slider = tsi.readPercentage(); //set slidervalue ( / divisor ) - if(slider>0 && slider<0.5){ + if(slider>0 && slider<0.5) + { buzzer=1; wait(0.1); buzzer=0; pc.printf("."); - } - if(slider>0.5 && slider<0.98){ + } + if(slider>0.5 && slider<0.98){ buzzer=1; wait(0.25); buzzer=0;