View Single Post
  #1   Spotlight this post!  
Unread 16-02-2008, 15:48
Shivang1923 Shivang1923 is offline
I make robot go VROOM VROOM!
FRC #1923 (MidKnight Inventors)
Team Role: Programmer
 
Join Date: Feb 2008
Rookie Year: 2008
Location: West Windsor, NJ
Posts: 38
Shivang1923 has a spectacular aura aboutShivang1923 has a spectacular aura about
Thumbs up Programing IR board problem

Hey. We are trying to program autonimous with IR board.

here is our code:
Code:
 //**** Check the IR Sensor for a new command
  sensorReading  = PORTJ>>4;  // Combined digital inputs 15-18

  if (latch == 1) 
  {
    if (sensorReading == 0)
    {
      latch = 0; // Take only the 1st reading to avoid being caught by a half & half state of the IR sensor
    }
  }
  else if (sensorReading != 0)
  {
       latch = 1;

       if (sensorReading == 8)      IR_cmd = 1;
       else if (sensorReading == 4) IR_cmd = 4;
       else if (sensorReading == 2) IR_cmd = 2;
       else if (sensorReading == 1) IR_cmd = 3;

        printf("IR_cmd = %d\r\n", IR_cmd);
}

 switch(IR_cmd)
 {
    case 0:
  		break;

    case 1:
		if (counter <= 50)
		{
			pwm01 = pwm02 = 255;
			counter++;
		}
		else
		{
			counter = 0;
			pwm01 = pwm02 = 127;
		}
	    break;

    case 2:
       pwm01 = 200;
       pwm02 = 55;
       break;

    case 3:
        pwm01 = 55;
        pwm02 = 200;
        break;

    case 4:
        relay1_fwd = 1;
    }
This one loops forever. The problem is the counter = 0;.
If we remove it, the motors never stop moving

We want to have it configured so if button one is pressed, it will move forward for x seconds, and so on for the rest.


another problem is that the relay will not fire.

Any help will be appreciated. Thank you.