tim008 tim008
/
LV9_Grupa5_Tim8_Zadatak2
Amer Ratković Emina Muharemović
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(); } } }