![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Emrah Dautbegović Edis Kunić
main.cpp
- Committer:
- tim008
- Date:
- 2014-05-15
- Revision:
- 0:d1b1742b324c
File content as of revision 0:d1b1742b324c:
#include "mbed.h" #include "sMotor.h" //motor.step(numstep,smjer,speed); int smjer = 0; bool radi = true; Serial pc(USBTX, USBRX); sMotor motor(dp9, dp10, dp11, dp13); // creates new stepper motor: IN1, IN2, IN3, IN4 int speed = 900 ; // set default motor speed float numstep = 512 ; //broj koraka potrebnih da motor napravi ugao od 360 stepeni void objasni() { pc.printf("\n NAREDBE: "); pc.printf("\nA-postavi osovinu motora(0-360) stepeni"); pc.printf("\nB-promijeni smjer kretanja motora"); pc.printf("\nC-promijeni brzinu kretanja motora"); pc.printf("\nD-pokreni/zaustavi motor"); } char ocitajNaredbu() { char naredba; pc.printf("\nUnesi naredbu: "); naredba=pc.getc(); while(naredba != 'A' && naredba != 'B' && naredba != 'C' && naredba != 'D') { pc.printf("\nUnesi naredbu: "); naredba=pc.getc(); } return naredba; } void postaviUgaoOsovine() { int ugao; pc.printf("\nUnesi ugao(stepeni): "); pc.scanf("%d", &ugao); numstep = (int)((512./360.)*(ugao%360)); if(ugao>0){ if(radi==true) motor.step(numstep,smjer,speed); } else { smjer = 1-smjer; if(radi==true) motor.step(numstep,smjer,speed); } } void promijeniSmjer() { smjer = 1-smjer; if(radi==true) motor.step(numstep,smjer,speed); } void promijeniBrzinu() { pc.printf("\nUnesi brzinu: "); pc.scanf("%d", &speed); if(radi==true) motor.step(numstep,smjer,speed); } void pali_gasi() { if(radi) pc.printf("\nMotor je upaljen i krece se brzinom %d.", speed); else pc.printf("\nMotor je ugasen."); } void startOrStop() { if(radi == true) { radi = false; speed = 0; } else { radi = true; speed = 900; } motor.step(numstep,smjer,speed); } int main() { char naredba; motor.step(numstep,smjer,speed); while(1) { objasni(); pali_gasi(); naredba = ocitajNaredbu(); if(naredba == 'A') postaviUgaoOsovine(); else if(naredba == 'B') promijeniSmjer(); else if(naredba == 'C') promijeniBrzinu(); else if(naredba == 'D') startOrStop(); wait(1); } }