Adna Duraković

Dependencies:   mbed sMotor

Committer:
tim010
Date:
Mon May 12 17:48:09 2014 +0000
Revision:
0:0149579a60cb
PAI_LV9_Grupa4_Tim010

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim010 0:0149579a60cb 1 #include <stdio.h>
tim010 0:0149579a60cb 2 #include <stdlib.h>
tim010 0:0149579a60cb 3 #include "mbed.h"
tim010 0:0149579a60cb 4 #include "sMotor.h"
tim010 0:0149579a60cb 5
tim010 0:0149579a60cb 6 Serial pc(USBTX, USBRX);
tim010 0:0149579a60cb 7 sMotor motor (dp13, dp11, dp10, dp9);
tim010 0:0149579a60cb 8
tim010 0:0149579a60cb 9 int step_speed = 1200;
tim010 0:0149579a60cb 10 const int step = 512;
tim010 0:0149579a60cb 11 int rot = 0;
tim010 0:0149579a60cb 12 bool ukljucen = true;
tim010 0:0149579a60cb 13
tim010 0:0149579a60cb 14
tim010 0:0149579a60cb 15 int main()
tim010 0:0149579a60cb 16 {
tim010 0:0149579a60cb 17 pc.printf("1 Postavljanje osovine ");
tim010 0:0149579a60cb 18 pc.printf("\n2 Promjena smjera kretanja");
tim010 0:0149579a60cb 19 pc.printf("\n3 Promjena brzine kretanja");
tim010 0:0149579a60cb 20 pc.printf(" \n4 Start/stop \n");
tim010 0:0149579a60cb 21
tim010 0:0149579a60cb 22 while(1) {
tim010 0:0149579a60cb 23
tim010 0:0149579a60cb 24 char c;
tim010 0:0149579a60cb 25 if(ukljucen) motor.step(step, rot, step_speed);
tim010 0:0149579a60cb 26 wait(0.5);
tim010 0:0149579a60cb 27 if(pc.readable()) {
tim010 0:0149579a60cb 28 c = pc.getc();
tim010 0:0149579a60cb 29
tim010 0:0149579a60cb 30 if(c == '1') {
tim010 0:0149579a60cb 31 motor.step(step, rot, 0);
tim010 0:0149579a60cb 32 int ugao(0);
tim010 0:0149579a60cb 33 bool trigger = false;
tim010 0:0149579a60cb 34 pc.printf("\nUnesite polozaj motora u stepenima [0 - 360] : ");
tim010 0:0149579a60cb 35 pc.scanf("%d", &ugao);
tim010 0:0149579a60cb 36 if(ugao < 0 || ugao > 360) {
tim010 0:0149579a60cb 37 pc.printf("Ugao nije ispravno unesen.\n");
tim010 0:0149579a60cb 38 trigger = true;
tim010 0:0149579a60cb 39 }
tim010 0:0149579a60cb 40 if(ugao != 0 && !trigger) {
tim010 0:0149579a60cb 41 double n = 360.0 / ugao;
tim010 0:0149579a60cb 42 if(ukljucen)
tim010 0:0149579a60cb 43 motor.step((int)(step / n), rot, step_speed);
tim010 0:0149579a60cb 44 }
tim010 0:0149579a60cb 45 wait(1);
tim010 0:0149579a60cb 46 }
tim010 0:0149579a60cb 47
tim010 0:0149579a60cb 48 if(c == '2') {
tim010 0:0149579a60cb 49 rot = 1 - rot;
tim010 0:0149579a60cb 50 if(ukljucen)
tim010 0:0149579a60cb 51 motor.step(step, rot, step_speed);
tim010 0:0149579a60cb 52 }
tim010 0:0149579a60cb 53
tim010 0:0149579a60cb 54 if(c == '3') {
tim010 0:0149579a60cb 55 pc.printf("\nUnesite brzinu : ");
tim010 0:0149579a60cb 56 pc.scanf("%d", &step_speed);
tim010 0:0149579a60cb 57 if(ukljucen)
tim010 0:0149579a60cb 58 motor.step(step, rot, step_speed);
tim010 0:0149579a60cb 59 }
tim010 0:0149579a60cb 60
tim010 0:0149579a60cb 61 if(c == '4') {
tim010 0:0149579a60cb 62 ukljucen = !ukljucen;
tim010 0:0149579a60cb 63 if(ukljucen) motor.step(step, rot, step_speed);
tim010 0:0149579a60cb 64 }
tim010 0:0149579a60cb 65
tim010 0:0149579a60cb 66 }
tim010 0:0149579a60cb 67
tim010 0:0149579a60cb 68 }
tim010 0:0149579a60cb 69 }