Robot code for searching an object and charging at it.

Dependencies:   HCSR04 Motor mbed

Revision:
7:d94d23c55015
Parent:
6:af897173cb75
Child:
10:cec68ef272cd
diff -r af897173cb75 -r d94d23c55015 functions.cpp
--- a/functions.cpp	Sat May 23 16:09:43 2015 +0000
+++ b/functions.cpp	Sat May 23 17:03:48 2015 +0000
@@ -102,6 +102,49 @@
     return;
 }
 
+void moverandom()
+{
+    int counter;
+    int turn;
+    int direction;
+    float random_time;
+    float random_speed;
+
+    printf("Moving randomly\n");
+    counter = rand() % 10;
+
+    for (int i = 0; i < counter; i++)
+    {
+        random_time = rand() % 1000 + 1000;
+
+        turn = rand()/(RAND_MAX);
+        random_speed = (float)rand()/(float)(RAND_MAX);
+        if (random_speed < 0.5) {
+            random_speed = 0.5;
+        } else if (random_speed > 0.8) {
+            random_speed = 0.8;
+        }
+        
+        if (turn == 0) {
+            direction = rand()/(RAND_MAX);
+            if  (direction == 1) { 
+                MotorLeft.speed(random_speed);
+                MotorRight.speed(random_speed);
+                wait_ms(random_time);
+            } else {
+                MotorLeft.speed(-random_speed);
+                MotorRight.speed(-random_speed);
+                wait_ms(random_time);
+            }   
+        } else {
+            MotorLeft.speed(-random_speed);
+            MotorRight.speed(random_speed);
+            wait_ms(random_time);
+        }
+        return;
+    }
+}
+
 void stop() {
     MotorLeft.speed(0.0);
     MotorRight.speed(0.0);