Ovo je kopija vertije od Milana

Dependencies:   TextLCD mbed

Fork of SunflowerMach1 by Milan Draganic

main.cpp

Committer:
mdraganic
Date:
2013-11-09
Revision:
2:0bf41ad96558
Parent:
1:3500bf8487d0
Child:
3:bebfc64cefe4

File content as of revision 2:0bf41ad96558:

#include "mbed.h"
#include "Motor.h"
#include "MotorPwm.h"

AnalogIn ainSensA(p17);
AnalogIn ainSensB(p18);
AnalogIn ainSensC(p19);
AnalogIn ainSensD(p20);

float valAzimut = 0;
float valElevacija = 0;

float SensA, SensB, SensC, SensD;
void readValuesForAveraging() {

    SensA = 0;
    SensB = 0;
    SensC = 0;
    SensD = 0;
    
    for (int i = 0; i <= 9; i++) {  
        SensA += ainSensA;
        SensB += ainSensB;
        SensC += ainSensC;
        SensD += ainSensD;
    }
    SensA /= 10;
    SensB /= 10;
    SensC /= 10;
    SensD /= 10;
        
    valAzimut = (SensA + SensB) - (SensC + SensD); 
    valElevacija = (SensB + SensC) - (SensA + SensD);
}

int main() {

    Motor *motorEl = new MotorPwm(p25, p26);
    Motor *motorAz = new MotorPwm(p23, p24);

    while(1) {
    
        readValuesForAveraging();
        
        if (valAzimut > 0.2){ // positive azimuth deviation
            (*motorAz).movePositive();
        }
        else if (valAzimut < -0.2) { // negative azimuth deviation
            (*motorAz).moveNegative();
        }
        (*motorAz).stop(); 
        
        if (valElevacija > 0.2){ // positive azimuth deviation
            (*motorEl).movePositive();
        }
        else if (valElevacija < -0.2) { // negative azimuth deviation
            (*motorEl).moveNegative();
        }
        (*motorEl).stop(); 
    }
}