I’ve been encountering problems with implementing a hand-wave programming mode for grisbot, but along the way I came up with the following idea: how about a mode where the user holds the robot up to the screen and programs the servo timing directly.
I call it ‘Udrive,’ because the programming mode screen has a big U on it. Here it is with the grisbot testbed:
Here’s how it works.
If you hold the robot so that both photocells are in the dark area in the middle of the U, nothing happens.
If you move the robot to the left so that the left photo cell is in the light area on the left, the left LED lights up.
If you move the robot to the right so that the right photo cell is in the light area on the right, the right LED lights up.
If you move the robot so that both photocells are in the light area on the bottom, both LEDs light up.
If you (NOW) hold the robot so that both photocells are in the middle dark area for more than three seconds, the LEDs will blink to signal the end of program mode. Five seconds later, they will blink again, and that will begin action mode.
The LEDs will then repeat the same pattern of coming on and off with the same timing that the user inputted.
Of course, this isn’t about LEDs. When the program passes the testbed test phase and is moved onto the robot test phase, the servos will follow the same timing as the LEDs.
If this doesn’t make sense now, I should have the testing finished and the video up in a day or two and then you’ll be able to see it’s pretty straightforward.