
Odobasic Faris Mehanovic Adnan
main.cpp
00001 #include "mbed.h" 00002 #include "sMotor.h" 00003 00004 Serial pc(USBTX, USBRX); 00005 sMotor motor (dp13, dp11, dp10, dp9); 00006 00007 int step_speed = 1200; 00008 //step(brojKoraka, smjer, step_speed); 00009 const int brojKoraka = 512; //512 == 360 stepeni => zeljeniUgao! -> n = 360/zeljeniUgao -> step(brojKoraka/n , ... , ...); 00010 int orjentacija = 0; 00011 bool ukljucen = true; 00012 00013 00014 int main() 00015 { 00016 pc.printf("1 - Proizvoljan polozaj \n2 - Promjena smjera kretanja \n3 - Promjena brzine kretanja \n4 - Start/stop \n"); 00017 00018 while(1) { 00019 char c(0); 00020 if(pc.readable()) { 00021 c = pc.getc(); 00022 //proizvoljan polozaj 00023 if(c == '1') { 00024 int zeljeniUgao(0); 00025 bool trigger = false; 00026 pc.printf("\nUnesite polozaj motora [0 - 360] : "); 00027 pc.scanf("%d", &zeljeniUgao); 00028 if(zeljeniUgao < 0 || zeljeniUgao > 360) { 00029 pc.printf("Ugao nije ispravno unesen!\n"); 00030 trigger = true; 00031 } 00032 if(zeljeniUgao != 0 && !trigger) { 00033 double n = 360. / zeljeniUgao; //broj koraka za koliko da se okrene; prvi param. u funkc step(a,b,c); 00034 if(ukljucen) 00035 motor.step((int)(brojKoraka / n), orjentacija, step_speed); 00036 } 00037 } 00038 //orjentacija okretanja 00039 if(c == '2') { 00040 orjentacija = 1 - orjentacija; 00041 if(ukljucen) 00042 motor.step(brojKoraka, orjentacija, step_speed); 00043 } 00044 //brzina kretanja 00045 if(c == '3') { 00046 pc.printf("\nUnesite zeljenu brzinu : "); 00047 pc.scanf("%d", &step_speed); 00048 if(ukljucen) 00049 motor.step(brojKoraka, orjentacija, step_speed); 00050 } 00051 //start/stop 00052 if(c == '4') { 00053 ukljucen = !ukljucen; 00054 if(ukljucen) 00055 pc.printf("\nMotor je UKLJUCEN!\n"); 00056 else 00057 pc.printf("\nMotor je ISKLJUCEN!\n"); 00058 } 00059 00060 } 00061 } 00062 }
Generated on Thu Apr 4 2019 05:15:47 by
