Anesa Drakovac Emir Mujačić

Dependencies:   mbed sMotor

Committer:
tim007
Date:
Thu May 15 13:58:44 2014 +0000
Revision:
0:d74525d86005
Anesa Drakovac; Emir Muja?i?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim007 0:d74525d86005 1 #include "mbed.h"
tim007 0:d74525d86005 2 #include "sMotor.h"
tim007 0:d74525d86005 3
tim007 0:d74525d86005 4 Serial pc(USBTX, USBRX);
tim007 0:d74525d86005 5 sMotor motor (dp13, dp11, dp10, dp9);
tim007 0:d74525d86005 6
tim007 0:d74525d86005 7 int step_speed = 1200;
tim007 0:d74525d86005 8 //step(brojKoraka, smjer, step_speed);
tim007 0:d74525d86005 9 const int brojKoraka = 512; //512 == 360 stepeni => zeljeniUgao! -> n = 360/zeljeniUgao -> step(brojKoraka/n , ... , ...);
tim007 0:d74525d86005 10 int orjentacija = 0;
tim007 0:d74525d86005 11 bool ukljucen = false;
tim007 0:d74525d86005 12
tim007 0:d74525d86005 13
tim007 0:d74525d86005 14 int main()
tim007 0:d74525d86005 15 {
tim007 0:d74525d86005 16 pc.printf("1 - Proizvoljan polozaj \n2 - Promjena smjera kretanja \n3 - Promjena brzine kretanja \n4 - Start/stop \n");
tim007 0:d74525d86005 17
tim007 0:d74525d86005 18 while(1) {
tim007 0:d74525d86005 19 char c(0);
tim007 0:d74525d86005 20 if(pc.readable()) {
tim007 0:d74525d86005 21 c = pc.getc();
tim007 0:d74525d86005 22 //proizvoljan polozaj
tim007 0:d74525d86005 23 if(c == '1') {
tim007 0:d74525d86005 24 int zeljeniUgao(0);
tim007 0:d74525d86005 25 bool trigger = false;
tim007 0:d74525d86005 26 pc.printf("\nUnesite polozaj motora [0 - 360] : ");
tim007 0:d74525d86005 27 pc.scanf("%d", &zeljeniUgao);
tim007 0:d74525d86005 28 if(zeljeniUgao < 0 || zeljeniUgao > 360) {
tim007 0:d74525d86005 29 pc.printf("Ugao nije ispravno unesen!\n");
tim007 0:d74525d86005 30 trigger = true;
tim007 0:d74525d86005 31 }
tim007 0:d74525d86005 32 if(zeljeniUgao != 0 && !trigger) {
tim007 0:d74525d86005 33 double n = 360. / zeljeniUgao; //broj koraka za koliko da se okrene; prvi param. u funkc step(a,b,c);
tim007 0:d74525d86005 34 motor.step((int)(brojKoraka / n), orjentacija, step_speed);
tim007 0:d74525d86005 35 }
tim007 0:d74525d86005 36 }
tim007 0:d74525d86005 37 //orjentacija okretanja
tim007 0:d74525d86005 38 if(c == '2') {
tim007 0:d74525d86005 39 orjentacija = 1 - orjentacija;
tim007 0:d74525d86005 40 while(pc.getc()!='4')
tim007 0:d74525d86005 41 motor.step(brojKoraka, orjentacija, step_speed);
tim007 0:d74525d86005 42 }
tim007 0:d74525d86005 43 //brzina kretanja
tim007 0:d74525d86005 44 if(c == '3') {
tim007 0:d74525d86005 45 pc.printf("\nUnesite zeljenu brzinu : ");
tim007 0:d74525d86005 46 pc.scanf("%d", &step_speed);
tim007 0:d74525d86005 47 while(pc.getc()!='4')
tim007 0:d74525d86005 48 motor.step(brojKoraka, orjentacija, step_speed);
tim007 0:d74525d86005 49 }
tim007 0:d74525d86005 50 //start/stop
tim007 0:d74525d86005 51 if(c == '4') {
tim007 0:d74525d86005 52 ukljucen = !ukljucen;
tim007 0:d74525d86005 53 if(ukljucen){
tim007 0:d74525d86005 54 pc.printf("\nMotor je UKLJUCEN!\n");
tim007 0:d74525d86005 55
tim007 0:d74525d86005 56 motor.step(brojKoraka, orjentacija, step_speed);}
tim007 0:d74525d86005 57 else
tim007 0:d74525d86005 58 {
tim007 0:d74525d86005 59 pc.printf("\nMotor je ISKLJUCEN!\n");
tim007 0:d74525d86005 60
tim007 0:d74525d86005 61 motor.step(brojKoraka, orjentacija, 825);}
tim007 0:d74525d86005 62 }
tim007 0:d74525d86005 63 }
tim007 0:d74525d86005 64
tim007 0:d74525d86005 65 }
tim007 0:d74525d86005 66 }