1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| void loop(void) { drawRadar(); // 顺时针扫描 for ( x=80; x >= 10; x--){ // 测距 distance = calculateDistance(); // 舵机旋转 k = map(x, 80, 10, 15,165); myServo.write(k); // 距离小于30CM绘制红色警报 if (distance < 30){ int f = x+6; ucg.setColor(255, 0, 0); ucg.drawLine(Xmax/2, pos, -val\*cos(radians(f\*2)),val\*sin(radians(f\*2))); } ucg.setColor(0, 207, 0); ucg.drawLine(Xmax/2, pos, -200\*cos(radians(x\*2)),200\*sin(radians(x\*2)));
int d = x+1; ucg.setColor(0, 207, 0); int c = x+2; ucg.setColor(0, 207, 0); int b = x+3; ucg.setColor(0, 102, 0); int a = x+4; ucg.setColor(0, 102, 0); int e = x+5; ucg.setColor(0, 0, 0); ucg.drawLine(Xmax/2, pos, -200\*cos(radians(e\*2)),200\*sin(radians(e\*2))); ucg.setColor(255, 0, 0); ucg.setPrintPos(160,0); ucg.setPrintDir(2); ucg.print("Deg :"); deg = map (x, 80, 10 , 0, 180); ucg.setPrintPos(120,0); ucg.setPrintDir(2); ucg.print(deg); ucg.setPrintPos(10,0); ucg.print(distance); ucg.setColor(0, 0, 255); ucg.setPrintPos(90,38); ucg.setPrintDir(2); ucg.print("0.25"); ucg.setPrintPos(90,70); ucg.print("0.50"); ucg.setPrintPos(90,110); ucg.print("1.00"); } // ucg.clearScreen(); drawRadar(); // 逆时针扫描 for ( x=10; x <= 80; x++){ distance = calculateDistance(); Serial.println(distance); k = map(x, 10, 80, 165,15); myServo.write(k); if (distance < 10){ int e = x-5; ucg.setColor(255, 0, 0); ucg.drawLine(Xmax/2, pos, -val\*cos(radians(e\*2)),val\*sin(radians(e\*2))); } ucg.setColor(0, 207, 0); ucg.drawLine(Xmax/2, pos, -200\*cos(radians(x\*2)),200\*sin(radians(x\*2))); int a = x-1; int b = x-2; ucg.setColor(0, 102, 0);
int c = x-3; ucg.setColor(0, 102, 0);
int d = x-4; ucg.setColor(0, 0, 0); ucg.drawLine(Xmax/2, pos, -200\*cos(radians(d\*2)),200\*sin(radians(d\*2))); ucg.setColor(255, 0, 0); ucg.setPrintPos(160,0); ucg.setPrintDir(2); ucg.print("Deg :"); deg = map (x, 10, 80 , 0, 180); ucg.setPrintPos(120,0); ucg.setPrintDir(2); ucg.print(deg); ucg.setPrintPos(10,0); ucg.print(distance);
ucg.setColor(0, 0, 255); ucg.setPrintPos(90,38); ucg.setPrintDir(2); ucg.print("0.25"); ucg.setPrintPos(90,70); ucg.print("0.50"); ucg.setPrintPos(90,110); ucg.print("1.00"); } //ucg.clearScreen(); }
|