lab4

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 Serial pc(D8, D2);
00003 
00004 DigitalOut gsled1(D3);
00005 DigitalOut gsled2(D4);
00006 DigitalOut gsled3(D5);
00007 DigitalOut gsled4(D6);
00008 
00009 AnalogIn analog_value(A1);//อานค่าAnalogจากขาA1
00010 uint8_t state_show=0;
00011 uint8_t data;
00012 uint8_t Bluet;
00013 float formvolume;//รับค่าจากR
00014 float mVolt;//รับค่าที่แปลงแล้วหน่วยmV
00015 float Volt;
00016 int x=0;
00017 
00018 void Number0(){//float Number
00019     gsled1 = 0;
00020     gsled2 = 0;
00021     gsled3 = 0;
00022     gsled4 = 0;
00023     }
00024 void Number1(){// Number
00025     gsled1 = 0;
00026     gsled2 = 0;
00027     gsled3 = 0;
00028     gsled4 = 1;
00029     }
00030 void Number2(){
00031     gsled1 = 0;
00032     gsled2 = 0;
00033     gsled3 = 1;
00034     gsled4 = 0;
00035     }
00036 void Number3(){
00037     gsled1 = 0;
00038     gsled2 = 0;
00039     gsled3 = 1;
00040     gsled4 = 1;
00041     }
00042 void Number4(){
00043     gsled1 = 0;
00044     gsled2 = 1;
00045     gsled3 = 0;
00046     gsled4 = 0;
00047     }
00048 void Number5(){
00049     gsled1 = 0;
00050     gsled2 = 1;
00051     gsled3 = 0;
00052     gsled4 = 1;
00053     }
00054 void Number6(){
00055     gsled1 = 0;
00056     gsled2 = 1;
00057     gsled3 = 1;
00058     gsled4 = 0;
00059     }
00060 void Number7(){
00061     gsled1 = 0;
00062     gsled2 = 1;
00063     gsled3 = 1;
00064     gsled4 = 1;
00065     }
00066 void Number8(){
00067     gsled1 = 1;
00068     gsled2 = 0;
00069     gsled3 = 0;
00070     gsled4 = 0;
00071     }
00072 void Number9(){
00073     gsled1 = 1;
00074     gsled2 = 0;
00075     gsled3 = 0;
00076     gsled4 = 1;
00077     }
00078 void segmentfunction(){
00079     if (Bluet==0){
00080         Number0();
00081         }
00082     else if (Bluet==1){
00083         Number1();
00084         }
00085     else if (Bluet==2){
00086         Number2();
00087         }
00088     else if (Bluet==3){
00089         Number3();
00090         }
00091     else if (Bluet==4){
00092         Number4();
00093         }
00094     else if (Bluet==5){
00095         Number5();
00096         }
00097     else if (Bluet==6){
00098         Number6();
00099         }
00100     else if (Bluet==7){
00101         Number7();
00102         }
00103     else if (Bluet==8){
00104         Number8();
00105         }
00106     else if (Bluet==9){
00107         Number9();
00108         }
00109 }
00110 void showmenu(){
00111             pc.printf("************\n");
00112             pc.printf("   MENU   \n");
00113             pc.printf("************\n");
00114             pc.printf("1.PLAY SEGMENT \n");
00115             pc.printf("2.READ VR\n");
00116             state_show =1;
00117     }
00118 int main()
00119 {
00120   
00121     while(1) {
00122             
00123             if (state_show == 0){
00124                 showmenu();
00125                 pc.readable();
00126                 data = pc.getc();
00127                 x=0;
00128                 if (data=='1'){
00129                                 pc.printf("PLAY SEGMENT \n");
00130                                 pc.readable();
00131                                 data = pc.getc();
00132                                 while(x==0){
00133                                     while (data=='0'){
00134                                         pc.printf("-->0<-- \n\n");
00135                                         Bluet=0;
00136                                         segmentfunction();
00137                                         data = pc.getc();
00138                                     }
00139                                     while (data=='1'){
00140                                         pc.printf("-->1<-- \n\n");
00141                                         Bluet=1;
00142                                         segmentfunction();
00143                                         data = pc.getc();
00144                                     }
00145                                     while (data=='2'){
00146                                         pc.printf("-->2<-- \n\n");
00147                                         Bluet=2;
00148                                         segmentfunction();
00149                                         data = pc.getc();
00150                                     }
00151                                     while (data=='3'){
00152                                         pc.printf("-->3<-- \n\n");
00153                                         Bluet=3;
00154                                         segmentfunction();
00155                                         data = pc.getc();
00156                                     }
00157                                     while (data=='4'){
00158                                         pc.printf("-->4<-- \n\n");
00159                                         Bluet=4;
00160                                         segmentfunction();
00161                                         data = pc.getc();
00162                                     }
00163                                     while (data=='5'){
00164                                         pc.printf("-->5<-- \n\n");
00165                                         Bluet=5;
00166                                         segmentfunction();
00167                                         data = pc.getc();
00168                                     }
00169                                     while (data=='6'){
00170                                         pc.printf("-->6<-- \n\n");
00171                                         Bluet=6;
00172                                         segmentfunction();
00173                                         data = pc.getc();
00174                                     }
00175                                     while (data=='7'){
00176                                         pc.printf("-->7<-- \n\n");
00177                                         Bluet=7;
00178                                         segmentfunction();
00179                                         data = pc.getc();
00180                                     }
00181                                     while (data=='8'){
00182                                         pc.printf("-->8<-- \n\n");
00183                                         Bluet=8;
00184                                         segmentfunction();
00185                                         data = pc.getc();
00186                                     }
00187                                     while (data=='9'){
00188                                         pc.printf("-->9<-- \n\n");
00189                                         Bluet=9;
00190                                         segmentfunction();
00191                                         data = pc.getc();
00192                                     }
00193                                     while (data=='x'){
00194                                         x=1;
00195                                         state_show = 0;
00196                                         break;
00197                                     }
00198                                           
00199                 }
00200                 }
00201                 
00202                 if (data=='2'){
00203                             while(x==0){
00204                                 while(data=='2'){
00205                                     formvolume = analog_value.read();
00206                                     mVolt = formvolume * 5000;
00207                                     Volt = mVolt/1000;
00208                                     pc.printf("VRvalue %0.2f V\n",Volt);
00209                                     wait(0.2);
00210                                     if(pc.readable()){
00211                                           data = pc.getc();
00212                                           if(data == 'x'){
00213                                             x=1;
00214                                             state_show = 0;
00215                                             break;
00216                                         }
00217                                         }
00218                                 }
00219                               
00220                             }
00221                             
00222 
00223                 }
00224         }
00225     }
00226         
00227         
00228         
00229 }