motor i senzor
Dependencies: TextLCD mbed PinDetect
Diff: main.cpp
- Revision:
- 4:03b68322905f
- Parent:
- 3:bebfc64cefe4
- Child:
- 5:7e28f4b64a55
diff -r bebfc64cefe4 -r 03b68322905f main.cpp --- a/main.cpp Sat Nov 09 13:44:18 2013 +0000 +++ b/main.cpp Sat Nov 09 18:35:13 2013 +0000 @@ -9,6 +9,9 @@ #define calibrateFactorSenzC 1.06 #define calibrateFactorSenzD 0.9 +#define serialOutputEnable true +#define serialOutputBaudrate 115200 + Serial pc(USBTX, USBRX); AnalogIn ainSensA(p17); @@ -46,13 +49,19 @@ valAzimut = (SensA + SensB) - (SensC + SensD); valElevacija = (SensB + SensC) - (SensA + SensD); + if(serialOutputEnable) { + // pc.printf("az:%6.3f el:%6.3f :: A:%.3f B:%.3f C:%.3f D:%.3f \n", // valAzimut, valElevacija, SensA, SensB, SensC, SensD); - pc.printf("az:%6.3f el:%6.3f \n", valAzimut, valElevacija); + + pc.printf("az:%6.3f el:%6.3f \n", valAzimut, valElevacija); + } } int main() { + pc.baud(serialOutputBaudrate); + Motor *motorAz = new Motor(p25, p26, p24); Motor *motorEl = new Motor(p22, p21, p23); @@ -60,90 +69,35 @@ readValuesForAveraging(); - bool someWrokDone = false; - // ----- azimut ----- - if(!(*motorAz).isMoving() && (abs(valAzimut) > sensorStartTreshold)) { + if(abs(valAzimut) > sensorStartTreshold) { if(valAzimut > 0) (*motorAz).movePositive(); else (*motorAz).moveNegative(); - someWrokDone = true; } - if((*motorAz).isMoving() && (abs(valAzimut) < sensorStopTreshold)) { + if(abs(valAzimut) < sensorStopTreshold) { (*motorAz).stop(); - someWrokDone = true; } // ----- elevacija ----- - if(!(*motorEl).isMoving() && (abs(valElevacija) > sensorStartTreshold)) { + if(abs(valElevacija) > sensorStartTreshold) { if(valElevacija > 0) (*motorEl).movePositive(); else (*motorEl).moveNegative(); - someWrokDone = true; - } - - if((*motorEl).isMoving() && (abs(valElevacija) < sensorStopTreshold)) { - (*motorEl).stop(); - someWrokDone = true; - } - -// ---- ništa nije dirano ---- - - if(!someWrokDone) - wait_ms(500); - - - - - /* - if(valAzimut > sensorStartTreshold) { - if(!(*motorAz).isMoving()) - (*motorAz).movePositive(); - continue; - } - - if(valAzimut < (-1 * sensorStartTreshold)) { - if(!(*motorAz).isMoving()) - (*motorAz).moveNegative(); - continue; } - if((*motorAz).isMoving() && (abs(valAzimut) < sensorStopTreshold)) { - (*motorAz).stop(); - } - - if(valElevacija > sensorStartTreshold) { - if(!(*motorEl).isMoving()) - (*motorEl).movePositive(); - continue; - } - - if(valElevacija < (-1 * sensorStartTreshold)) { - if(!(*motorEl).isMoving()) - (*motorEl).moveNegative(); - continue; + if(abs(valElevacija) < sensorStopTreshold) { + (*motorEl).stop(); } - if((*motorEl).isMoving() && (abs(valElevacija) < sensorStopTreshold)) { - (*motorEl).stop(); - } - */ - - /* - if (valElevacija > sensorTreshold){ // positive azimuth deviation - (*motorEl).movePositive(); - pc.printf("elevacija pozitiv \n"); - } - else if (valElevacija < (-1 * sensorTreshold)) { // negative azimuth deviation - (*motorEl).moveNegative(); - pc.printf("elevacija negativ \n"); - } - */ +// ----- pauza ------ + + wait_ms(100); } }