Let's Make Robots!


Avoid obstacles via Sharp IR rangefinder

This was my first robot. WILL-I.

The robot is controlled with an Atmel ATMega8 running on internal oscillator at 1MHz. It uses 3 microswitches and a servo rotated Sharp infrared distance sensor to detect the environment. The AVR is programmed in AVR-GCC with WinAVR+AVR Studio.

The code is very simple. The robot waits until a microswitch is pushed. Than goes forward until it detects that an object in front of it is less than approximately 10cm away (the measured ADC value is greater than 200). Than looking left, measuring the distance of any possible object, looking right and measuring the distance again. When finished with the measurements, it turns in the direction where there is no object found. If one of the microswitches at the end of the arms hits something, it generates an interrupt, and the robot reverses for a short time, than turns the opposite direction.


The schematic of the final version of WILL-I is here: LINK

The AVR-GCC code is at the bottom of this webpage: LINK

The motor.h (dcmotor.h) motor controller code is here: LINK

A small vidoe showing WILL-I in action is here: LINK


P.S.: Sorry, but the linked webpages and the comments in the codes are in Hungarian...

This online Hungarian-English dictionary might help: LINK 


Comment viewing options

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

I used 2 different power source to eliminate the noise and power fluctuations generated by the DC motors. One power source for the DC motors, and one for all the electronics and sensors.

And yes I put a lot of effort to make the original articles on the www.hobbielektronika.hu website, because there are no basic level robotic tutorials on the internet in Hungarian.

Looks like you put a lot of thought and work into your Will-i robot.

A very cool Wall-E-like robot.

Great job.  (Ez jó munka)


The only thing I noted was that you are using a 9 volt source for the electronics and dropping it to 5 volts through a regulator. That is a little wasteful of the battery power since the 4 volts you are dropping are just wasted as heat. What I would suggest for the 5 volt line that you could use 4 rechargeable batteries (whether you use NiCd, NiMH or what does not matter). Unlike regular batteries that give 1.5 volts each, new, fully charged rechargeable batteries give almost exactly 5 volts, with no need for a regulator.


Another possibility would be using 3 of the 4 AA batteries to supply power to the electronics. The chips should work all right on 4.5 volts.

--------------------------------------(+6 volts for motor drive)

1 - AA battery (1.5 volts)

-------------------------------------(+4.5 volt tap to the electronic chips)

3 - AA batteries (4.5 volts)

--------------------------------------(Ground or minus side of supply)

The integration of the IR sensor into the Wall-E head is very nice, good fabrication. I knew who it was right away!

this is very cute :D welcome to LMR!

I love it. Good use of an old drink bottle too.