/*
Title: obstacle_avoider.c
Author: Allen Antony
Date Created: 30/01/11
Last Modified: 30/01/11
Purpose: Mini Project for my friend Joe
*/
//set clock speed
#define F_CPU 12000000UL
//these are the include files. 
#include <avr/io.h>
#include <util/delay.h>

int main (void)
 {
   DDRD = 0xFF; //Output port
   DDRA = 0x00; //input port
   int left_sensor = 0;
   int right_sensor = 0;
  
   //create an infinite loop
   while(1) 
    {
      left_sensor = (PINA & 0b00000010);
      right_sensor = (PINA & 0b00000001);
 
		
      if((( left_sensor==0b00000000) && (right_sensor==0b00000000)))
         PORTD=0b00000110;  //move forward


	

      if(left_sensor==0b00000010) 
	   
	   {
	        PORTD = 0b00000000; //stop
	     	_delay_ms(300);
    	    PORTD = 0b00001001;	//move backward
	 	    _delay_ms(300);
		    _delay_ms(300);
            PORTD=0b00001010;  //turn right
 	        _delay_ms(300);    //wait 
		    _delay_ms(300);
	
   
	    }
	 
      if(right_sensor==0b00000001) 
	   
	   {
		     PORTD = 0b00000000; //stop
			 _delay_ms(300);
 	     	 PORTD = 0b00001001;  //move backward
		 	 _delay_ms(300);
			 _delay_ms(300);
             
             PORTD=0b00000101;  //turn left
 	        _delay_ms(300);     //wait 
			_delay_ms(300);
	
        
	    }
		

    }
 }

