Obstacle Detector Robot

This was my first robot project based on ATmel micro controller. I've used two gear motors, a LCD to display the ADC values of the sensors, IR emitter and receivers, L293D motor driver and my old Canon printer to build the body. I used ATmel Studio 6 as my compiler, I recommend this as its working environment is similar to Visual Studio (if you are familiar to it). I managed the wheels from a toy car :) Vero boards were used to make the circuitry of this robot.


This is a very basic robot which can detect obstacles and decide where to go. I haven't used PID controller because I wanted this robot be simple as much as it can.

 

How it works (Only for beginners, I know there are a lot of experts):

As I have said before, this is a real simple and basic robot. This was made just to make people around me become interested in embedded system and micro controller based robots.

The Infrared emitters emits lights of infrared range, it then reflects on any object in front of it and falls on the Infrared receiver. The IR receiver is comparable to Light Dependant Resistors (LDRs) in such a way that its resistance decreases in the presence of IR light. This is the main principle of this robot (as far as I know, all infrared sensor based robots are based on this principle),

So, when the resistance of the receiver changes, the analog voltage across it changes as well. Now here is the power of the micro controllers, they have built in Analog to Digital converters! That means the analog voltage can be changed into a specific value. The value varies with the resolution of ADC, for example 5V should be converted into 255 for 8 bit resolution while the same voltage will convert into 1023 in 10 bit resolution. I've used 10 bit res.

This robot has three fixed sensor pairs. The robot was programmed to give the first priority to the ADC value of the center sensor. If the robot detects any obstacle in front of it, center sensor to be precise, it will compare the ADC value of the left and the rights sensors. It will then decide where to go, it might go to right or left or even turn 180 degrees depending on the compared ADC value.

 

I recommend using MCUs like AVRs, PIC, PicAxe or whatever over development boards like Arduino. Its true that Arduino is much easier to deal with, but its not that good for learning.


Hope to post more of my works soon :) cheers!

Navigate around via IR sensors

  • CPU: ATMEGA32
  • Power source: 9V Li-ion
  • Programming language: C++
  • Sensors / input devices: Custom IR sensor
  • Target environment: indoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/obstacle-detector-robot