FRA221_2015 / Mbed 2 deprecated Project_PokPakGame

Dependencies:   mbed

Fork of Project_PokPakGame by FRA221_7B

Committer:
lolopo008
Date:
Sat Dec 05 06:37:14 2015 +0000
Revision:
1:374cc7a8fcf0
Parent:
0:e282add6146d
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pumipachpro 0:e282add6146d 1 #include "mbed.h"
lolopo008 1:374cc7a8fcf0 2
Pumipachpro 0:e282add6146d 3 SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK);
Pumipachpro 0:e282add6146d 4 DigitalOut Latch(D10);
lolopo008 1:374cc7a8fcf0 5 AnalogIn VR0(A0);
lolopo008 1:374cc7a8fcf0 6 AnalogIn VR1(A1);
lolopo008 1:374cc7a8fcf0 7 Serial pc(USBTX, USBRX);
Pumipachpro 0:e282add6146d 8
lolopo008 1:374cc7a8fcf0 9 float VR_value0,VR_value1;
lolopo008 1:374cc7a8fcf0 10 int Row[8]= {1,2,4,8,16,32,64,128};
lolopo008 1:374cc7a8fcf0 11 int Col[8]= {254,253,251,247,239,223,191,127};
lolopo008 1:374cc7a8fcf0 12 int x;
lolopo008 1:374cc7a8fcf0 13
lolopo008 1:374cc7a8fcf0 14 void Player1()
lolopo008 1:374cc7a8fcf0 15 {
lolopo008 1:374cc7a8fcf0 16 VR_value0 = VR0.read();
lolopo008 1:374cc7a8fcf0 17 VR_value0 = VR_value0*6;
lolopo008 1:374cc7a8fcf0 18
lolopo008 1:374cc7a8fcf0 19 Latch=0;
lolopo008 1:374cc7a8fcf0 20 if(VR_value0<=1) {
lolopo008 1:374cc7a8fcf0 21 //D1
lolopo008 1:374cc7a8fcf0 22 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 23 wait_us(1);
lolopo008 1:374cc7a8fcf0 24 DataPack.write(0x1F);
lolopo008 1:374cc7a8fcf0 25 wait_us(1);
lolopo008 1:374cc7a8fcf0 26 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 27 wait_us(1);
lolopo008 1:374cc7a8fcf0 28 DataPack.write(0x01);
lolopo008 1:374cc7a8fcf0 29 wait_us(1);
lolopo008 1:374cc7a8fcf0 30 } else if(VR_value0>1&&VR_value0<=2) {
lolopo008 1:374cc7a8fcf0 31 //D2
lolopo008 1:374cc7a8fcf0 32 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 33 wait_us(1);
lolopo008 1:374cc7a8fcf0 34 DataPack.write(0x8F);
lolopo008 1:374cc7a8fcf0 35 wait_us(1);
lolopo008 1:374cc7a8fcf0 36 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 37 wait_us(1);
lolopo008 1:374cc7a8fcf0 38 DataPack.write(0x01);
lolopo008 1:374cc7a8fcf0 39 wait_us(1);
lolopo008 1:374cc7a8fcf0 40 } else if(VR_value0>2&&VR_value0<=3) {
lolopo008 1:374cc7a8fcf0 41 //D3
lolopo008 1:374cc7a8fcf0 42 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 43 wait_us(1);
lolopo008 1:374cc7a8fcf0 44 DataPack.write(0xC7);
lolopo008 1:374cc7a8fcf0 45 wait_us(1);
lolopo008 1:374cc7a8fcf0 46 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 47 wait_us(1);
lolopo008 1:374cc7a8fcf0 48 DataPack.write(0x01);
lolopo008 1:374cc7a8fcf0 49 wait_us(1);
lolopo008 1:374cc7a8fcf0 50 } else if(VR_value0>3&&VR_value0<=4) {
lolopo008 1:374cc7a8fcf0 51 //D4
lolopo008 1:374cc7a8fcf0 52 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 53 wait_us(1);
lolopo008 1:374cc7a8fcf0 54 DataPack.write(0xE3);
lolopo008 1:374cc7a8fcf0 55 wait_us(1);
lolopo008 1:374cc7a8fcf0 56 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 57 wait_us(1);
lolopo008 1:374cc7a8fcf0 58 DataPack.write(0x01);
lolopo008 1:374cc7a8fcf0 59 wait_us(1);
lolopo008 1:374cc7a8fcf0 60 } else if(VR_value0>4&&VR_value0<=5) {
lolopo008 1:374cc7a8fcf0 61 //D5
lolopo008 1:374cc7a8fcf0 62 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 63 wait_us(1);
lolopo008 1:374cc7a8fcf0 64 DataPack.write(0xF1);
lolopo008 1:374cc7a8fcf0 65 wait_us(1);
lolopo008 1:374cc7a8fcf0 66 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 67 wait_us(1);
lolopo008 1:374cc7a8fcf0 68 DataPack.write(0x01);
lolopo008 1:374cc7a8fcf0 69 wait_us(1);
lolopo008 1:374cc7a8fcf0 70 } else if(VR_value0>5&&VR_value0<=6) {
lolopo008 1:374cc7a8fcf0 71 //D6
lolopo008 1:374cc7a8fcf0 72 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 73 wait_us(1);
lolopo008 1:374cc7a8fcf0 74 DataPack.write(0xF8);
lolopo008 1:374cc7a8fcf0 75 wait_us(1);
lolopo008 1:374cc7a8fcf0 76 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 77 wait_us(1);
lolopo008 1:374cc7a8fcf0 78 DataPack.write(0x01);
lolopo008 1:374cc7a8fcf0 79 wait_us(1);
lolopo008 1:374cc7a8fcf0 80 }
lolopo008 1:374cc7a8fcf0 81 Latch=1;
lolopo008 1:374cc7a8fcf0 82 }
lolopo008 1:374cc7a8fcf0 83
lolopo008 1:374cc7a8fcf0 84 void Player2()
lolopo008 1:374cc7a8fcf0 85 {
lolopo008 1:374cc7a8fcf0 86 VR_value1 = VR1.read();
lolopo008 1:374cc7a8fcf0 87 VR_value1 = VR_value1*6;
lolopo008 1:374cc7a8fcf0 88
lolopo008 1:374cc7a8fcf0 89 Latch=0;
lolopo008 1:374cc7a8fcf0 90 if(VR_value1<=1) {
lolopo008 1:374cc7a8fcf0 91 //U1
lolopo008 1:374cc7a8fcf0 92 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 93 wait_us(1);
lolopo008 1:374cc7a8fcf0 94 DataPack.write(0x1F);
lolopo008 1:374cc7a8fcf0 95 wait_us(1);
lolopo008 1:374cc7a8fcf0 96 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 97 wait_us(1);
lolopo008 1:374cc7a8fcf0 98 DataPack.write(0x80);
lolopo008 1:374cc7a8fcf0 99 wait_us(1);
lolopo008 1:374cc7a8fcf0 100 } else if(VR_value1>1&&VR_value1<=2) {
lolopo008 1:374cc7a8fcf0 101 //U2
lolopo008 1:374cc7a8fcf0 102 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 103 wait_us(1);
lolopo008 1:374cc7a8fcf0 104 DataPack.write(0x8F);
lolopo008 1:374cc7a8fcf0 105 wait_us(1);
lolopo008 1:374cc7a8fcf0 106 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 107 wait_us(1);
lolopo008 1:374cc7a8fcf0 108 DataPack.write(0x80);
lolopo008 1:374cc7a8fcf0 109 wait_us(1);
lolopo008 1:374cc7a8fcf0 110 } else if(VR_value0>2&&VR_value0<=3) {
lolopo008 1:374cc7a8fcf0 111 //U3
lolopo008 1:374cc7a8fcf0 112 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 113 wait_us(1);
lolopo008 1:374cc7a8fcf0 114 DataPack.write(0xC7);
lolopo008 1:374cc7a8fcf0 115 wait_us(1);
lolopo008 1:374cc7a8fcf0 116 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 117 wait_us(1);
lolopo008 1:374cc7a8fcf0 118 DataPack.write(0x80);
lolopo008 1:374cc7a8fcf0 119 wait_us(1);
lolopo008 1:374cc7a8fcf0 120 } else if(VR_value1>3&&VR_value1<=4) {
lolopo008 1:374cc7a8fcf0 121 //U4
lolopo008 1:374cc7a8fcf0 122 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 123 wait_us(1);
lolopo008 1:374cc7a8fcf0 124 DataPack.write(0xE3);
lolopo008 1:374cc7a8fcf0 125 wait_us(1);
lolopo008 1:374cc7a8fcf0 126 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 127 wait_us(1);
lolopo008 1:374cc7a8fcf0 128 DataPack.write(0x80);
lolopo008 1:374cc7a8fcf0 129 wait_us(1);
lolopo008 1:374cc7a8fcf0 130 } else if(VR_value1>4&&VR_value1<=5) {
lolopo008 1:374cc7a8fcf0 131 //U5
lolopo008 1:374cc7a8fcf0 132 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 133 wait_us(1);
lolopo008 1:374cc7a8fcf0 134 DataPack.write(0xF1);
lolopo008 1:374cc7a8fcf0 135 wait_us(1);
lolopo008 1:374cc7a8fcf0 136 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 137 wait_us(1);
lolopo008 1:374cc7a8fcf0 138 DataPack.write(0x80);
lolopo008 1:374cc7a8fcf0 139 wait_us(1);
lolopo008 1:374cc7a8fcf0 140 } else if(VR_value1>5&&VR_value1<=6) {
lolopo008 1:374cc7a8fcf0 141 //U6
lolopo008 1:374cc7a8fcf0 142 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 143 wait_us(1);
lolopo008 1:374cc7a8fcf0 144 DataPack.write(0xF8);
lolopo008 1:374cc7a8fcf0 145 wait_us(1);
lolopo008 1:374cc7a8fcf0 146 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 147 wait_us(1);
lolopo008 1:374cc7a8fcf0 148 DataPack.write(0x80);
lolopo008 1:374cc7a8fcf0 149 wait_us(1);
lolopo008 1:374cc7a8fcf0 150 }
lolopo008 1:374cc7a8fcf0 151 Latch=1;
lolopo008 1:374cc7a8fcf0 152 }
Pumipachpro 0:e282add6146d 153
lolopo008 1:374cc7a8fcf0 154 void Count()
lolopo008 1:374cc7a8fcf0 155 {
lolopo008 1:374cc7a8fcf0 156 //3
lolopo008 1:374cc7a8fcf0 157 for(x=0; x<3000; x++) {
lolopo008 1:374cc7a8fcf0 158 Latch=0;
lolopo008 1:374cc7a8fcf0 159 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 160 wait_us(1);
lolopo008 1:374cc7a8fcf0 161 DataPack.write(0x1F);
lolopo008 1:374cc7a8fcf0 162 wait_us(1);
lolopo008 1:374cc7a8fcf0 163 DataPack.write(0x1F);
lolopo008 1:374cc7a8fcf0 164 wait_us(1);
lolopo008 1:374cc7a8fcf0 165 DataPack.write(0x40);
lolopo008 1:374cc7a8fcf0 166 wait_us(1);
lolopo008 1:374cc7a8fcf0 167 Latch=1;
lolopo008 1:374cc7a8fcf0 168
lolopo008 1:374cc7a8fcf0 169 Latch=0;
lolopo008 1:374cc7a8fcf0 170 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 171 wait_us(1);
lolopo008 1:374cc7a8fcf0 172 DataPack.write(0x78);
lolopo008 1:374cc7a8fcf0 173 wait_us(1);
lolopo008 1:374cc7a8fcf0 174 DataPack.write(0x78);
lolopo008 1:374cc7a8fcf0 175 wait_us(1);
lolopo008 1:374cc7a8fcf0 176 DataPack.write(0x28);
lolopo008 1:374cc7a8fcf0 177 wait_us(1);
lolopo008 1:374cc7a8fcf0 178 Latch=1;
lolopo008 1:374cc7a8fcf0 179
lolopo008 1:374cc7a8fcf0 180 Latch=0;
lolopo008 1:374cc7a8fcf0 181 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 182 wait_us(1);
lolopo008 1:374cc7a8fcf0 183 DataPack.write(0x1E);
lolopo008 1:374cc7a8fcf0 184 wait_us(1);
lolopo008 1:374cc7a8fcf0 185 DataPack.write(0x1E);
lolopo008 1:374cc7a8fcf0 186 wait_us(1);
lolopo008 1:374cc7a8fcf0 187 DataPack.write(0x14);
lolopo008 1:374cc7a8fcf0 188 wait_us(1);
lolopo008 1:374cc7a8fcf0 189 Latch=1;
lolopo008 1:374cc7a8fcf0 190
lolopo008 1:374cc7a8fcf0 191 Latch=0;
lolopo008 1:374cc7a8fcf0 192 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 193 wait_us(1);
lolopo008 1:374cc7a8fcf0 194 DataPack.write(0xF8);
lolopo008 1:374cc7a8fcf0 195 wait_us(1);
lolopo008 1:374cc7a8fcf0 196 DataPack.write(0xF8);
lolopo008 1:374cc7a8fcf0 197 wait_us(1);
lolopo008 1:374cc7a8fcf0 198 DataPack.write(0x02);
lolopo008 1:374cc7a8fcf0 199 wait_us(1);
lolopo008 1:374cc7a8fcf0 200 Latch=1;
lolopo008 1:374cc7a8fcf0 201 }
lolopo008 1:374cc7a8fcf0 202
lolopo008 1:374cc7a8fcf0 203 //2
lolopo008 1:374cc7a8fcf0 204 for(x=0; x<2200; x++) {
lolopo008 1:374cc7a8fcf0 205 Latch=0;
lolopo008 1:374cc7a8fcf0 206 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 207 wait_us(1);
lolopo008 1:374cc7a8fcf0 208 DataPack.write(0x1F);
lolopo008 1:374cc7a8fcf0 209 wait_us(1);
lolopo008 1:374cc7a8fcf0 210 DataPack.write(0x1F);
lolopo008 1:374cc7a8fcf0 211 wait_us(1);
lolopo008 1:374cc7a8fcf0 212 DataPack.write(0x40);
lolopo008 1:374cc7a8fcf0 213 wait_us(1);
lolopo008 1:374cc7a8fcf0 214 Latch=1;
lolopo008 1:374cc7a8fcf0 215
lolopo008 1:374cc7a8fcf0 216 Latch=0;
lolopo008 1:374cc7a8fcf0 217 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 218 wait_us(1);
lolopo008 1:374cc7a8fcf0 219 DataPack.write(0xD8);
lolopo008 1:374cc7a8fcf0 220 wait_us(1);
lolopo008 1:374cc7a8fcf0 221 DataPack.write(0xD8);
lolopo008 1:374cc7a8fcf0 222 wait_us(1);
lolopo008 1:374cc7a8fcf0 223 DataPack.write(0x20);
lolopo008 1:374cc7a8fcf0 224 wait_us(1);
lolopo008 1:374cc7a8fcf0 225 Latch=1;
lolopo008 1:374cc7a8fcf0 226
lolopo008 1:374cc7a8fcf0 227 Latch=0;
lolopo008 1:374cc7a8fcf0 228 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 229 wait_us(1);
lolopo008 1:374cc7a8fcf0 230 DataPack.write(0x1E);
lolopo008 1:374cc7a8fcf0 231 wait_us(1);
lolopo008 1:374cc7a8fcf0 232 DataPack.write(0x1E);
lolopo008 1:374cc7a8fcf0 233 wait_us(1);
lolopo008 1:374cc7a8fcf0 234 DataPack.write(0x10);
lolopo008 1:374cc7a8fcf0 235 wait_us(1);
lolopo008 1:374cc7a8fcf0 236 Latch=1;
lolopo008 1:374cc7a8fcf0 237
lolopo008 1:374cc7a8fcf0 238 Latch=0;
lolopo008 1:374cc7a8fcf0 239 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 240 wait_us(1);
lolopo008 1:374cc7a8fcf0 241 DataPack.write(0x78);
lolopo008 1:374cc7a8fcf0 242 wait_us(1);
lolopo008 1:374cc7a8fcf0 243 DataPack.write(0x78);
lolopo008 1:374cc7a8fcf0 244 wait_us(1);
lolopo008 1:374cc7a8fcf0 245 DataPack.write(0x08);
lolopo008 1:374cc7a8fcf0 246 wait_us(1);
lolopo008 1:374cc7a8fcf0 247 Latch=1;
lolopo008 1:374cc7a8fcf0 248
lolopo008 1:374cc7a8fcf0 249 Latch=0;
lolopo008 1:374cc7a8fcf0 250 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 251 wait_us(1);
lolopo008 1:374cc7a8fcf0 252 DataPack.write(0x1B);
lolopo008 1:374cc7a8fcf0 253 wait_us(1);
lolopo008 1:374cc7a8fcf0 254 DataPack.write(0x1B);
lolopo008 1:374cc7a8fcf0 255 wait_us(1);
lolopo008 1:374cc7a8fcf0 256 DataPack.write(0x04);
lolopo008 1:374cc7a8fcf0 257 wait_us(1);
lolopo008 1:374cc7a8fcf0 258 Latch=1;
lolopo008 1:374cc7a8fcf0 259
lolopo008 1:374cc7a8fcf0 260 Latch=0;
lolopo008 1:374cc7a8fcf0 261 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 262 wait_us(1);
lolopo008 1:374cc7a8fcf0 263 DataPack.write(0xF8);
lolopo008 1:374cc7a8fcf0 264 wait_us(1);
lolopo008 1:374cc7a8fcf0 265 DataPack.write(0xF8);
lolopo008 1:374cc7a8fcf0 266 wait_us(1);
lolopo008 1:374cc7a8fcf0 267 DataPack.write(0x02);
lolopo008 1:374cc7a8fcf0 268 wait_us(1);
lolopo008 1:374cc7a8fcf0 269 Latch=1;
lolopo008 1:374cc7a8fcf0 270 }
lolopo008 1:374cc7a8fcf0 271
lolopo008 1:374cc7a8fcf0 272 //1
lolopo008 1:374cc7a8fcf0 273 for(x=0; x<4000; x++) {
lolopo008 1:374cc7a8fcf0 274 Latch=0;
lolopo008 1:374cc7a8fcf0 275 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 276 wait_us(1);
lolopo008 1:374cc7a8fcf0 277 DataPack.write(0xBF);
lolopo008 1:374cc7a8fcf0 278 wait_us(1);
lolopo008 1:374cc7a8fcf0 279 DataPack.write(0xBF);
lolopo008 1:374cc7a8fcf0 280 wait_us(1);
lolopo008 1:374cc7a8fcf0 281 DataPack.write(0x40);
lolopo008 1:374cc7a8fcf0 282 wait_us(1);
lolopo008 1:374cc7a8fcf0 283 Latch=1;
lolopo008 1:374cc7a8fcf0 284
lolopo008 1:374cc7a8fcf0 285 Latch=0;
lolopo008 1:374cc7a8fcf0 286 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 287 wait_us(1);
lolopo008 1:374cc7a8fcf0 288 DataPack.write(0xBD);
lolopo008 1:374cc7a8fcf0 289 wait_us(1);
lolopo008 1:374cc7a8fcf0 290 DataPack.write(0xBD);
lolopo008 1:374cc7a8fcf0 291 wait_us(1);
lolopo008 1:374cc7a8fcf0 292 DataPack.write(0x3C);
lolopo008 1:374cc7a8fcf0 293 wait_us(1);
lolopo008 1:374cc7a8fcf0 294 Latch=1;
lolopo008 1:374cc7a8fcf0 295
lolopo008 1:374cc7a8fcf0 296 Latch=0;
lolopo008 1:374cc7a8fcf0 297 DataPack.write(0xFF);
lolopo008 1:374cc7a8fcf0 298 wait_us(1);
lolopo008 1:374cc7a8fcf0 299 DataPack.write(0xFD);
lolopo008 1:374cc7a8fcf0 300 wait_us(1);
lolopo008 1:374cc7a8fcf0 301 DataPack.write(0xFD);
lolopo008 1:374cc7a8fcf0 302 wait_us(1);
lolopo008 1:374cc7a8fcf0 303 DataPack.write(0x02);
lolopo008 1:374cc7a8fcf0 304 wait_us(1);
lolopo008 1:374cc7a8fcf0 305 Latch=1;
lolopo008 1:374cc7a8fcf0 306 }
lolopo008 1:374cc7a8fcf0 307 }
lolopo008 1:374cc7a8fcf0 308
lolopo008 1:374cc7a8fcf0 309 int main()
lolopo008 1:374cc7a8fcf0 310 {
Pumipachpro 0:e282add6146d 311 DataPack.frequency(100000);
Pumipachpro 0:e282add6146d 312 DataPack.format(8,0);
lolopo008 1:374cc7a8fcf0 313
lolopo008 1:374cc7a8fcf0 314 Count();
Pumipachpro 0:e282add6146d 315
lolopo008 1:374cc7a8fcf0 316 while(1) {
lolopo008 1:374cc7a8fcf0 317 Player1();
lolopo008 1:374cc7a8fcf0 318 Player2();
lolopo008 1:374cc7a8fcf0 319 }
Pumipachpro 0:e282add6146d 320 }