Автор Тема: Как се описва диапазон от стойности в RobotC?  (Прочетена 6627 пъти)

niko

  • Новодошъл
  • *****
  • Публикации: 1
    • Профил
Правя Robot Sorter който до момента разпознава 3 цвята с Light Sensor, и искам да добавя поне още един... мисля да го направя като опиша няколко диапазона от стойности за различните цветове, но не знам как точно да стане това....

.... ето и кода ми до този момент

#pragma config(Sensor, S1,     S1,                  sensorTouch)
#pragma config(Sensor, S2,     S2,                  sensorTouch)
#pragma config(Sensor, S4,     S4,                  sensorLightActive)
#pragma config(Motor,  motorA,          motorA,        tmotorNormal, PIDControl, encoder)
#pragma config(Motor,  motorB,          motorB,        tmotorNormal, PIDControl, encoder)
#pragma config(Motor,  motorC,          motorC,        tmotorNormal, PIDControl, encoder)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

task main()
{
  wait1Msec(2000);

  while (true) {
    if (SensorValue[S4] <= 35)
    {
      bMotorFlippedMode[motorB] = 0;
   motor[motorB] = 40;
   while(nMotorEncoder[motorB] < 50);
   motor[motorB] = 0;
   bMotorFlippedMode[motorA] = 0;
   motor[motorA] = 30;
   while(nMotorEncoder[motorA] < 85);
   motor[motorA] = 0;
   wait1Msec(2000);
   bMotorFlippedMode[motorA] = 1;
   motor[motorA] = 30;
   while(nMotorEncoder[motorA] < 0);
   motor[motorA] = 0;
   bMotorFlippedMode[motorB] = 1;
   motor[motorB] = 20;
   bMotorFlippedMode[motorB] = 0;
   while(nMotorEncoder[motorB] > 0);
   motor[motorB] = 0;
 }

  else if (SensorValue[S4] <= 45)
    {
      motor[motorA] = 0;
      motor[motorB] = 0;
      motor[motorC] = 0;
 }
 else {
   bMotorFlippedMode[motorB] = 1;
      motor[motorB] = 40;
      while(nMotorEncoder[motorB] < 50);
      motor[motorB] = 0;
      bMotorFlippedMode[motorA] = 0;
      motor[motorA] = 30;
      while(nMotorEncoder[motorA] < 85);
      motor[motorA] = 0;
      motor[motorC] = -25;
      wait1Msec(2000);
      bMotorFlippedMode[motorA] = 1;
      motor[motorA] = 30;
      while(nMotorEncoder[motorA] < 0);
      motor[motorA] = 0;
      bMotorFlippedMode[motorB] = 0;
      motor[motorB] = 20;
      bMotorFlippedMode[motorB] = 1;
      while(nMotorEncoder[motorB] > 0);
      motor[motorB] = 0;
    }
  }
}