Let's Make Robots!

Mr. General

  • Component category:
Mr._General_4.bas16.45 KB
Tone.zip9.68 KB
Mr__General_ATmega8_Edge_Detect.zip3.23 KB
Mr__General_ATmega8_Object_Detect.zip3.25 KB
Mr_General_Nano.zip3.21 KB
Vendor's Description: 

Video: http://www.youtube.com/watch?v=7Ve318yVUdU

DAGU products support site: https://sites.google.com/site/daguproducts/

This kit has recently been upgraded to include a USB interface, programming cable and the ATmega8A processor with the Arduino bootloader. The Manual has been updated with wiring instructions and diagram as well as USB driver instructions and trouble shooting section.

An improved "Tone" library is included on the CD as well as being available here that allows the Tone command to function on the ATmega8 processors (thanks to Robot Freak and Brett Hagman).

Based on Bot 08M, Mr. General is designed around a breadboard and includes the universal sensor brackets designed here at LMR as well as my IR object tracker in the form of a compound eye.

The Picaxe code was written for the picaxe 28X1 processor. The first Arduino code was written for an Arduino Nano which has 8 analog inputs. The second Arduino code is for an Arduino with only 6 analog inputs. This version uses digital inputs for the corner sensors which gives them slightly less range.

An IR LED and phototransistor is mounted on each corner and can be used for edge detection or object detection depending on how you choose to mount them. When mounted for object detection they can also be used for swarm communication. These sensors have an analog output but can also be used with digital inputs.

Here are some videos using a picaxe 28X1 and here is a video from GuangZhou University using the compound eye and an arduino to solve a maze.

The compound eye allows your robot to track a moving object but can also be used for IR communication between two robots. Other range sensors could also be fitted to the sensor bracket.

2 factory modified, continuous rotation servos allow speed and direction of each wheel to be controlled by a single digital output.

The kit does not include a micro-controller as the breadboard allows a wide variety of processors to be used. A generous 140 piece cable pack allows easy connection between the breadboard and sensors.

2 individual voltage busses allow for up to 3 different voltages plus ground to be used. Ideal for 3.3V devices and op-amps. A basic recharge circuit allows NiMh or NiCd batteries to be charged from a 9V DC source without being removed from the robot.

All spare room on the main PCB is configured as prototype board as show in the picture below. This allows additional sensors and circuitry such as voltage regulators to be easily added.


Of course being designed with parts from LMR it is only fitting that we have the LMR logo on the box.

 Click on the photo for a bigger picture.





More information can be found here: http://letsmakerobots.com/node/24348



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I think I replicated my issue. Sometimes the photoEye will track something to the frontLeft corner. This, I believe, will result in a lot of IR being flooded into the frontLeft sensor. The code will interpret that as ambient IR, and then the sensitivity for collision detection is reduced.

I might just stick some electrical tape over the top of the front right and left collision phototransistors, or just limit my eye servos to not go in that neighborhood.



I received my Mr. General kit yesterday, assembled it in a couple of hours without any problem, it's really easy to solder everything in place. I'm now trying to plug it into my Arduino Duemilanove board.

But I have a problem with the compound eye. I checked it with my camera and it seems working (my camera can see infrared), but I need to plug pin 2 to analog input 6 and pin 4 to analog input 7. The thing is, Arduino Duemilanove has only 5 analog inputs. Any recommendations about it?


The Arduino code I wrote was for an Arduino Nano plugged directly into the breadboard. The advantage of the Arduino's using the surface mount processors is that there are extra analog inputs available.

The IR eye is the only part that needs the analog inputs (4). The corner sensors will work on the digital inputs.

Hey, thanks for the answer. By the way, does the corner sensors plug to the "sensor input" on board?

No the "Signal In" is the input to the PCB to turn on the corner LEDs, (both green and IR leds). Connect 4 digital outputs to this socket. The IR LEDs only need to be pulsed briefly for reading the sensors. This causes the green LEDs to glow faintly. The LEDs can be turned on individually for generating patterns with the green corner leds.

The "Signal Out" socket is the analog outputs from the corner sensors. When connected to a digital input the input will only read high (object detected) when the voltage reaches about 3V.

To increase the range when using digital inputs try using some pullup resistors. The internal pullup resistors of the Arduino might be ideal but I haven't tested it. If not then you will have to experiment with the resistor value needed.

I have a quick question. Is it possible to use a motor driver chip like the l293 with this kit and use motors in place of the continuous rotation servos?

The question is why?

When I designed this robot I considered this aproach but the continuous rotation servo requires only one control pin instead of 2 and for us was not that much more expensive than using a geared motor and seperate driver IC.

Since there is limited room on the breadboard this aproach meant that there was more room for experimentation and smaller mcu's with fewer pins could be used.

Well I'm modifying it for the challenge and I don't quite think that continuous rotation servos will provide the propulsion I need. :)
Unless you want to add paddles like the old steam boats then you could pull the servo appart and hsave the motor drive a propellar.
The LED array looks like a rocket launcher at first glance