tim008 tim008
/
LV9_GRUPA2_TIM008_ZADATAK2
Odobasic Faris Mehanovic Adnan
main.cpp@0:5838b946766e, 2014-05-12 (annotated)
- Committer:
- tim008
- Date:
- Mon May 12 09:41:55 2014 +0000
- Revision:
- 0:5838b946766e
PAI_LV9_GRUPA2_TIM008
Who changed what in which revision?
User | Revision | Line number | New 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 | } |