tim007 tim007
/
mbed_blinky
Muhamed Mujić Elmir Hodžić
Revision 0:0ae0d3cf5140, committed 2014-05-12
- Comitter:
- tim007
- Date:
- Mon May 12 18:05:42 2014 +0000
- Commit message:
- LV9_Grupa4_Tim007_Zadatak2
Changed in this revision
diff -r 000000000000 -r 0ae0d3cf5140 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon May 12 18:05:42 2014 +0000 @@ -0,0 +1,91 @@ +#include "mbed.h" + +Serial pc(USBTX, USBRX); +Ticker prikaz; +BusOut motor(dp13, dp11, dp10, dp9); //IN1, IN2, IN3, IN4 +int anticlockwise[8] = {1, 3, 2, 6, 4, 12, 8, 9}; +int clockwise[8] = {9, 8, 12, 4, 6, 2, 3, 1}; +int stop_time = 1000; +int cur = 0; +bool pokrenut = false; +int *smjer = clockwise; + +void rotate(int *step,int koraka = 8) +{ + for(int i = 0; i < koraka; i++) + { + motor = step[i]; + wait_us(stop_time); + } +} + + +void vrti() +{ + if(pokrenut) rotate(smjer); +} + + +int main() +{ + + + prikaz.attach_us(vrti, 20 * stop_time); + pc.printf("1-Pokreni motor\n"); + pc.printf("2-Promijeni smjer\n"); + pc.printf("3-Promijeni brzinu\n"); + pc.printf("4-Zaustavi motor\n"); + pc.printf("5-Pomjeri za korak\n"); + + while (1) { + char komanda = pc.getc(); + if (komanda == '1') pokrenut = true; + if (komanda == '2') smjer = ((smjer == clockwise) ? anticlockwise : clockwise); + if (komanda == '3') + { + prikaz.detach(); + int broj = 0; + char c; + bool greska = false; + pc.printf("Trenutno vrijeme pauze %f ms\n", stop_time); + pc.printf("Unesi vrijeme u ms . za kraj\n"); + c = pc.getc(); + while(c != '.') + { + broj *= 10; + if(c < '0' || c > '9') + { + pc.printf("Greska u unosu.\n"); + greska = true; + } + broj += (c - '0'); + c = pc.getc(); + } + if(!greska && broj != 0) stop_time = broj; + prikaz.attach_us(vrti, 20 * stop_time); + } + if (komanda=='4') pokrenut = false; + if (komanda=='5') + { + prikaz.detach(); + int broj = 0; + char c; + bool greska = false; + pc.printf("Unesi broj koraka . za kraj\n"); + c = pc.getc(); + while(c != '.') + { + broj *= 10; + if(c < '0' || c > '9') + { + pc.printf("Greska u unosu.\n"); + greska = true; + } + broj += (c - '0'); + c = pc.getc(); + } + for(int i =0; i < broj; i++) rotate(smjer, broj); + } + + } +}
diff -r 000000000000 -r 0ae0d3cf5140 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon May 12 18:05:42 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776 \ No newline at end of file
diff -r 000000000000 -r 0ae0d3cf5140 sMotor.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sMotor.lib Mon May 12 18:05:42 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/XtaticO/code/sMotor/#4b3b9e047ce3