Odobasic Faris Mehanovic Adnan

Dependencies:   mbed sMotor

Committer:
tim008
Date:
Mon May 12 09:41:55 2014 +0000
Revision:
0:5838b946766e
PAI_LV9_GRUPA2_TIM008

Who changed what in which revision?

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