Eenvoudig, apart en toch een doel, dat The design brief for this robot was that it had to be simple, yet unusual, and also have a specific purpose. But should we really call this a robot? It consists of one motor, one wheel, sensors, a microcontroller, LEDs, batteries and ‘legs’. If the motor slowly turns one revolution to the left and then one to the right, and the ‘legs’ offer more resistance in one direction than the other, the robot will move slightly forward. If it also keeps turning towards the light it becomes a true light seeker.
A detailed description of some of the parts follows.
A normal rubber wheel is used for this robot. This gives sufficient grip on the floor, sometimes a bit too much Particularly in the roll direction, but also perpendicular to the roll direction there is a lot of grip and/or resistance. But any resistance perpendicular to the roll direction will severely restrict the forward movement of the robot. It would have been better to use an omnidirectional wheel instead. These
wheels have smaller wheels/rollers at right angles to the rim, reducing the perpendicular resistance to almost zero. This will work much better than a plain rubber wheel.
For the lights sensors an old favourite is used, the CNY-70. This sensor consists of an IR LED and an IR photo diode and is usually used to detect and track a line on the floor. It is of course also possible to use just the photo diode of this sensor. If we connect two of these in series, with a resistor at each end to limit the current at high brightness levels, we end up with a neat sensor that provides a voltage at the junction of the two sensors that is proportional to the difference in light intensity on the sensors. This junction is connected to one of the inputs of the comparator in the microcontroller. The other input is connected to half the supply voltage, provided by a potential divider formed by two resistors connected to the positive and negative supply. The output signal of the comparator can be read using an internal variable (bit). This way we know at which side of the robot the light is brighter and we can then steer it in that direction.
Microcontroller and motor driver
Most microcontrollers are capable of sourcing a fair amount of current. In this circuit we use this property to directly drive the motor via the microprocessor. When we need to supply larger currents we just connect a few outputs in parallel.
A microcontroller is of course a necessity in every robot. This time our choice was for an AT90S2313. This can be easily programmed in BASIC with the help of BASCOM-AVR. It has a comparator on-chip, sufficient I/O pins to link together for parallel outputs, etc. An ISP connection is also made available, so it can be easily re-programmed during testing, or at a later stage if you’d like to try out a different program in the robot.
A pair of 3-mm LEDs is mounted above the eyes for show. The LEDs are connected from the positive supply to the processor via 1 kil resistors. To complete the robot circuit there is also a battery holder for four AA cells and an on/off switch.