Правя 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;
}
}
}