The past few months I’ve been working on the project for the Digilent Design Contest so I was quite busy. Together with my colleague Dragos I worked allot on this project but the results were great, our project the BlueRover won the 1st place so I say it was well worth it. First of all Digilent provided most of the parts needed for the project like :
- 1 x Cerebot 32MX4 dev board
- 4 x dc motors
- 4 x HB5 motor drivers
- wheels, metal pieces to put everything together
Besides these we also used:
- 1 x LiPo 2S battery
- 1 x 5V dc to dc converter
- 1 x 6v dc to dc converter
- 1 x BTM222 bluetooth module
- 1 x MQ6 LPG gas sensor
- 1 x MQ7 CO sensor
- 1 x TMP275 digital temperature sensor
- 1 x MMA7455 digital 3 axis accelerometer
The idea of a remote controlled rover excites almost every electronics student and when we heard about the Digilent contest we realized that we have the possibility to make such a project real. We decided to build our own remote controlled rover but it had to be different from what we’ve seen before. We came up with the idea that we could control the rover by using accelerometer data and that we could use a second accelerometer placed on the rover to sense the driving surface.
I handled the Rover with the sensors and my colleague took care of the control unit which is a Nokia E55 smartphone running a custom application in Python. The principle is simple the control unit sends acceleration data to the rover every 100ms thus controlling the movement of the rover. The rover reads data from the on-board sensors (CO, LPG, Temperature, Accelerometer, and Battery) and sends it to the control unit every 100ms. The control unit receives sensor data from the rover and reacts according to the rover accelerometer by vibrating on each bump sensed by the accelerometer. At the same time the control unit displays sensor data on screen.
I’m not going to go into details about the source code or the specs of all the boards we used in this project but you can find those in our report which I’m linking at the end of this article. I would like to add that Digilent RO did a great job in organizing this contest, it was a really great experience to be there and I’m sure we’ll be there next year too.
You can watch photos from the contest here: http://picasaweb.google.com/digilen.ro
Now I’ll leave you with a demo of our project captured right at the contest presentation:
- BlueRover documentation
- Rover source code (written in C in MPLAB)
- Control unit application source code (written in Python)
This article will be followed up by one dedicated to the BTM180 and BTM222 bluetooth modules from Rayson. Due to the lack of documentation on this module it was really difficult to get them working and I would like to share my experience for those who are facing the same issues.