
use this
Dependencies: mbed
Fork of greenimugetithothot by
Revision 2:e8807de906c9, committed 2017-12-13
- Comitter:
- iampalop
- Date:
- Wed Dec 13 03:35:22 2017 +0000
- Parent:
- 1:44b26709b117
- Commit message:
- PopDetect
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Dec 10 07:13:07 2017 +0000 +++ b/main.cpp Wed Dec 13 03:35:22 2017 +0000 @@ -6,23 +6,247 @@ Serial pc(D1, D0); +DigitalIn get(PC_7); +DigitalIn mon1(PA_7); +DigitalIn mon2(PB_6); +DigitalIn mon3(PA_5); + float axis_gz, axis_gy, axis_gx; float axis_az, axis_ay, axis_ax; +float CurAy, CurAx, CurAz, CurGx, CurGy, CurGz; +float diffAy, diffAx, diffAz, diffGx, diffGy, diffGz; +float getAy, getAx, getAz, getGx, getGy, getGz; +int getitem = 1, monster1 = 1, monster2 = 1, monster3 = 1, boss1 = 1, boss2 = 1, boss3 = 1; int main(){ while(1){ - wait(0.1); + //wait(0.1); axis_Gen.Update(); - axis_ax = axis_Gen.g_ax()*180; - axis_ay = axis_Gen.g_ay()*180; - axis_az = axis_Gen.g_az()*180; - axis_gx = axis_Gen.g_gx(); - axis_gy = axis_Gen.g_gy(); - axis_gz = axis_Gen.g_gz(); - pc.printf(" axis_x %f\t axis_y %f\t axis_z %f\n\n\n\r", axis_gx, axis_gy, axis_gz); - //pc.printf(" axis_x %f\t axis_y %f\t axis_z %f\n\n\n\r", axis_ax, axis_ay, axis_az); - wait(0.2); + axis_ax = (axis_Gen.g_ax()*1000)+0; + axis_ay = (axis_Gen.g_ay()*1000)+0; + axis_az = (axis_Gen.g_az()*1000)-1000; + axis_gx = axis_Gen.g_gx()*4; + axis_gy = axis_Gen.g_gy()*4; + axis_gz = axis_Gen.g_gz()*4; + pc.printf(" Gaxis_x %f\t Gaxis_y %f\t Gaxis_z %f ", axis_gx, axis_gy, axis_gz); + pc.printf(" Aaxis_x %f\t Aaxis_y %f\t Aaxis_z %f\n\n\n\r", axis_ax, axis_ay, axis_az); +// wait(0.2); + + if(get == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + while(getitem) + { + pc.printf("\n\nAZ = %f ", getAz); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + pc.printf("\n\nCurrentZ = %f ", CurAz); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + pc.printf("\n\nDiffAy = %f ", diffAy); + pc.printf("\n\nDiffAx = %f ", diffAx); + pc.printf("\n\nDiffAz = %f \n\n", diffAz); + if(diffAz > 1300 and diffAx < 200 and diffAy < 200 ) + { + pc.printf("\n\n ITEM \n\n"); + getitem = 0; + } + } + getitem = 1; + } + if(mon1 == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + while(monster1) + { + pc.printf("\n\nAx = %f ", getAx); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + pc.printf("\n\nCurrentX = %f ", CurAx); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + pc.printf("\n\nDiffAy = %f ", diffAy); + pc.printf("\n\nDiffAx = %f ", diffAx); + pc.printf("\n\nDiffAz = %f \n\n", diffAz); + if(diffAx > 600 and diffAz < 1000 and diffAy < 200 ) + { + pc.printf("\n\n Monster 1 \n\n"); + monster1 = 0; + } + } + monster1 = 1; + } + if(mon2 == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + while(monster2) + { + pc.printf("\n\nAy = %f ", getAy); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + pc.printf("\n\nCurrentY = %f ", CurAy); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + pc.printf("\n\nDiffAy = %f ", diffAy); + pc.printf("\n\nDiffAx = %f ", diffAx); + pc.printf("\n\nDiffAz = %f \n\n", diffAz); + if(diffAy > 800 and diffAz < 1000 and diffAx < 200 ) + { + pc.printf("\n\n Monster 2 \n\n"); + monster2 = 0; + } + } + monster2 = 1; + } + if(mon3 == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + while(monster3) + { + pc.printf("\n\nAx = %f ", getAx); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + pc.printf("\n\nCurrentX = %f ", CurAx); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + pc.printf("\n\nDiffAy = %f ", diffAy); + pc.printf("\n\nDiffAx = %f ", diffAx); + pc.printf("\n\nDiffAz = %f \n\n", diffAz); + if(diffAy > 200 and diffAz < 900 and diffAy < 300 ) + { + pc.printf("\n\n Monster 3 \n\n"); + monster3 = 0; + } + } + monster3 = 1; + } + if(get == 0 and mon1 == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + getGx = abs(axis_gx); + getGy = abs(axis_gy); + getGz = abs(axis_gz); + while(boss1) + { + pc.printf("\n\nAx = %f ", getAx); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + CurGx = axis_Gen.g_gx()*4; + CurGy = axis_Gen.g_gy()*4; + CurGz = axis_Gen.g_gz()*4; + pc.printf("\n\nCurrentX = %f ", CurAx); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + diffGx = abs(abs(CurGx)-getGx); + diffGy = abs(abs(CurGy)-getGy); + diffGz = abs(abs(CurGz)-getGz); + if(diffAx > 600 and diffAz < 1000 and diffAy < 200 and diffGx > 700) + { + pc.printf("\n\n Boss 1 \n\n"); + boss1 = 0; + } + } + boss1 = 1; + } + if(get == 0 and mon2 == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + getGx = abs(axis_gx); + getGy = abs(axis_gy); + getGz = abs(axis_gz); + while(boss2) + { + pc.printf("\n\nAx = %f ", getAx); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + CurGx = axis_Gen.g_gx()*4; + CurGy = axis_Gen.g_gy()*4; + CurGz = axis_Gen.g_gz()*4; + pc.printf("\n\nCurrentX = %f ", CurAx); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + diffGx = abs(abs(CurGx)-getGx); + diffGy = abs(abs(CurGy)-getGy); + diffGz = abs(abs(CurGz)-getGz); + if(diffAx > 200 and diffAz < 1000 and diffAy < 200 and diffGz > 500) + { + pc.printf("\n\n Boss 2 \n\n"); + boss2 = 0; + } + } + boss2 = 1; + } + if(get == 0 and mon3 == 0) + { + getAy = abs(axis_ay); + getAx = abs(axis_ax); + getAz = abs(axis_az); + getGx = abs(axis_gx); + getGy = abs(axis_gy); + getGz = abs(axis_gz); + while(boss3) + { + pc.printf("\n\nAx = %f ", getAx); + wait(0.1); + axis_Gen.Update(); + CurAy = axis_Gen.g_ay()*1000; + CurAx = axis_Gen.g_ax()*1000; + CurAz = axis_Gen.g_az()*1000; + CurGx = axis_Gen.g_gx()*4; + CurGy = axis_Gen.g_gy()*4; + CurGz = axis_Gen.g_gz()*4; + pc.printf("\n\nCurrentX = %f ", CurAx); + diffAy = abs(abs(CurAy)-getAy); + diffAx = abs(abs(CurAx)-getAx); + diffAz = abs(abs(CurAz)-getAz); + diffGx = abs(abs(CurGx)-getGx); + diffGy = abs(abs(CurGy)-getGy); + diffGz = abs(abs(CurGz)-getGz); + if(diffAx > 500 and diffAy > 500 and diffAz > 800 and diffGx > 500 and diffGy > 500 and diffGz > 500) + { + pc.printf("\n\n Boss 3 \n\n"); + boss3 = 0; + } + } + boss3 = 1; + } } }