FRA221_2015 / Mbed 2 deprecated Project_PokPakGame

Dependencies:   mbed

Fork of Project_PokPakGame by FRA221_7B

Committer:
Pumipachpro
Date:
Sat Dec 05 09:26:20 2015 +0000
Revision:
2:8b6312dbfd2f
Parent:
0:e282add6146d
Child:
3:054a677aca64
-

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pumipachpro 0:e282add6146d 1 #include "mbed.h"
Pumipachpro 2:8b6312dbfd2f 2
Pumipachpro 0:e282add6146d 3 SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK);
Pumipachpro 0:e282add6146d 4 DigitalOut Latch(D10);
Pumipachpro 2:8b6312dbfd2f 5 AnalogIn VR0(A0);
Pumipachpro 2:8b6312dbfd2f 6 AnalogIn VR1(A1);
Pumipachpro 0:e282add6146d 7
Pumipachpro 2:8b6312dbfd2f 8 float VR_value0,VR_value1;
Pumipachpro 2:8b6312dbfd2f 9 int Base[6][3][3]= {
Pumipachpro 2:8b6312dbfd2f 10 //[6]=[0]_base1,[1]_base2,[2]_base3,[3]_base4,[4]_base5,[5]_base6
Pumipachpro 2:8b6312dbfd2f 11 //[3]=[0]_red,[1]_yello,[2]_green
Pumipachpro 2:8b6312dbfd2f 12 {{0x1F,0xFF,0xFF},{0x1F,0x1F,0xFF},{0xFF,0x1F,0xFF}} ,
Pumipachpro 2:8b6312dbfd2f 13 {{0x8F,0xFF,0xFF},{0x8F,0x8F,0xFF},{0xFF,0x8F,0xFF}} ,
Pumipachpro 2:8b6312dbfd2f 14 {{0xC7,0xFF,0xFF},{0xC7,0xC7,0xFF},{0xFF,0xC7,0xFF}} ,
Pumipachpro 2:8b6312dbfd2f 15 {{0xE3,0xFF,0xFF},{0xE3,0xE3,0xFF},{0xFF,0xE3,0xFF}} ,
Pumipachpro 2:8b6312dbfd2f 16 {{0xF1,0xFF,0xFF},{0xF1,0xF1,0xFF},{0xFF,0xF1,0xFF}} ,
Pumipachpro 2:8b6312dbfd2f 17 {{0xF8,0xFF,0xFF},{0xF8,0xF8,0xFF},{0xFF,0xF8,0xFF}}
Pumipachpro 2:8b6312dbfd2f 18 };
Pumipachpro 2:8b6312dbfd2f 19
Pumipachpro 2:8b6312dbfd2f 20 void BaseColorUnder(int a,int b)
Pumipachpro 2:8b6312dbfd2f 21 {
Pumipachpro 2:8b6312dbfd2f 22 Latch=0;
Pumipachpro 2:8b6312dbfd2f 23 DataPack.write(Base[a][b][0]);
Pumipachpro 2:8b6312dbfd2f 24 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 25 DataPack.write(Base[a][b][1]);
Pumipachpro 2:8b6312dbfd2f 26 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 27 DataPack.write(Base[a][b][2]);
Pumipachpro 2:8b6312dbfd2f 28 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 29 DataPack.write(0x01);
Pumipachpro 2:8b6312dbfd2f 30 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 31 Latch=1;
Pumipachpro 2:8b6312dbfd2f 32 }
Pumipachpro 2:8b6312dbfd2f 33
Pumipachpro 2:8b6312dbfd2f 34 void BaseColorUpper(int a,int b)
Pumipachpro 2:8b6312dbfd2f 35 {
Pumipachpro 2:8b6312dbfd2f 36 Latch=0;
Pumipachpro 2:8b6312dbfd2f 37 DataPack.write(Base[a][b][0]);
Pumipachpro 2:8b6312dbfd2f 38 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 39 DataPack.write(Base[a][b][1]);
Pumipachpro 2:8b6312dbfd2f 40 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 41 DataPack.write(Base[a][b][2]);
Pumipachpro 2:8b6312dbfd2f 42 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 43 DataPack.write(0x80);
Pumipachpro 2:8b6312dbfd2f 44 wait_us(1);
Pumipachpro 2:8b6312dbfd2f 45 Latch=1;
Pumipachpro 2:8b6312dbfd2f 46 }
Pumipachpro 2:8b6312dbfd2f 47
Pumipachpro 2:8b6312dbfd2f 48 //color >> red=0 , yello=1 , green=2
Pumipachpro 2:8b6312dbfd2f 49 int BaseUnder(int color)
Pumipachpro 2:8b6312dbfd2f 50 {
Pumipachpro 2:8b6312dbfd2f 51 VR_value0 = VR0.read();
Pumipachpro 2:8b6312dbfd2f 52 VR_value0 = VR_value0*6;
Pumipachpro 0:e282add6146d 53
Pumipachpro 2:8b6312dbfd2f 54 if(VR_value0<=1) {
Pumipachpro 2:8b6312dbfd2f 55 //base1
Pumipachpro 2:8b6312dbfd2f 56 BaseColorUnder(0,color);
Pumipachpro 2:8b6312dbfd2f 57 return 1;
Pumipachpro 2:8b6312dbfd2f 58 } else if(VR_value0>1&&VR_value0<=2) {
Pumipachpro 2:8b6312dbfd2f 59 //base2
Pumipachpro 2:8b6312dbfd2f 60 BaseColorUnder(1,color);
Pumipachpro 2:8b6312dbfd2f 61 return 2;
Pumipachpro 2:8b6312dbfd2f 62 } else if(VR_value0>2&&VR_value0<=3) {
Pumipachpro 2:8b6312dbfd2f 63 //base3
Pumipachpro 2:8b6312dbfd2f 64 BaseColorUnder(2,color);
Pumipachpro 2:8b6312dbfd2f 65 return 3;
Pumipachpro 2:8b6312dbfd2f 66 } else if(VR_value0>3&&VR_value0<=4) {
Pumipachpro 2:8b6312dbfd2f 67 //base4
Pumipachpro 2:8b6312dbfd2f 68 BaseColorUnder(3,color);
Pumipachpro 2:8b6312dbfd2f 69 return 4;
Pumipachpro 2:8b6312dbfd2f 70 } else if(VR_value0>4&&VR_value0<=5) {
Pumipachpro 2:8b6312dbfd2f 71 //base5
Pumipachpro 2:8b6312dbfd2f 72 BaseColorUnder(4,color);
Pumipachpro 2:8b6312dbfd2f 73 return 5;
Pumipachpro 2:8b6312dbfd2f 74 } else if(VR_value0>5&&VR_value0<=6) {
Pumipachpro 2:8b6312dbfd2f 75 //base4
Pumipachpro 2:8b6312dbfd2f 76 BaseColorUnder(5,color);
Pumipachpro 2:8b6312dbfd2f 77 return 6;
Pumipachpro 2:8b6312dbfd2f 78 }
Pumipachpro 2:8b6312dbfd2f 79 }
Pumipachpro 2:8b6312dbfd2f 80
Pumipachpro 2:8b6312dbfd2f 81 //color >> red=0 , yello=1 , green=2
Pumipachpro 2:8b6312dbfd2f 82 int BaseUpper(int color)
Pumipachpro 2:8b6312dbfd2f 83 {
Pumipachpro 2:8b6312dbfd2f 84 VR_value1 = VR1.read();
Pumipachpro 2:8b6312dbfd2f 85 VR_value1 = VR_value1*6;
Pumipachpro 2:8b6312dbfd2f 86
Pumipachpro 2:8b6312dbfd2f 87 if(VR_value1<=1) {
Pumipachpro 2:8b6312dbfd2f 88 //base1
Pumipachpro 2:8b6312dbfd2f 89 BaseColorUpper(0,color);
Pumipachpro 2:8b6312dbfd2f 90 return 1;
Pumipachpro 2:8b6312dbfd2f 91 } else if(VR_value1>1&&VR_value1<=2) {
Pumipachpro 2:8b6312dbfd2f 92 //base2
Pumipachpro 2:8b6312dbfd2f 93 BaseColorUpper(1,color);
Pumipachpro 2:8b6312dbfd2f 94 return 2;
Pumipachpro 2:8b6312dbfd2f 95 } else if(VR_value1>2&&VR_value1<=3) {
Pumipachpro 2:8b6312dbfd2f 96 //base3
Pumipachpro 2:8b6312dbfd2f 97 BaseColorUpper(2,color);
Pumipachpro 2:8b6312dbfd2f 98 return 3;
Pumipachpro 2:8b6312dbfd2f 99 } else if(VR_value1>3&&VR_value1<=4) {
Pumipachpro 2:8b6312dbfd2f 100 //base4
Pumipachpro 2:8b6312dbfd2f 101 BaseColorUpper(3,color);
Pumipachpro 2:8b6312dbfd2f 102 return 4;
Pumipachpro 2:8b6312dbfd2f 103 } else if(VR_value1>4&&VR_value1<=5) {
Pumipachpro 2:8b6312dbfd2f 104 //base5
Pumipachpro 2:8b6312dbfd2f 105 BaseColorUpper(4,color);
Pumipachpro 2:8b6312dbfd2f 106 return 5;
Pumipachpro 2:8b6312dbfd2f 107 } else if(VR_value1>5&&VR_value1<=6) {
Pumipachpro 2:8b6312dbfd2f 108 //base4
Pumipachpro 2:8b6312dbfd2f 109 BaseColorUpper(5,color);
Pumipachpro 2:8b6312dbfd2f 110 return 6;
Pumipachpro 2:8b6312dbfd2f 111 }
Pumipachpro 2:8b6312dbfd2f 112 }
Pumipachpro 2:8b6312dbfd2f 113
Pumipachpro 2:8b6312dbfd2f 114 int main()
Pumipachpro 2:8b6312dbfd2f 115 {
Pumipachpro 0:e282add6146d 116
Pumipachpro 0:e282add6146d 117 DataPack.frequency(100000);
Pumipachpro 0:e282add6146d 118 DataPack.format(8,0);
Pumipachpro 0:e282add6146d 119
Pumipachpro 2:8b6312dbfd2f 120 while(1) {
Pumipachpro 2:8b6312dbfd2f 121 BaseUnder(1);
Pumipachpro 2:8b6312dbfd2f 122 BaseUpper(0);
Pumipachpro 2:8b6312dbfd2f 123 }
Pumipachpro 0:e282add6146d 124
Pumipachpro 0:e282add6146d 125 }