059,062

Dependencies:   mbed

Committer:
larmedo
Date:
Wed Dec 09 07:19:41 2015 +0000
Revision:
1:974e31e928ce
Parent:
0:681bc2aada6f
2B Ding Dang Dong box

Who changed what in which revision?

UserRevisionLine numberNew contents of line
larmedo 0:681bc2aada6f 1 #include "mbed.h"
larmedo 0:681bc2aada6f 2 #include <math.h>
larmedo 0:681bc2aada6f 3
larmedo 0:681bc2aada6f 4
larmedo 0:681bc2aada6f 5 SPI My_SPI(D11,D12,D13);
larmedo 0:681bc2aada6f 6 DigitalOut cs(D10);
larmedo 0:681bc2aada6f 7
larmedo 0:681bc2aada6f 8
larmedo 0:681bc2aada6f 9 AnalogIn Analog_in(A5);
larmedo 0:681bc2aada6f 10
larmedo 1:974e31e928ce 11 Serial pc(PA_11,PA_12);
larmedo 1:974e31e928ce 12 //Serial pc(PA_2,PA_3);
larmedo 0:681bc2aada6f 13
larmedo 0:681bc2aada6f 14 void Point_Smile(int);
larmedo 0:681bc2aada6f 15
larmedo 0:681bc2aada6f 16 int main()
larmedo 0:681bc2aada6f 17 {
larmedo 0:681bc2aada6f 18 My_SPI.frequency(100000);
larmedo 0:681bc2aada6f 19 My_SPI.format(8,0);
larmedo 0:681bc2aada6f 20
larmedo 0:681bc2aada6f 21 uint8_t state_show=0;
larmedo 0:681bc2aada6f 22 uint8_t data_a[5]={ '0','0','0','0','0' },data='0';
larmedo 0:681bc2aada6f 23 int Colum[4]={0x00,0x00,0x00,0x00},Colum_level[4]={0x00,0x00,0x00,0x00},i=0,point=0;
larmedo 0:681bc2aada6f 24 int data_level[4]={ 0,0,0,0 },data_b[4]={ 0,0,0,0 };
larmedo 0:681bc2aada6f 25 float data_point[4],data_poi=0,analog_read=0;
larmedo 0:681bc2aada6f 26 cs=0;
larmedo 0:681bc2aada6f 27 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 28 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 29 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 30 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 31 cs=1;
larmedo 0:681bc2aada6f 32
larmedo 0:681bc2aada6f 33 while (1)
larmedo 0:681bc2aada6f 34 {
larmedo 0:681bc2aada6f 35 if (state_show==0)
larmedo 0:681bc2aada6f 36 {
larmedo 0:681bc2aada6f 37 pc.printf("Menu\n");
larmedo 0:681bc2aada6f 38 pc.printf("1.Set Colum 1\n");
larmedo 0:681bc2aada6f 39 pc.printf("2.Set Colum 2\n");
larmedo 0:681bc2aada6f 40 pc.printf("3.Set Colum 3\n");
larmedo 0:681bc2aada6f 41 pc.printf("4.Set Colum 4\n");
larmedo 0:681bc2aada6f 42 pc.printf("5.Send command\n");
larmedo 0:681bc2aada6f 43 state_show=1;
larmedo 0:681bc2aada6f 44 }
larmedo 0:681bc2aada6f 45
larmedo 0:681bc2aada6f 46 if(pc.readable())
larmedo 0:681bc2aada6f 47 {
larmedo 0:681bc2aada6f 48 data = pc.getc();
larmedo 0:681bc2aada6f 49 pc.printf("\n");
larmedo 0:681bc2aada6f 50 if (data=='1')
larmedo 0:681bc2aada6f 51 {
larmedo 0:681bc2aada6f 52 pc.printf("Select level sound Put 1-4\n");
larmedo 0:681bc2aada6f 53 while (data == '1')
larmedo 0:681bc2aada6f 54 {
larmedo 0:681bc2aada6f 55 data_a[0] = pc.getc();
larmedo 0:681bc2aada6f 56
larmedo 0:681bc2aada6f 57 if( data_a[0]=='1' || data_a[0]=='2' || data_a[0]=='3' || data_a[0]=='4' )
larmedo 0:681bc2aada6f 58 {
larmedo 0:681bc2aada6f 59 data = '0';
larmedo 0:681bc2aada6f 60 state_show=0;
larmedo 0:681bc2aada6f 61 }
larmedo 0:681bc2aada6f 62 else
larmedo 0:681bc2aada6f 63 {
larmedo 0:681bc2aada6f 64 pc.printf("Error Please Put 1-4\n");
larmedo 0:681bc2aada6f 65 }
larmedo 0:681bc2aada6f 66 }
larmedo 0:681bc2aada6f 67 }
larmedo 0:681bc2aada6f 68
larmedo 0:681bc2aada6f 69 else if (data=='2')
larmedo 0:681bc2aada6f 70 {
larmedo 0:681bc2aada6f 71 pc.printf("Select level sound Put 1-4\n");
larmedo 0:681bc2aada6f 72 while (data == '2')
larmedo 0:681bc2aada6f 73 {
larmedo 0:681bc2aada6f 74 data_a[1] = pc.getc();
larmedo 0:681bc2aada6f 75
larmedo 0:681bc2aada6f 76 if( data_a[1]=='1' || data_a[1]=='2' || data_a[1]=='3' || data_a[1]=='4' )
larmedo 0:681bc2aada6f 77 {
larmedo 0:681bc2aada6f 78 data = '0';
larmedo 0:681bc2aada6f 79 state_show=0;
larmedo 0:681bc2aada6f 80 }
larmedo 0:681bc2aada6f 81 else
larmedo 0:681bc2aada6f 82 {
larmedo 0:681bc2aada6f 83 pc.printf("Error Please Put 1-4\n");
larmedo 0:681bc2aada6f 84 }
larmedo 0:681bc2aada6f 85 }
larmedo 0:681bc2aada6f 86 }
larmedo 0:681bc2aada6f 87
larmedo 0:681bc2aada6f 88 else if (data=='3')
larmedo 0:681bc2aada6f 89 {
larmedo 0:681bc2aada6f 90 pc.printf("Select level sound Put 1-4\n");
larmedo 0:681bc2aada6f 91 while (data == '3')
larmedo 0:681bc2aada6f 92 {
larmedo 0:681bc2aada6f 93 data_a[2] = pc.getc();
larmedo 0:681bc2aada6f 94
larmedo 0:681bc2aada6f 95 if( data_a[2]=='1' || data_a[2]=='2' || data_a[2]=='3' || data_a[2]=='4' )
larmedo 0:681bc2aada6f 96 {
larmedo 0:681bc2aada6f 97 data = '0';
larmedo 0:681bc2aada6f 98 state_show=0;
larmedo 0:681bc2aada6f 99 }
larmedo 0:681bc2aada6f 100 else
larmedo 0:681bc2aada6f 101 {
larmedo 0:681bc2aada6f 102 pc.printf("Error Please Put 1-4\n");
larmedo 0:681bc2aada6f 103 }
larmedo 0:681bc2aada6f 104 }
larmedo 0:681bc2aada6f 105 }
larmedo 0:681bc2aada6f 106
larmedo 0:681bc2aada6f 107 else if (data=='4')
larmedo 0:681bc2aada6f 108 {
larmedo 0:681bc2aada6f 109 pc.printf("Select level sound Put 1-4\n");
larmedo 0:681bc2aada6f 110 while (data == '4')
larmedo 0:681bc2aada6f 111 {
larmedo 0:681bc2aada6f 112 data_a[3] = pc.getc();
larmedo 0:681bc2aada6f 113
larmedo 0:681bc2aada6f 114 if( data_a[3]=='1' || data_a[3]=='2' || data_a[3]=='3' || data_a[3]=='4' )
larmedo 0:681bc2aada6f 115 {
larmedo 0:681bc2aada6f 116 data = '0';
larmedo 0:681bc2aada6f 117 state_show=0;
larmedo 0:681bc2aada6f 118 }
larmedo 0:681bc2aada6f 119 else
larmedo 0:681bc2aada6f 120 {
larmedo 0:681bc2aada6f 121 pc.printf("Error Please Put 1-4\n");
larmedo 0:681bc2aada6f 122 }
larmedo 0:681bc2aada6f 123 }
larmedo 0:681bc2aada6f 124 }
larmedo 0:681bc2aada6f 125
larmedo 0:681bc2aada6f 126 else if (data=='5')
larmedo 0:681bc2aada6f 127 {
larmedo 0:681bc2aada6f 128
larmedo 0:681bc2aada6f 129 if ( data_a[0]=='0' || data_a[1]=='0' || data_a[2]=='0' || data_a[3]=='0')
larmedo 0:681bc2aada6f 130 {
larmedo 0:681bc2aada6f 131 pc.printf("Please Set All Colum \n");
larmedo 0:681bc2aada6f 132 data = '0';
larmedo 0:681bc2aada6f 133 state_show=0;
larmedo 0:681bc2aada6f 134 }
larmedo 0:681bc2aada6f 135
larmedo 0:681bc2aada6f 136 else
larmedo 0:681bc2aada6f 137 {
larmedo 0:681bc2aada6f 138 //แสดงไฟตามค่า(ส่งค่าไป)
larmedo 0:681bc2aada6f 139
larmedo 0:681bc2aada6f 140 for(i=0;i<4;i++)
larmedo 0:681bc2aada6f 141 {
larmedo 0:681bc2aada6f 142 if (data_a[i]=='1')
larmedo 0:681bc2aada6f 143 { Colum[i]=0xC0;
larmedo 0:681bc2aada6f 144 data_b[i]=1;
larmedo 0:681bc2aada6f 145 }
larmedo 0:681bc2aada6f 146 else if (data_a[i]=='2')
larmedo 0:681bc2aada6f 147 {
larmedo 0:681bc2aada6f 148 Colum[i]=0xF0;
larmedo 0:681bc2aada6f 149 data_b[i]=2;
larmedo 0:681bc2aada6f 150 }
larmedo 0:681bc2aada6f 151 else if (data_a[i]=='3')
larmedo 0:681bc2aada6f 152 {
larmedo 0:681bc2aada6f 153 Colum[i]=0xFC;
larmedo 0:681bc2aada6f 154 data_b[i]=3;
larmedo 0:681bc2aada6f 155 }
larmedo 0:681bc2aada6f 156 else if (data_a[i]=='4')
larmedo 0:681bc2aada6f 157 {
larmedo 0:681bc2aada6f 158 Colum[i]=0xFF;
larmedo 0:681bc2aada6f 159 data_b[i]=4;
larmedo 0:681bc2aada6f 160 }
larmedo 0:681bc2aada6f 161 }
larmedo 0:681bc2aada6f 162
larmedo 0:681bc2aada6f 163 for( i=0; i<10000; i++)
larmedo 0:681bc2aada6f 164 {
larmedo 0:681bc2aada6f 165 cs=0;
larmedo 0:681bc2aada6f 166 My_SPI.write(0xFC); //R
larmedo 0:681bc2aada6f 167 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 168 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 169 My_SPI.write(Colum[0]); //row
larmedo 0:681bc2aada6f 170 cs=1;
larmedo 0:681bc2aada6f 171
larmedo 0:681bc2aada6f 172 cs=0;
larmedo 0:681bc2aada6f 173 My_SPI.write(0xF3); //R
larmedo 0:681bc2aada6f 174 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 175 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 176 My_SPI.write(Colum[1]); //row
larmedo 0:681bc2aada6f 177 cs=1;
larmedo 0:681bc2aada6f 178
larmedo 0:681bc2aada6f 179 cs=0;
larmedo 0:681bc2aada6f 180 My_SPI.write(0xCF); //R
larmedo 0:681bc2aada6f 181 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 182 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 183 My_SPI.write(Colum[2]); //row
larmedo 0:681bc2aada6f 184 cs=1;
larmedo 0:681bc2aada6f 185
larmedo 0:681bc2aada6f 186 cs=0;
larmedo 0:681bc2aada6f 187 My_SPI.write(0x3F); //R
larmedo 0:681bc2aada6f 188 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 189 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 190 My_SPI.write(Colum[3]); //row
larmedo 0:681bc2aada6f 191 cs=1;
larmedo 0:681bc2aada6f 192
larmedo 0:681bc2aada6f 193 wait(0.0001f);
larmedo 0:681bc2aada6f 194 }
larmedo 0:681bc2aada6f 195 cs=0;
larmedo 0:681bc2aada6f 196 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 197 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 198 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 199 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 200 cs=1;
larmedo 0:681bc2aada6f 201
larmedo 0:681bc2aada6f 202 //การเก็บค่าและคำนวนคะแนน เสียง 3วิ7500
larmedo 0:681bc2aada6f 203 for( i=0; i<1500; i++)
larmedo 0:681bc2aada6f 204 {
larmedo 0:681bc2aada6f 205 cs=0;
larmedo 0:681bc2aada6f 206 My_SPI.write(0xFC); //R
larmedo 0:681bc2aada6f 207 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 208 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 209 My_SPI.write(Colum[0]); //row
larmedo 0:681bc2aada6f 210 cs=1;
larmedo 0:681bc2aada6f 211 //เก็บค่าเสียง
larmedo 0:681bc2aada6f 212 if(i==1000)
larmedo 0:681bc2aada6f 213 {
larmedo 0:681bc2aada6f 214 analog_read=Analog_in.read();
larmedo 0:681bc2aada6f 215 analog_read=analog_read*4;
larmedo 0:681bc2aada6f 216 }
larmedo 0:681bc2aada6f 217 wait(0.001);
larmedo 0:681bc2aada6f 218 }
larmedo 0:681bc2aada6f 219 //คำนวนคะแนนว่าได้ระดับไหน(1-4)
larmedo 0:681bc2aada6f 220 if(analog_read>0.1 && analog_read<=1.2)
larmedo 0:681bc2aada6f 221 data_level[0]=1;
larmedo 0:681bc2aada6f 222 else if(analog_read>1.2 && analog_read<=2.3)
larmedo 0:681bc2aada6f 223 data_level[0]=2;
larmedo 0:681bc2aada6f 224 else if(analog_read>2.3 && analog_read<=3.6)
larmedo 0:681bc2aada6f 225 data_level[0]=3;
larmedo 0:681bc2aada6f 226 else if(analog_read>3.6 && analog_read<=4)
larmedo 0:681bc2aada6f 227 data_level[0]=4;
larmedo 0:681bc2aada6f 228
larmedo 0:681bc2aada6f 229 cs=0;
larmedo 0:681bc2aada6f 230 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 231 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 232 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 233 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 234 cs=1;
larmedo 0:681bc2aada6f 235
larmedo 0:681bc2aada6f 236 for( i=0; i<1500; i++)
larmedo 0:681bc2aada6f 237 {
larmedo 0:681bc2aada6f 238 cs=0;
larmedo 0:681bc2aada6f 239 My_SPI.write(0xF3); //R
larmedo 0:681bc2aada6f 240 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 241 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 242 My_SPI.write(Colum[1]); //row
larmedo 0:681bc2aada6f 243 cs=1;
larmedo 0:681bc2aada6f 244 //เก็บค่าเสียง
larmedo 0:681bc2aada6f 245 if(i==1000)
larmedo 0:681bc2aada6f 246 {
larmedo 0:681bc2aada6f 247 analog_read=Analog_in.read();
larmedo 0:681bc2aada6f 248 analog_read=analog_read*4;
larmedo 0:681bc2aada6f 249 }
larmedo 0:681bc2aada6f 250 wait(0.001);
larmedo 0:681bc2aada6f 251 }
larmedo 0:681bc2aada6f 252 //คำนวนคะแนนว่าได้ระดับไหน(1-4)
larmedo 0:681bc2aada6f 253 if(analog_read>0.1 && analog_read<=1.2)
larmedo 0:681bc2aada6f 254 data_level[1]=1;
larmedo 0:681bc2aada6f 255 else if(analog_read>1.2 && analog_read<=2.3)
larmedo 0:681bc2aada6f 256 data_level[1]=2;
larmedo 0:681bc2aada6f 257 else if(analog_read>2.3 && analog_read<=3.6)
larmedo 0:681bc2aada6f 258 data_level[1]=3;
larmedo 0:681bc2aada6f 259 else if(analog_read>3.6 && analog_read<=4)
larmedo 0:681bc2aada6f 260 data_level[1]=4;
larmedo 0:681bc2aada6f 261
larmedo 0:681bc2aada6f 262 cs=0;
larmedo 0:681bc2aada6f 263 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 264 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 265 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 266 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 267 cs=1;
larmedo 0:681bc2aada6f 268
larmedo 0:681bc2aada6f 269 for( i=0; i<1500; i++)
larmedo 0:681bc2aada6f 270 {
larmedo 0:681bc2aada6f 271 cs=0;
larmedo 0:681bc2aada6f 272 My_SPI.write(0xCF); //R
larmedo 0:681bc2aada6f 273 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 274 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 275 My_SPI.write(Colum[2]); //row
larmedo 0:681bc2aada6f 276 cs=1;
larmedo 0:681bc2aada6f 277 //เก็บค่าเสียง
larmedo 0:681bc2aada6f 278 if(i==1000)
larmedo 0:681bc2aada6f 279 {
larmedo 0:681bc2aada6f 280 analog_read=Analog_in.read();
larmedo 0:681bc2aada6f 281 analog_read=analog_read*4;
larmedo 0:681bc2aada6f 282 }
larmedo 0:681bc2aada6f 283 wait(0.001);
larmedo 0:681bc2aada6f 284 }
larmedo 0:681bc2aada6f 285 //คำนวนคะแนนว่าได้ระดับไหน(1-4)
larmedo 0:681bc2aada6f 286 if(analog_read>0.1 && analog_read<=1.2)
larmedo 0:681bc2aada6f 287 data_level[2]=1;
larmedo 0:681bc2aada6f 288 else if(analog_read>1.2 && analog_read<=2.3)
larmedo 0:681bc2aada6f 289 data_level[2]=2;
larmedo 0:681bc2aada6f 290 else if(analog_read>2.3 && analog_read<=3.6)
larmedo 0:681bc2aada6f 291 data_level[2]=3;
larmedo 0:681bc2aada6f 292 else if(analog_read>3.6 && analog_read<=4)
larmedo 0:681bc2aada6f 293 data_level[2]=4;
larmedo 0:681bc2aada6f 294
larmedo 0:681bc2aada6f 295 cs=0;
larmedo 0:681bc2aada6f 296 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 297 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 298 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 299 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 300 cs=1;
larmedo 0:681bc2aada6f 301
larmedo 0:681bc2aada6f 302 for( i=0; i<1500; i++)
larmedo 0:681bc2aada6f 303 {
larmedo 0:681bc2aada6f 304 cs=0;
larmedo 0:681bc2aada6f 305 My_SPI.write(0x3F); //R
larmedo 0:681bc2aada6f 306 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 307 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 308 My_SPI.write(Colum[3]); //row
larmedo 0:681bc2aada6f 309 cs=1;
larmedo 0:681bc2aada6f 310 //เก็บค่าเสียง
larmedo 0:681bc2aada6f 311 if(i==1000)
larmedo 0:681bc2aada6f 312 {
larmedo 0:681bc2aada6f 313 analog_read=Analog_in.read();
larmedo 0:681bc2aada6f 314 analog_read=analog_read*4;
larmedo 0:681bc2aada6f 315 }
larmedo 0:681bc2aada6f 316 wait(0.001);
larmedo 0:681bc2aada6f 317 }
larmedo 0:681bc2aada6f 318 //คำนวนคะแนนว่าได้ระดับไหน(1-4)
larmedo 0:681bc2aada6f 319 if(analog_read>0.1 && analog_read<=1.2)
larmedo 0:681bc2aada6f 320 data_level[3]=1;
larmedo 0:681bc2aada6f 321 else if(analog_read>1.2 && analog_read<=2.3)
larmedo 0:681bc2aada6f 322 data_level[3]=2;
larmedo 0:681bc2aada6f 323 else if(analog_read>2.3 && analog_read<=3.6)
larmedo 0:681bc2aada6f 324 data_level[3]=3;
larmedo 0:681bc2aada6f 325 else if(analog_read>3.6 && analog_read<=4)
larmedo 0:681bc2aada6f 326 data_level[3]=4;
larmedo 0:681bc2aada6f 327
larmedo 0:681bc2aada6f 328 cs=0;
larmedo 0:681bc2aada6f 329 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 330 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 331 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 332 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 333 cs=1;
larmedo 0:681bc2aada6f 334
larmedo 0:681bc2aada6f 335
larmedo 0:681bc2aada6f 336
larmedo 0:681bc2aada6f 337
larmedo 0:681bc2aada6f 338
larmedo 0:681bc2aada6f 339
larmedo 0:681bc2aada6f 340
larmedo 0:681bc2aada6f 341
larmedo 0:681bc2aada6f 342 //เรียกฟังชันแสดงค่าไฟตามคะแนนที่ได้
larmedo 0:681bc2aada6f 343
larmedo 0:681bc2aada6f 344 for(i=0;i<4;i++)
larmedo 0:681bc2aada6f 345 {
larmedo 0:681bc2aada6f 346 if (data_level[i]==1)
larmedo 0:681bc2aada6f 347 {Colum_level[i]=0xC0;}
larmedo 0:681bc2aada6f 348 else if (data_level[i]==2)
larmedo 0:681bc2aada6f 349 {Colum_level[i]=0xF0;}
larmedo 0:681bc2aada6f 350 else if (data_level[i]==3)
larmedo 0:681bc2aada6f 351 {Colum_level[i]=0xFC;}
larmedo 0:681bc2aada6f 352 else if (data_level[i]==4)
larmedo 0:681bc2aada6f 353 {Colum_level[i]=0xFF;}
larmedo 0:681bc2aada6f 354 }
larmedo 0:681bc2aada6f 355
larmedo 0:681bc2aada6f 356 for( i=0; i<10000; i++)
larmedo 0:681bc2aada6f 357 {
larmedo 0:681bc2aada6f 358 cs=0;
larmedo 0:681bc2aada6f 359 My_SPI.write(0xFC); //R
larmedo 0:681bc2aada6f 360 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 361 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 362 My_SPI.write(Colum_level[0]); //row
larmedo 0:681bc2aada6f 363 cs=1;
larmedo 0:681bc2aada6f 364
larmedo 0:681bc2aada6f 365 cs=0;
larmedo 0:681bc2aada6f 366 My_SPI.write(0xF3); //R
larmedo 0:681bc2aada6f 367 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 368 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 369 My_SPI.write(Colum_level[1]); //row
larmedo 0:681bc2aada6f 370 cs=1;
larmedo 0:681bc2aada6f 371
larmedo 0:681bc2aada6f 372 cs=0;
larmedo 0:681bc2aada6f 373 My_SPI.write(0xCF); //R
larmedo 0:681bc2aada6f 374 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 375 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 376 My_SPI.write(Colum_level[2]); //row
larmedo 0:681bc2aada6f 377 cs=1;
larmedo 0:681bc2aada6f 378
larmedo 0:681bc2aada6f 379 cs=0;
larmedo 0:681bc2aada6f 380 My_SPI.write(0x3F); //R
larmedo 0:681bc2aada6f 381 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 382 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 383 My_SPI.write(Colum_level[3]); //row
larmedo 0:681bc2aada6f 384 cs=1;
larmedo 0:681bc2aada6f 385
larmedo 0:681bc2aada6f 386 wait(0.0001f);
larmedo 0:681bc2aada6f 387 }
larmedo 0:681bc2aada6f 388 cs=0;
larmedo 0:681bc2aada6f 389 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 390 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 391 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 392 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 393 cs=1;
larmedo 0:681bc2aada6f 394
larmedo 0:681bc2aada6f 395
larmedo 0:681bc2aada6f 396
larmedo 0:681bc2aada6f 397 //คำนวนคะแนนรวม
larmedo 0:681bc2aada6f 398 for(i=0;i<4;i++)
larmedo 0:681bc2aada6f 399 {
larmedo 0:681bc2aada6f 400 if(data_level[i]<=data_b[i])
larmedo 0:681bc2aada6f 401 {
larmedo 0:681bc2aada6f 402 data_point[i]=(data_level[i]*100)/data_b[i];
larmedo 0:681bc2aada6f 403 }
larmedo 0:681bc2aada6f 404 else if(data_level[i]>data_b[i])
larmedo 0:681bc2aada6f 405 {
larmedo 0:681bc2aada6f 406 data_point[i]=((data_b[i]-(data_level[i]-data_b[i]))*100)/data_b[i];
larmedo 0:681bc2aada6f 407 }
larmedo 0:681bc2aada6f 408 data_poi=data_poi+data_point[i];
larmedo 0:681bc2aada6f 409 }
larmedo 0:681bc2aada6f 410 point=((data_poi/4)*5)/100;
larmedo 0:681bc2aada6f 411 Point_Smile(point);
larmedo 0:681bc2aada6f 412
larmedo 0:681bc2aada6f 413 //ฟังก์ชันแสดงหน้ายิ้มจากคะแนรวม
larmedo 0:681bc2aada6f 414 data_poi=0;
larmedo 0:681bc2aada6f 415 data = '0';
larmedo 0:681bc2aada6f 416 state_show=0;
larmedo 0:681bc2aada6f 417 }
larmedo 0:681bc2aada6f 418
larmedo 0:681bc2aada6f 419
larmedo 0:681bc2aada6f 420
larmedo 0:681bc2aada6f 421
larmedo 0:681bc2aada6f 422
larmedo 0:681bc2aada6f 423 }
larmedo 0:681bc2aada6f 424
larmedo 0:681bc2aada6f 425
larmedo 0:681bc2aada6f 426 }
larmedo 0:681bc2aada6f 427
larmedo 0:681bc2aada6f 428
larmedo 0:681bc2aada6f 429 }
larmedo 0:681bc2aada6f 430 }
larmedo 0:681bc2aada6f 431
larmedo 0:681bc2aada6f 432
larmedo 0:681bc2aada6f 433
larmedo 0:681bc2aada6f 434
larmedo 0:681bc2aada6f 435 void Point_Smile(int point)
larmedo 0:681bc2aada6f 436 {
larmedo 0:681bc2aada6f 437 if(point==0 || point<0)
larmedo 0:681bc2aada6f 438 {
larmedo 0:681bc2aada6f 439 for(int i=0; i<15000; i++)
larmedo 0:681bc2aada6f 440 {
larmedo 0:681bc2aada6f 441 cs=0;
larmedo 0:681bc2aada6f 442 My_SPI.write(0xDB); //R
larmedo 0:681bc2aada6f 443 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 444 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 445 My_SPI.write(0x04); //row
larmedo 0:681bc2aada6f 446 cs=1;
larmedo 0:681bc2aada6f 447
larmedo 0:681bc2aada6f 448 cs=0;
larmedo 0:681bc2aada6f 449 My_SPI.write(0xBD); //R
larmedo 0:681bc2aada6f 450 My_SPI.write(0xBD); //G
larmedo 0:681bc2aada6f 451 My_SPI.write(0xBD); //B
larmedo 0:681bc2aada6f 452 My_SPI.write(0x08); //row
larmedo 0:681bc2aada6f 453 cs=1;
larmedo 0:681bc2aada6f 454
larmedo 0:681bc2aada6f 455 cs=0;
larmedo 0:681bc2aada6f 456 My_SPI.write(0xC3); //R
larmedo 0:681bc2aada6f 457 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 458 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 459 My_SPI.write(0x20); //row
larmedo 0:681bc2aada6f 460 cs=1;
larmedo 0:681bc2aada6f 461
larmedo 0:681bc2aada6f 462 cs=0;
larmedo 0:681bc2aada6f 463 My_SPI.write(0xBD); //R
larmedo 0:681bc2aada6f 464 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 465 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 466 My_SPI.write(0x40); //row
larmedo 0:681bc2aada6f 467 cs=1;
larmedo 0:681bc2aada6f 468
larmedo 0:681bc2aada6f 469 wait(0.0001f);
larmedo 0:681bc2aada6f 470 }
larmedo 0:681bc2aada6f 471 cs=0;
larmedo 0:681bc2aada6f 472 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 473 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 474 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 475 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 476 cs=1;
larmedo 0:681bc2aada6f 477 }
larmedo 0:681bc2aada6f 478
larmedo 0:681bc2aada6f 479 else if(point==1)
larmedo 0:681bc2aada6f 480 {
larmedo 0:681bc2aada6f 481 for(int i=0; i<15000; i++)
larmedo 0:681bc2aada6f 482 {
larmedo 0:681bc2aada6f 483 cs=0;
larmedo 0:681bc2aada6f 484 My_SPI.write(0xDB); //R
larmedo 0:681bc2aada6f 485 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 486 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 487 My_SPI.write(0x04); //row
larmedo 0:681bc2aada6f 488 cs=1;
larmedo 0:681bc2aada6f 489
larmedo 0:681bc2aada6f 490 cs=0;
larmedo 0:681bc2aada6f 491 My_SPI.write(0xBD); //R
larmedo 0:681bc2aada6f 492 My_SPI.write(0xBD); //G
larmedo 0:681bc2aada6f 493 My_SPI.write(0xBD); //B
larmedo 0:681bc2aada6f 494 My_SPI.write(0x08); //row
larmedo 0:681bc2aada6f 495 cs=1;
larmedo 0:681bc2aada6f 496
larmedo 0:681bc2aada6f 497 cs=0;
larmedo 0:681bc2aada6f 498 My_SPI.write(0xC3); //R
larmedo 0:681bc2aada6f 499 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 500 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 501 My_SPI.write(0x20); //row
larmedo 0:681bc2aada6f 502 cs=1;
larmedo 0:681bc2aada6f 503
larmedo 0:681bc2aada6f 504 cs=0;
larmedo 0:681bc2aada6f 505 My_SPI.write(0xBD); //R
larmedo 0:681bc2aada6f 506 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 507 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 508 My_SPI.write(0x40); //row
larmedo 0:681bc2aada6f 509 cs=1;
larmedo 0:681bc2aada6f 510
larmedo 0:681bc2aada6f 511 wait(0.0001f);
larmedo 0:681bc2aada6f 512 }
larmedo 0:681bc2aada6f 513 cs=0;
larmedo 0:681bc2aada6f 514 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 515 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 516 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 517 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 518 cs=1;
larmedo 0:681bc2aada6f 519 }
larmedo 0:681bc2aada6f 520
larmedo 0:681bc2aada6f 521
larmedo 0:681bc2aada6f 522 else if(point==2)
larmedo 0:681bc2aada6f 523 {
larmedo 0:681bc2aada6f 524 for(int i=0; i<15000; i++)
larmedo 0:681bc2aada6f 525 {
larmedo 0:681bc2aada6f 526 cs=0;
larmedo 0:681bc2aada6f 527 My_SPI.write(0xDB); //R
larmedo 0:681bc2aada6f 528 My_SPI.write(0xDB); //G
larmedo 0:681bc2aada6f 529 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 530 My_SPI.write(0x04); //row
larmedo 0:681bc2aada6f 531 cs=1;
larmedo 0:681bc2aada6f 532
larmedo 0:681bc2aada6f 533 cs=0;
larmedo 0:681bc2aada6f 534 My_SPI.write(0xC3); //R
larmedo 0:681bc2aada6f 535 My_SPI.write(0xC3); //G
larmedo 0:681bc2aada6f 536 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 537 My_SPI.write(0x20); //row
larmedo 0:681bc2aada6f 538 cs=1;
larmedo 0:681bc2aada6f 539
larmedo 0:681bc2aada6f 540 cs=0;
larmedo 0:681bc2aada6f 541 My_SPI.write(0xBD); //R
larmedo 0:681bc2aada6f 542 My_SPI.write(0xBD); //G
larmedo 0:681bc2aada6f 543 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 544 My_SPI.write(0x40); //row
larmedo 0:681bc2aada6f 545 cs=1;
larmedo 0:681bc2aada6f 546
larmedo 0:681bc2aada6f 547 wait(0.0001f);
larmedo 0:681bc2aada6f 548 }
larmedo 0:681bc2aada6f 549 cs=0;
larmedo 0:681bc2aada6f 550 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 551 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 552 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 553 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 554 cs=1;
larmedo 0:681bc2aada6f 555 }
larmedo 0:681bc2aada6f 556
larmedo 0:681bc2aada6f 557
larmedo 0:681bc2aada6f 558 else if(point==3)
larmedo 0:681bc2aada6f 559 {
larmedo 0:681bc2aada6f 560 for(int i=0; i<15000; i++)
larmedo 0:681bc2aada6f 561 {
larmedo 0:681bc2aada6f 562 cs=0;
larmedo 0:681bc2aada6f 563 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 564 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 565 My_SPI.write(0xDB); //B
larmedo 0:681bc2aada6f 566 My_SPI.write(0x04); //row
larmedo 0:681bc2aada6f 567 cs=1;
larmedo 0:681bc2aada6f 568
larmedo 0:681bc2aada6f 569 cs=0;
larmedo 0:681bc2aada6f 570 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 571 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 572 My_SPI.write(0x81); //B
larmedo 0:681bc2aada6f 573 My_SPI.write(0x20); //row
larmedo 0:681bc2aada6f 574 cs=1;
larmedo 0:681bc2aada6f 575
larmedo 0:681bc2aada6f 576
larmedo 0:681bc2aada6f 577
larmedo 0:681bc2aada6f 578 wait(0.0001f);
larmedo 0:681bc2aada6f 579 }
larmedo 0:681bc2aada6f 580 cs=0;
larmedo 0:681bc2aada6f 581 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 582 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 583 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 584 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 585 cs=1;
larmedo 0:681bc2aada6f 586 }
larmedo 0:681bc2aada6f 587
larmedo 0:681bc2aada6f 588 else if(point==4)
larmedo 0:681bc2aada6f 589 {
larmedo 0:681bc2aada6f 590 for(int i=0; i<15000; i++)
larmedo 0:681bc2aada6f 591 {
larmedo 0:681bc2aada6f 592 cs=0;
larmedo 0:681bc2aada6f 593 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 594 My_SPI.write(0xDB); //G
larmedo 0:681bc2aada6f 595 My_SPI.write(0xDB); //B
larmedo 0:681bc2aada6f 596 My_SPI.write(0x04); //row
larmedo 0:681bc2aada6f 597 cs=1;
larmedo 0:681bc2aada6f 598
larmedo 0:681bc2aada6f 599 cs=0;
larmedo 0:681bc2aada6f 600 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 601 My_SPI.write(0xBD); //G
larmedo 0:681bc2aada6f 602 My_SPI.write(0xBD); //B
larmedo 0:681bc2aada6f 603 My_SPI.write(0x20); //row
larmedo 0:681bc2aada6f 604 cs=1;
larmedo 0:681bc2aada6f 605
larmedo 0:681bc2aada6f 606 cs=0;
larmedo 0:681bc2aada6f 607 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 608 My_SPI.write(0xC3); //G
larmedo 0:681bc2aada6f 609 My_SPI.write(0xC3); //B
larmedo 0:681bc2aada6f 610 My_SPI.write(0x40); //row
larmedo 0:681bc2aada6f 611 cs=1;
larmedo 0:681bc2aada6f 612
larmedo 0:681bc2aada6f 613 wait(0.0001f);
larmedo 0:681bc2aada6f 614 }
larmedo 0:681bc2aada6f 615 cs=0;
larmedo 0:681bc2aada6f 616 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 617 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 618 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 619 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 620 cs=1;
larmedo 0:681bc2aada6f 621 }
larmedo 0:681bc2aada6f 622
larmedo 0:681bc2aada6f 623 else if(point==5)
larmedo 0:681bc2aada6f 624 {
larmedo 0:681bc2aada6f 625 for(int i=0; i<15000; i++)
larmedo 0:681bc2aada6f 626 {
larmedo 0:681bc2aada6f 627 cs=0;
larmedo 0:681bc2aada6f 628 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 629 My_SPI.write(0xDB); //G
larmedo 0:681bc2aada6f 630 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 631 My_SPI.write(0x04); //row
larmedo 0:681bc2aada6f 632 cs=1;
larmedo 0:681bc2aada6f 633
larmedo 0:681bc2aada6f 634 cs=0;
larmedo 0:681bc2aada6f 635 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 636 My_SPI.write(0x81); //G
larmedo 0:681bc2aada6f 637 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 638 My_SPI.write(0x20); //row
larmedo 0:681bc2aada6f 639 cs=1;
larmedo 0:681bc2aada6f 640
larmedo 0:681bc2aada6f 641 cs=0;
larmedo 0:681bc2aada6f 642 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 643 My_SPI.write(0xC3); //G
larmedo 0:681bc2aada6f 644 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 645 My_SPI.write(0x40); //row
larmedo 0:681bc2aada6f 646 cs=1;
larmedo 0:681bc2aada6f 647
larmedo 0:681bc2aada6f 648 wait(0.0001f);
larmedo 0:681bc2aada6f 649 }
larmedo 0:681bc2aada6f 650 cs=0;
larmedo 0:681bc2aada6f 651 My_SPI.write(0xFF); //R
larmedo 0:681bc2aada6f 652 My_SPI.write(0xFF); //G
larmedo 0:681bc2aada6f 653 My_SPI.write(0xFF); //B
larmedo 0:681bc2aada6f 654 My_SPI.write(0x00); //row
larmedo 0:681bc2aada6f 655 cs=1;
larmedo 0:681bc2aada6f 656 }
larmedo 0:681bc2aada6f 657 }