tim010 tim010
/
LV9_Grupa4_Tim010_Zadatak2
Adna Duraković
main.cpp@0:0149579a60cb, 2014-05-12 (annotated)
- Committer:
- tim010
- Date:
- Mon May 12 17:48:09 2014 +0000
- Revision:
- 0:0149579a60cb
PAI_LV9_Grupa4_Tim010
Who changed what in which revision?
User | Revision | Line number | New 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 | } |