This is gRover, the Grove-Platform Rover; it is a general, all-purpose rover for house exploration.
This page is a bit of a mess, I’ll admit. The PDF file attached is much neater and contains much more information about the project than this page’s text does. For more pictures, see the gRover Flickr Photoset. This rover build uses parts graciously provided by Seeed Studio.
I purchased an RC car from the thrift store for $2. It had no remote control to go along with it, but it did have a 4.8V Ni-Cad battery pack, a chassis, a steering motor, and a drive motor. While the 4.8V Ni-Cad battery does not have enough voltage to power the I2C Motor Driver (it may be useful in another project), the motors and chassis provide a great base for a robot.
To me, this build was more about making a framework that other users could utilize to easily use the Grove platform to make a rover. I created gRover with the following (easily-modifiable and easily-expandable) features:
- Autonomous Mode: Drive the rover around autonomously using the on-board sensors for guidance
- Remote Control: Drive the rover around with commands sent over the serial port (currently non-functional, as it interrupts I2C. A Bluetooth Twig using NewSoftSerial should work well.)
- Cat Spooker: Lie in wait until a cat approaches, then make some noise and start Autonomous mode (This can be replaced with something more interesting. I’m open to suggestions)
- Cat Taunter: Make a noise every 15 seconds while there isn’t a cat in the area. (Ditto)
- Motor Test: Run a test of the motors connected to the I2C Motor Driver Twig
- Sensor View: Get a live view of sensor data on the OLED Display
Arduino (or Arduino Clone)
Battery Box (Output: 8-15V)
Stem – Grove Base Shield
Twig – OLED Display 128×64
Twig – I2C Hub
Twig – I2C Motor Driver
Twig – I2C Touch Sensor
Twig – Sound Recorder
Twig – Buzzer
Twig – PIR Motion Sensor
Twig – 80cm Infrared Proximity Sensor
Twig – 3-Axis Accelerometer
Twig – Chainable RGB LED
Twig – Sound Sensor
Twig – Vibrator
Grove – Universal 4-Pin Cable (5 ea)
Part Usage: The Twigs perform the following tasks:
- The 3-axis Accelerometer Twig helps track the rover’s movements, and can be used to tell if it is standing still (despite motors turning) (not currently implemeted into Auto Mode)
- The OLED Display 128×64 Twig and I2C Touch Sensor Twig are used as a User Interface, mounted on the top of the robot (or under a clear polyurethane shell for weatherproofing). The Vibrator Twig is used as tactile feedback for the I2C Touch Sensor Twig’s buttons, (also known as “feelers”) which aren’t physical buttons but actually touch sensors.
- The Buzzer Twig is used as audible feedback in addition to the Vibrator Twig’s tactile feedback, and can be used for sound effects if the Sound Recorder Twig isn’t used.
- The PIR Motion Sensor Twig is set to a fairly short range, and is used to either detect obstacles, or (in some cases) wait for obstacles (like cats!) to approach it.
- The 80cm IR Proximity Sensor Twig is used to detect obstacles ahead of the rover.
- The Sound Recorder Twig has various sounds recorded, such as a monster-truck engine and a car horn.
- The Chainable RGB LED Twigs act as pseudo-Police flashing lights (with two RGB LEDs, flashing in a red/blue pattern)
- The Sound Sensor Twig is used to control the robot by clapping. (Not currently implemented into Auto Mode)
- The I2C Motor Driver Twig is used to control the drive and steering motors in the RC car.
The code is CC BY-SA licensed to the extent possible, given that the code has minor sections taken from example code from the Seeed Studio wiki (links are available in the PDF and in the code headers), and for the Touch Sensor Twig, from Rory Nugent (cited in the code). If I have missed a citation, please let me know.
The documentation PDF is CC BY-SA.