use this
Dependencies: mbed
Fork of greenimugetithothot by
main.cpp
- Committer:
- iampalop
- Date:
- 2017-12-13
- Revision:
- 2:e8807de906c9
- Parent:
- 1:44b26709b117
File content as of revision 2:e8807de906c9:
#include "mbed.h" #include "GETMPU9250.h" #include "math.h" ZMU9250 axis_Gen; 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); axis_Gen.Update(); 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; } } }