I arrived home yesterday to find, sitting on my doorstep, this bad-boy:
(He was inside a box, obviously, but it’s more fun to pretend that he just drove up to my door.)
I ran through the instruction manual and experimented using the different sensors and playing with the built-in modes, which included a cool line-following mode as well as an exploration & obstacle avoidance mode.
Unfortunately, I almost immediately realized that this puppy does not support Bluetooth connectivity out of the gate. Having it tethered to my PC via a Cable is going to be a nuisance, so I ordered a IPRE Fluke2 board. The Fluke2 connects to the Scribbler II via the serial port and allows Bluetooth connectivity, as well as providing a low-resolution camera that may be fun to play with. Once he has his Fluke2 board, my Scribbler will look like this:
While I wait for the Fluke2 to arrive, I have begun brainstorming about the types of tasks I want the user to be able to assign via natural language:
- Movement — Movement control, speed controls, composite movement instructions (i.e. “move forward for 4 seconds then turn left 90 degrees”)
- Sensor Queries — Is an object in front? On the left or right? Is there a detectable line beneath?
- LED Light Control — Control which of the 3 LED lights are turned on. Other possibilities including flashing or siren modes. Also control the Fluke2 “ultra bright” LED.
- Sound Control — Play a basic tune, or just some beeps & boops.
- Miscellaneous — preprogrammed “fun” routines. A draw mode, a dance mode, etc. Remaining battery power queries.
I’m not sure if it’s feasible, but I would also love to show the camera feed in the window next to the command input, to aid in controlling.
I also decided that I want my program to have the option to display the actual code that it is sending to the Scribbler II. This would give the program some utility as a Python education tool.
The bulk of my work this week will be on starting the Natural Language Processing component. Prolog, here I come…
- Come up with a name for the program I’m writing, so I’m not just constantly saying “my program”.
- Come up with a name for my Scribbler!