Amer Ratković Emina Muharemović

Dependencies:   mbed sMotor

Committer:
tim008
Date:
Thu May 15 13:58:57 2014 +0000
Revision:
0:3be2599834d0
LV9_Grupa5_Tim8_Zadatak2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim008 0:3be2599834d0 1 #include "mbed.h"
tim008 0:3be2599834d0 2 #include "sMotor.h"
tim008 0:3be2599834d0 3
tim008 0:3be2599834d0 4
tim008 0:3be2599834d0 5 Serial pc(USBTX, USBRX);
tim008 0:3be2599834d0 6 sMotor motor(dp9, dp10, dp11, dp13); // creates new stepper motor: IN1, IN2, IN3, IN4
tim008 0:3be2599834d0 7 Ticker t;
tim008 0:3be2599834d0 8 int step_speed = 1200 ; // set default motor speed
tim008 0:3be2599834d0 9 float numstep = 512 ; // defines full turn of 360 degree
tim008 0:3be2599834d0 10 int speed=888;
tim008 0:3be2599834d0 11 bool radi=true;
tim008 0:3be2599834d0 12 int smjer=1;
tim008 0:3be2599834d0 13 void meni()
tim008 0:3be2599834d0 14 {
tim008 0:3be2599834d0 15 pc.printf("A - Postavi osovinu motora (0-360 stepeni) \n");
tim008 0:3be2599834d0 16 pc.printf("S - Promjeni brzinu kretanja \n");
tim008 0:3be2599834d0 17 pc.printf("D - Promjeni smjer kretanja \n");
tim008 0:3be2599834d0 18 pc.printf("F - Pokreni/zaustavi motor \n");
tim008 0:3be2599834d0 19 }
tim008 0:3be2599834d0 20
tim008 0:3be2599834d0 21 void pali_gasi()
tim008 0:3be2599834d0 22 {
tim008 0:3be2599834d0 23 if(radi)
tim008 0:3be2599834d0 24 {
tim008 0:3be2599834d0 25 motor.step(numstep,smjer,speed);
tim008 0:3be2599834d0 26 pc.printf("Motor je upaljen.\n");
tim008 0:3be2599834d0 27
tim008 0:3be2599834d0 28 }
tim008 0:3be2599834d0 29 else
tim008 0:3be2599834d0 30 {
tim008 0:3be2599834d0 31 motor.step(numstep,smjer,0);
tim008 0:3be2599834d0 32 pc.printf("Motor je ugasen.\n");
tim008 0:3be2599834d0 33
tim008 0:3be2599834d0 34 }
tim008 0:3be2599834d0 35 }
tim008 0:3be2599834d0 36
tim008 0:3be2599834d0 37 void smjerovi()
tim008 0:3be2599834d0 38 {
tim008 0:3be2599834d0 39 motor.step(numstep,smjer,speed);
tim008 0:3be2599834d0 40
tim008 0:3be2599834d0 41 }
tim008 0:3be2599834d0 42
tim008 0:3be2599834d0 43 int main()
tim008 0:3be2599834d0 44 {
tim008 0:3be2599834d0 45 while (1)
tim008 0:3be2599834d0 46 {
tim008 0:3be2599834d0 47
tim008 0:3be2599834d0 48 meni();
tim008 0:3be2599834d0 49
tim008 0:3be2599834d0 50 if(radi==true)
tim008 0:3be2599834d0 51 while(pc.getc()!='F') motor.step(numstep,smjer,speed);
tim008 0:3be2599834d0 52 radi=!radi;
tim008 0:3be2599834d0 53
tim008 0:3be2599834d0 54 meni();
tim008 0:3be2599834d0 55 char a;
tim008 0:3be2599834d0 56 a=pc.getc();
tim008 0:3be2599834d0 57 if(a=='A')
tim008 0:3be2599834d0 58 {
tim008 0:3be2599834d0 59 int ugao;
tim008 0:3be2599834d0 60 pc.printf("\nNavedite ugao pomjeranja motora: \n");
tim008 0:3be2599834d0 61 pc.scanf("%d", &ugao);
tim008 0:3be2599834d0 62 if ( ugao > 0 )
tim008 0:3be2599834d0 63 motor.step(numstep / 360.0 * (ugao % 360), smjer, speed);
tim008 0:3be2599834d0 64 else
tim008 0:3be2599834d0 65 motor.step(numstep / 360.0 * (ugao % 360), 1 - smjer, speed);
tim008 0:3be2599834d0 66 }
tim008 0:3be2599834d0 67 if(a=='S')
tim008 0:3be2599834d0 68 {
tim008 0:3be2599834d0 69 pc.printf("\nTrenutna brzina: %d\n", speed);
tim008 0:3be2599834d0 70 pc.printf("\nNova brzina: \n");
tim008 0:3be2599834d0 71 pc.scanf("%d",&speed);
tim008 0:3be2599834d0 72 motor.step(numstep,smjer,speed);
tim008 0:3be2599834d0 73
tim008 0:3be2599834d0 74 }
tim008 0:3be2599834d0 75 if(a=='D')
tim008 0:3be2599834d0 76 {
tim008 0:3be2599834d0 77 if (smjer==0)
tim008 0:3be2599834d0 78 smjer=1;
tim008 0:3be2599834d0 79 else
tim008 0:3be2599834d0 80 smjer=0;
tim008 0:3be2599834d0 81 smjerovi();
tim008 0:3be2599834d0 82 pc.printf("\nPromjena smjera. \n");
tim008 0:3be2599834d0 83
tim008 0:3be2599834d0 84 }
tim008 0:3be2599834d0 85
tim008 0:3be2599834d0 86 if(a=='F')
tim008 0:3be2599834d0 87 {
tim008 0:3be2599834d0 88 radi=!radi;
tim008 0:3be2599834d0 89 pali_gasi();
tim008 0:3be2599834d0 90 }
tim008 0:3be2599834d0 91
tim008 0:3be2599834d0 92
tim008 0:3be2599834d0 93 }
tim008 0:3be2599834d0 94
tim008 0:3be2599834d0 95
tim008 0:3be2599834d0 96 }
tim008 0:3be2599834d0 97