IT GOES NORTH MOST OF THE TIME
Dependencies: HMC6352 Motor mbed
Diff: main.cpp
- Revision:
- 2:25d2332ec855
- Parent:
- 1:6812f830e5a1
--- a/main.cpp Thu Oct 04 19:11:02 2012 +0000 +++ b/main.cpp Thu Oct 04 20:42:07 2012 +0000 @@ -15,9 +15,9 @@ printf("Front Right Left\n\r"); int i=0; - int readLeftVals[10]; - int readRightVals[10]; - int readFrontVals[10]; + float readLeftVals[10]; + float readRightVals[10]; + float readFrontVals[10]; float readLeft; float readRight; float readFront; @@ -25,14 +25,16 @@ //Initialize the averager before the robot even moves for (int j=0; j<10; j++); { + readFront=irFront; readLeft=irLeft; - readLeft=10/readLeft; - readRight=irRight; - readRight=10/readRight; + readLeft=readLeft*3.3/.0032; + - readFront=irFront; - readFront=10/readFront; + readRight=readRight*3.3/.0032; + + + readFront=readFront*3.3/.0032; readFrontVals[i] = readFront; readRightVals[i] = readRight; @@ -41,18 +43,20 @@ while (1){ readLeft=irLeft; - readLeft=10/readLeft; + readRight=irRight; + readFront=irFront; + readLeft=readLeft*3.3/.0032; + - readRight=irRight; - readRight=10/readRight; + readRight=readRight*3.3/.0032; - readFront=irFront; - readFront=10/readFront; + + readFront=readFront*3.3/.0032; - if (i>10) + if (i>=10) { i=0; } @@ -61,7 +65,7 @@ readLeftVals[i] = readLeft; i++; - int avgFront = 0, avgRight = 0, avgLeft = 0; + float avgFront = 0, avgRight = 0, avgLeft = 0; for (int j=0; j<10; j++) { @@ -72,12 +76,16 @@ printf("Front: %5f Right: %5f Left: %5f\n\r", avgFront, avgRight, avgLeft); + avgFront = readFront; + avgLeft = readLeft; switch(dir){ case Forward: - if (avgFront <= 18) + if (avgFront >= 520) { + left.speed(0); + right.speed(0); + dir=Right; wait(0.5); - dir=Right; printf("less than 18\n\r"); } else @@ -87,14 +95,18 @@ } break; case Right: - if (avgLeft>30 || avgFront<=18) - { + if (avgFront >= 470 || avgLeft<=510) + { //if(avgFront <=480){dir=Forward; wait(0.5);} right.speed(-1); left.speed(1); printf("turning!\n\r"); + } - else + else { + + left.speed(0); + right.speed(0); wait(0.5); dir=Forward; }