lab4

Dependencies:   mbed

Fork of lab4fra221 by Chawisorn samrit

Committer:
csggreen
Date:
Fri Nov 24 04:10:00 2017 +0000
Revision:
0:bc396bb049ae
lab3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
csggreen 0:bc396bb049ae 1 #include "mbed.h"
csggreen 0:bc396bb049ae 2 Serial pc(D8, D2);
csggreen 0:bc396bb049ae 3
csggreen 0:bc396bb049ae 4 DigitalOut gsled1(D3);
csggreen 0:bc396bb049ae 5 DigitalOut gsled2(D4);
csggreen 0:bc396bb049ae 6 DigitalOut gsled3(D5);
csggreen 0:bc396bb049ae 7 DigitalOut gsled4(D6);
csggreen 0:bc396bb049ae 8
csggreen 0:bc396bb049ae 9 AnalogIn analog_value(A1);//อานค่าAnalogจากขาA1
csggreen 0:bc396bb049ae 10 uint8_t state_show=0;
csggreen 0:bc396bb049ae 11 uint8_t data;
csggreen 0:bc396bb049ae 12 uint8_t Bluet;
csggreen 0:bc396bb049ae 13 float formvolume;//รับค่าจากR
csggreen 0:bc396bb049ae 14 float mVolt;//รับค่าที่แปลงแล้วหน่วยmV
csggreen 0:bc396bb049ae 15 float Volt;
csggreen 0:bc396bb049ae 16 int x=0;
csggreen 0:bc396bb049ae 17
csggreen 0:bc396bb049ae 18 void Number0(){//float Number
csggreen 0:bc396bb049ae 19 gsled1 = 0;
csggreen 0:bc396bb049ae 20 gsled2 = 0;
csggreen 0:bc396bb049ae 21 gsled3 = 0;
csggreen 0:bc396bb049ae 22 gsled4 = 0;
csggreen 0:bc396bb049ae 23 }
csggreen 0:bc396bb049ae 24 void Number1(){// Number
csggreen 0:bc396bb049ae 25 gsled1 = 0;
csggreen 0:bc396bb049ae 26 gsled2 = 0;
csggreen 0:bc396bb049ae 27 gsled3 = 0;
csggreen 0:bc396bb049ae 28 gsled4 = 1;
csggreen 0:bc396bb049ae 29 }
csggreen 0:bc396bb049ae 30 void Number2(){
csggreen 0:bc396bb049ae 31 gsled1 = 0;
csggreen 0:bc396bb049ae 32 gsled2 = 0;
csggreen 0:bc396bb049ae 33 gsled3 = 1;
csggreen 0:bc396bb049ae 34 gsled4 = 0;
csggreen 0:bc396bb049ae 35 }
csggreen 0:bc396bb049ae 36 void Number3(){
csggreen 0:bc396bb049ae 37 gsled1 = 0;
csggreen 0:bc396bb049ae 38 gsled2 = 0;
csggreen 0:bc396bb049ae 39 gsled3 = 1;
csggreen 0:bc396bb049ae 40 gsled4 = 1;
csggreen 0:bc396bb049ae 41 }
csggreen 0:bc396bb049ae 42 void Number4(){
csggreen 0:bc396bb049ae 43 gsled1 = 0;
csggreen 0:bc396bb049ae 44 gsled2 = 1;
csggreen 0:bc396bb049ae 45 gsled3 = 0;
csggreen 0:bc396bb049ae 46 gsled4 = 0;
csggreen 0:bc396bb049ae 47 }
csggreen 0:bc396bb049ae 48 void Number5(){
csggreen 0:bc396bb049ae 49 gsled1 = 0;
csggreen 0:bc396bb049ae 50 gsled2 = 1;
csggreen 0:bc396bb049ae 51 gsled3 = 0;
csggreen 0:bc396bb049ae 52 gsled4 = 1;
csggreen 0:bc396bb049ae 53 }
csggreen 0:bc396bb049ae 54 void Number6(){
csggreen 0:bc396bb049ae 55 gsled1 = 0;
csggreen 0:bc396bb049ae 56 gsled2 = 1;
csggreen 0:bc396bb049ae 57 gsled3 = 1;
csggreen 0:bc396bb049ae 58 gsled4 = 0;
csggreen 0:bc396bb049ae 59 }
csggreen 0:bc396bb049ae 60 void Number7(){
csggreen 0:bc396bb049ae 61 gsled1 = 0;
csggreen 0:bc396bb049ae 62 gsled2 = 1;
csggreen 0:bc396bb049ae 63 gsled3 = 1;
csggreen 0:bc396bb049ae 64 gsled4 = 1;
csggreen 0:bc396bb049ae 65 }
csggreen 0:bc396bb049ae 66 void Number8(){
csggreen 0:bc396bb049ae 67 gsled1 = 1;
csggreen 0:bc396bb049ae 68 gsled2 = 0;
csggreen 0:bc396bb049ae 69 gsled3 = 0;
csggreen 0:bc396bb049ae 70 gsled4 = 0;
csggreen 0:bc396bb049ae 71 }
csggreen 0:bc396bb049ae 72 void Number9(){
csggreen 0:bc396bb049ae 73 gsled1 = 1;
csggreen 0:bc396bb049ae 74 gsled2 = 0;
csggreen 0:bc396bb049ae 75 gsled3 = 0;
csggreen 0:bc396bb049ae 76 gsled4 = 1;
csggreen 0:bc396bb049ae 77 }
csggreen 0:bc396bb049ae 78 void segmentfunction(){
csggreen 0:bc396bb049ae 79 if (Bluet==0){
csggreen 0:bc396bb049ae 80 Number0();
csggreen 0:bc396bb049ae 81 }
csggreen 0:bc396bb049ae 82 else if (Bluet==1){
csggreen 0:bc396bb049ae 83 Number1();
csggreen 0:bc396bb049ae 84 }
csggreen 0:bc396bb049ae 85 else if (Bluet==2){
csggreen 0:bc396bb049ae 86 Number2();
csggreen 0:bc396bb049ae 87 }
csggreen 0:bc396bb049ae 88 else if (Bluet==3){
csggreen 0:bc396bb049ae 89 Number3();
csggreen 0:bc396bb049ae 90 }
csggreen 0:bc396bb049ae 91 else if (Bluet==4){
csggreen 0:bc396bb049ae 92 Number4();
csggreen 0:bc396bb049ae 93 }
csggreen 0:bc396bb049ae 94 else if (Bluet==5){
csggreen 0:bc396bb049ae 95 Number5();
csggreen 0:bc396bb049ae 96 }
csggreen 0:bc396bb049ae 97 else if (Bluet==6){
csggreen 0:bc396bb049ae 98 Number6();
csggreen 0:bc396bb049ae 99 }
csggreen 0:bc396bb049ae 100 else if (Bluet==7){
csggreen 0:bc396bb049ae 101 Number7();
csggreen 0:bc396bb049ae 102 }
csggreen 0:bc396bb049ae 103 else if (Bluet==8){
csggreen 0:bc396bb049ae 104 Number8();
csggreen 0:bc396bb049ae 105 }
csggreen 0:bc396bb049ae 106 else if (Bluet==9){
csggreen 0:bc396bb049ae 107 Number9();
csggreen 0:bc396bb049ae 108 }
csggreen 0:bc396bb049ae 109 }
csggreen 0:bc396bb049ae 110 void showmenu(){
csggreen 0:bc396bb049ae 111 pc.printf("************\n");
csggreen 0:bc396bb049ae 112 pc.printf(" MENU \n");
csggreen 0:bc396bb049ae 113 pc.printf("************\n");
csggreen 0:bc396bb049ae 114 pc.printf("1.PLAY SEGMENT \n");
csggreen 0:bc396bb049ae 115 pc.printf("2.READ VR\n");
csggreen 0:bc396bb049ae 116 state_show =1;
csggreen 0:bc396bb049ae 117 }
csggreen 0:bc396bb049ae 118 int main()
csggreen 0:bc396bb049ae 119 {
csggreen 0:bc396bb049ae 120
csggreen 0:bc396bb049ae 121 while(1) {
csggreen 0:bc396bb049ae 122
csggreen 0:bc396bb049ae 123 if (state_show == 0){
csggreen 0:bc396bb049ae 124 showmenu();
csggreen 0:bc396bb049ae 125 pc.readable();
csggreen 0:bc396bb049ae 126 data = pc.getc();
csggreen 0:bc396bb049ae 127 x=0;
csggreen 0:bc396bb049ae 128 if (data=='1'){
csggreen 0:bc396bb049ae 129 pc.printf("PLAY SEGMENT \n");
csggreen 0:bc396bb049ae 130 pc.readable();
csggreen 0:bc396bb049ae 131 data = pc.getc();
csggreen 0:bc396bb049ae 132 while(x==0){
csggreen 0:bc396bb049ae 133 while (data=='0'){
csggreen 0:bc396bb049ae 134 pc.printf("-->0<-- \n\n");
csggreen 0:bc396bb049ae 135 Bluet=0;
csggreen 0:bc396bb049ae 136 segmentfunction();
csggreen 0:bc396bb049ae 137 data = pc.getc();
csggreen 0:bc396bb049ae 138 }
csggreen 0:bc396bb049ae 139 while (data=='1'){
csggreen 0:bc396bb049ae 140 pc.printf("-->1<-- \n\n");
csggreen 0:bc396bb049ae 141 Bluet=1;
csggreen 0:bc396bb049ae 142 segmentfunction();
csggreen 0:bc396bb049ae 143 data = pc.getc();
csggreen 0:bc396bb049ae 144 }
csggreen 0:bc396bb049ae 145 while (data=='2'){
csggreen 0:bc396bb049ae 146 pc.printf("-->2<-- \n\n");
csggreen 0:bc396bb049ae 147 Bluet=2;
csggreen 0:bc396bb049ae 148 segmentfunction();
csggreen 0:bc396bb049ae 149 data = pc.getc();
csggreen 0:bc396bb049ae 150 }
csggreen 0:bc396bb049ae 151 while (data=='3'){
csggreen 0:bc396bb049ae 152 pc.printf("-->3<-- \n\n");
csggreen 0:bc396bb049ae 153 Bluet=3;
csggreen 0:bc396bb049ae 154 segmentfunction();
csggreen 0:bc396bb049ae 155 data = pc.getc();
csggreen 0:bc396bb049ae 156 }
csggreen 0:bc396bb049ae 157 while (data=='4'){
csggreen 0:bc396bb049ae 158 pc.printf("-->4<-- \n\n");
csggreen 0:bc396bb049ae 159 Bluet=4;
csggreen 0:bc396bb049ae 160 segmentfunction();
csggreen 0:bc396bb049ae 161 data = pc.getc();
csggreen 0:bc396bb049ae 162 }
csggreen 0:bc396bb049ae 163 while (data=='5'){
csggreen 0:bc396bb049ae 164 pc.printf("-->5<-- \n\n");
csggreen 0:bc396bb049ae 165 Bluet=5;
csggreen 0:bc396bb049ae 166 segmentfunction();
csggreen 0:bc396bb049ae 167 data = pc.getc();
csggreen 0:bc396bb049ae 168 }
csggreen 0:bc396bb049ae 169 while (data=='6'){
csggreen 0:bc396bb049ae 170 pc.printf("-->6<-- \n\n");
csggreen 0:bc396bb049ae 171 Bluet=6;
csggreen 0:bc396bb049ae 172 segmentfunction();
csggreen 0:bc396bb049ae 173 data = pc.getc();
csggreen 0:bc396bb049ae 174 }
csggreen 0:bc396bb049ae 175 while (data=='7'){
csggreen 0:bc396bb049ae 176 pc.printf("-->7<-- \n\n");
csggreen 0:bc396bb049ae 177 Bluet=7;
csggreen 0:bc396bb049ae 178 segmentfunction();
csggreen 0:bc396bb049ae 179 data = pc.getc();
csggreen 0:bc396bb049ae 180 }
csggreen 0:bc396bb049ae 181 while (data=='8'){
csggreen 0:bc396bb049ae 182 pc.printf("-->8<-- \n\n");
csggreen 0:bc396bb049ae 183 Bluet=8;
csggreen 0:bc396bb049ae 184 segmentfunction();
csggreen 0:bc396bb049ae 185 data = pc.getc();
csggreen 0:bc396bb049ae 186 }
csggreen 0:bc396bb049ae 187 while (data=='9'){
csggreen 0:bc396bb049ae 188 pc.printf("-->9<-- \n\n");
csggreen 0:bc396bb049ae 189 Bluet=9;
csggreen 0:bc396bb049ae 190 segmentfunction();
csggreen 0:bc396bb049ae 191 data = pc.getc();
csggreen 0:bc396bb049ae 192 }
csggreen 0:bc396bb049ae 193 while (data=='x'){
csggreen 0:bc396bb049ae 194 x=1;
csggreen 0:bc396bb049ae 195 state_show = 0;
csggreen 0:bc396bb049ae 196 break;
csggreen 0:bc396bb049ae 197 }
csggreen 0:bc396bb049ae 198
csggreen 0:bc396bb049ae 199 }
csggreen 0:bc396bb049ae 200 }
csggreen 0:bc396bb049ae 201
csggreen 0:bc396bb049ae 202 if (data=='2'){
csggreen 0:bc396bb049ae 203 while(x==0){
csggreen 0:bc396bb049ae 204 while(data=='2'){
csggreen 0:bc396bb049ae 205 formvolume = analog_value.read();
csggreen 0:bc396bb049ae 206 mVolt = formvolume * 5000;
csggreen 0:bc396bb049ae 207 Volt = mVolt/1000;
csggreen 0:bc396bb049ae 208 pc.printf("VRvalue %0.2f V\n",Volt);
csggreen 0:bc396bb049ae 209 wait(0.2);
csggreen 0:bc396bb049ae 210 if(pc.readable()){
csggreen 0:bc396bb049ae 211 data = pc.getc();
csggreen 0:bc396bb049ae 212 if(data == 'x'){
csggreen 0:bc396bb049ae 213 x=1;
csggreen 0:bc396bb049ae 214 state_show = 0;
csggreen 0:bc396bb049ae 215 break;
csggreen 0:bc396bb049ae 216 }
csggreen 0:bc396bb049ae 217 }
csggreen 0:bc396bb049ae 218 }
csggreen 0:bc396bb049ae 219
csggreen 0:bc396bb049ae 220 }
csggreen 0:bc396bb049ae 221
csggreen 0:bc396bb049ae 222
csggreen 0:bc396bb049ae 223 }
csggreen 0:bc396bb049ae 224 }
csggreen 0:bc396bb049ae 225 }
csggreen 0:bc396bb049ae 226
csggreen 0:bc396bb049ae 227
csggreen 0:bc396bb049ae 228
csggreen 0:bc396bb049ae 229 }