Václav Lízner
/
2048
school project
Diff: main.cpp
- Revision:
- 5:d6738e1238d8
- Parent:
- 4:4930b1cb20bd
- Child:
- 6:5711a5b57d17
--- a/main.cpp Tue Jan 12 19:43:31 2016 +0000 +++ b/main.cpp Tue Jan 12 20:10:13 2016 +0000 @@ -2,7 +2,7 @@ #include "MMA8451Q.h" #define MMA8451_I2C_ADDRESS (0x1d<<1) -#define MOVE_ANGLE 45 // > degrees for move +#define MOVE_ANGLE 35 // > degrees for move MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); @@ -11,14 +11,14 @@ void barva(int,int); void pohyb(void); - int i,j,k; + int i,j,k,p; int RED, GREEN, BLUE; int RledA, RledB, GledA, GledB, BledA, BledB; float xAngle, yAngle; char acc_dir; - int pole[4][4]={{0,0,4,2}, {16,8,2,0}, {0,0,8,0}, {0,0,0,0}}; + int pole[4][4]={{7,0,0,7}, {0,0,0,0}, {0,0,0,0}, {7,0,0,7}}; DigitalOut prvni(PTE5); DigitalOut druhy(PTE4); @@ -71,24 +71,40 @@ { switch(acc_dir) { - case 'D': - pole[3][3]=8; + case 'D': //pohyb smerem dolu + if(p==0) + { + pole[0][0]*=(-1); + p=1; + } break; - case 'R': - pole[3][3]=6; - break; - case 'U': - pole[3][3]=4; + case 'R': // pohyb smerem doprava + if(p==0) + { + pole[3][0]*=(-1); + p=1; + } break; - case 'L': - pole[3][3]=2; + case 'U': // pohyb smerem nahoru + if(p==0) + { + pole[0][3]*=(-1); + p=1; + } break; - case '0': - pole[3][3]=0; + case 'L': // pohyb smerem doleva + if(p==0) + { + pole[3][3]*=(-1); + p=1; + } break; - + case '0': // detekovana nulova pozice + p=0; + break; default: - break; + break; + } }