Amer Ratković Emina Muharemović

Dependencies:   mbed sMotor

main.cpp

Committer:
tim008
Date:
2014-05-15
Revision:
0:3be2599834d0

File content as of revision 0:3be2599834d0:

#include "mbed.h"
#include "sMotor.h"


Serial pc(USBTX, USBRX);
sMotor motor(dp9, dp10, dp11, dp13); // creates new stepper motor: IN1, IN2, IN3, IN4
Ticker t;
int step_speed = 1200 ; // set default motor speed
float numstep = 512 ; // defines full turn of 360 degree
int speed=888;
bool radi=true;
int smjer=1;
void meni()
{
    pc.printf("A - Postavi osovinu motora (0-360 stepeni) \n");
    pc.printf("S - Promjeni brzinu kretanja \n");
    pc.printf("D - Promjeni smjer kretanja \n");
    pc.printf("F - Pokreni/zaustavi motor \n");
}

void pali_gasi()
{
    if(radi)
    {
        motor.step(numstep,smjer,speed);
        pc.printf("Motor je upaljen.\n");

    }
    else
    {
        motor.step(numstep,smjer,0);
        pc.printf("Motor je ugasen.\n");

    }
}

void smjerovi()
{
    motor.step(numstep,smjer,speed);

}

int main()
{
    while (1)
    {          
      
    meni();
        
      if(radi==true)
      while(pc.getc()!='F') motor.step(numstep,smjer,speed);
         radi=!radi;

         meni();
        char a;
        a=pc.getc();
        if(a=='A')
        {
            int ugao;
            pc.printf("\nNavedite ugao pomjeranja motora: \n");
            pc.scanf("%d", &ugao);
            if ( ugao > 0 )
                motor.step(numstep / 360.0 * (ugao % 360), smjer, speed);
            else
                motor.step(numstep / 360.0 * (ugao % 360), 1 - smjer, speed);
        }
        if(a=='S')
        {
            pc.printf("\nTrenutna brzina: %d\n", speed);
            pc.printf("\nNova brzina: \n");
            pc.scanf("%d",&speed);
            motor.step(numstep,smjer,speed);

        }
        if(a=='D')
        {
            if (smjer==0)
                smjer=1;
            else
                smjer=0;
            smjerovi();
            pc.printf("\nPromjena smjera. \n");

        }
        
         if(a=='F')
        {
            radi=!radi;
            pali_gasi();
        }
       

    }


}