Muhamed Mujić Elmir Hodžić

Dependencies:   mbed sMotor

Files at this revision

API Documentation at this revision

Comitter:
tim007
Date:
Mon May 12 18:05:42 2014 +0000
Commit message:
LV9_Grupa4_Tim007_Zadatak2

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
sMotor.lib Show annotated file Show diff for this revision Revisions of this file
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