Kenan Mahmutović Anes Lučkin

Dependencies:   mbed sMotor

Committer:
tim010
Date:
Thu May 15 18:09:56 2014 +0000
Revision:
0:43cef404a144
LAB9_GRUPA7_TIM010_ZAD2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim010 0:43cef404a144 1
tim010 0:43cef404a144 2 #include "mbed.h"
tim010 0:43cef404a144 3 #include "sMotor.h"
tim010 0:43cef404a144 4
tim010 0:43cef404a144 5
tim010 0:43cef404a144 6 Serial pc(USBTX, USBRX);
tim010 0:43cef404a144 7 sMotor motor(p9, p10, p11, p13); // creates new stepper motor: IN1, IN2, IN3, IN4
tim010 0:43cef404a144 8 bool smjer = true;
tim010 0:43cef404a144 9 int step_speed = 1200 ; // set default motor speed
tim010 0:43cef404a144 10 int numstep = 512 ; // defines full turn of 360 degree
tim010 0:43cef404a144 11 //you might want to calibrate this value according to your motor
tim010 0:43cef404a144 12
tim010 0:43cef404a144 13 void kontrolisi_motor ( int x){
tim010 0:43cef404a144 14 int broj_koraka = numstep*x/360;
tim010 0:43cef404a144 15 motor.step(broj_koraka,smjer,step_speed);
tim010 0:43cef404a144 16
tim010 0:43cef404a144 17 }
tim010 0:43cef404a144 18 void promijeni_smjer() {
tim010 0:43cef404a144 19 if(smjer == true){
tim010 0:43cef404a144 20 smjer = false;
tim010 0:43cef404a144 21 }
tim010 0:43cef404a144 22 else smjer = true;
tim010 0:43cef404a144 23
tim010 0:43cef404a144 24 }
tim010 0:43cef404a144 25 void promjena_brzine( int brzina){
tim010 0:43cef404a144 26 step_speed = brzina;
tim010 0:43cef404a144 27 }
tim010 0:43cef404a144 28 void pokreni_zaustavi( int x){
tim010 0:43cef404a144 29 if(x==4){
tim010 0:43cef404a144 30 while(1){
tim010 0:43cef404a144 31 motor.step(numstep,smjer,step_speed);
tim010 0:43cef404a144 32 }
tim010 0:43cef404a144 33 }
tim010 0:43cef404a144 34 else motor.step(0,smjer,step_speed);
tim010 0:43cef404a144 35 }
tim010 0:43cef404a144 36
tim010 0:43cef404a144 37 int main() {
tim010 0:43cef404a144 38
tim010 0:43cef404a144 39 while(1){
tim010 0:43cef404a144 40 pc.putc('c');
tim010 0:43cef404a144 41 pc.printf("Meni:\n");
tim010 0:43cef404a144 42 pc.printf("1.Pomjeranje motora,unesite broj stepeni za koji zelite da rotirate motor.\n");
tim010 0:43cef404a144 43 pc.printf("2.Promjena smjera obrtanja motora.\n");
tim010 0:43cef404a144 44 pc.printf("3.Promjena brzine kretanja motora.");
tim010 0:43cef404a144 45 pc.printf("4.Pokretanje/zaustavljanje motora.");
tim010 0:43cef404a144 46 if(pc.readable()){
tim010 0:43cef404a144 47 if(pc.getc()=='1'){
tim010 0:43cef404a144 48 pc.printf("Unesite broj stepeni za koji zelite da rotirate motor,hvalaaa!");
tim010 0:43cef404a144 49 int broj,broj1,broj2;
tim010 0:43cef404a144 50 broj=pc.getc();
tim010 0:43cef404a144 51 broj1=pc.getc();
tim010 0:43cef404a144 52 broj2=pc.getc();
tim010 0:43cef404a144 53 int x = (broj-'0')*100 + (broj1- '0')*10 + (broj2 - '0')*1;
tim010 0:43cef404a144 54 kontrolisi_motor(x);
tim010 0:43cef404a144 55
tim010 0:43cef404a144 56
tim010 0:43cef404a144 57 }
tim010 0:43cef404a144 58 else if(pc.getc()=='2'){
tim010 0:43cef404a144 59 promijeni_smjer();
tim010 0:43cef404a144 60 }
tim010 0:43cef404a144 61 else if(pc.getc()=='3'){
tim010 0:43cef404a144 62 int br,br1,br2;
tim010 0:43cef404a144 63 br=pc.getc();
tim010 0:43cef404a144 64 br1=pc.getc();
tim010 0:43cef404a144 65 br2=pc.getc();
tim010 0:43cef404a144 66 int y = (br-'0')*100 + (br1- '0')*10 + (br2 - '0')*1;
tim010 0:43cef404a144 67 promjena_brzine(y);
tim010 0:43cef404a144 68 }
tim010 0:43cef404a144 69 else if(pc.getc()=='4'){
tim010 0:43cef404a144 70 pokreni_zaustavi(4);
tim010 0:43cef404a144 71 }
tim010 0:43cef404a144 72
tim010 0:43cef404a144 73
tim010 0:43cef404a144 74 }
tim010 0:43cef404a144 75
tim010 0:43cef404a144 76 }
tim010 0:43cef404a144 77 }