Let's Make Robots!

vehicle's obstacle avoidance sensor

Hi all,

I'm new in robotics and I would like to make a vehicle in order to play with my 3 years-old son. I have a PIC 16F917 microcontroller and a Half H bridge L293DNE. What I've tried so far in order to make the vehicle move is s C code guided by the following link: http://www.google.gr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCQQFjAA&url=http%3A%2F%2Fwww.societyofrobots.com%2Fmember_tutorials%2Ffiles%2FLukas%2520PIC%2520Tutorial.doc&ei=8tWCT4GeNZD6sgaQmYzRBA&usg=AFQjCNFw6ZoQSyoKwRj3uPaLmchgBzGY4Q&sig2=tLQ7VN9IJen-TXCznu4jLA. So I was able to make the robot move forward, backward and turn left and right. What I want to do now is to find suitable sensors for obstacle avoidance. Since I have no previous experience could someone recommend the appropriate  compatible with the microcontroller sensors? If so, I would like to know in which pins of microcontroller I should connect the sensors and moreover the suitable programming order in C , for the sensors to interact with the microcontroller.

 

Thank you all in advance!!

Comment viewing options

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

Your 3-year old son might find it funny, if the robot kindly bumps into him to then turn and drive away. So you'll need some bump sensors or maybe even better a acceleration sensor.

Both sensors are going to sense a bump. The acceleration sensor can be positioned inside the robot what makes it less exposed and therefore more robust.

Here is a robot that uses the acceleration sensor. Have a look at the video.

you are free to pick any sensors you see commonly used; Sharp IR, ultrasonic, simple IR emitter/detector pairs, bump switches, motor stall sensors, etc. I would love to be able to help with the programming, but, I have not caught on to how to program PICs in C. I also don't know where to find libraries for some of the common sensors, especially the ultrasonics. The other sensors I mentioned above are pretty straight forward, just read an input.