Robot code for searching an object and charging at it.
Dependencies: HCSR04 Motor mbed
Diff: functions.cpp
- 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);