public bool ContinuerRotation() { //Lire les couleurs //*********** ColorSense.ColorData colors = myColorSense.ReadColor(); int HUE = getHue(colors.Red, colors.Green, colors.Blue); bool white = colors.Red + colors.Blue + colors.Green > 420; //********** //Debug.Print("prog continuerRotation" + HUE + "-" + colors.Red + " " + colors.Blue + " " + colors.Green); //Attention !!!!!! il faut mettre le parametre couleurInitiale à -1 pour chaque cylindre if (white) { return(true); } else if (couleurInitiale == Couleur.Jaune) { if (HUE > 150) { return(false); //Blue } else { return(true); } } else { if (HUE < 100) { return(false); //Jaune } else { return(true); } } }
public bool ContinuerRotation() { //Lire les couleurs //*********** ColorSense.ColorData colors = myColorSense.ReadColor(); int HUE = getHue(colors.Red, colors.Green, colors.Blue); bool white = colors.Red + colors.Blue + colors.Green > 420; //********** //Debug.Print("prog continuerRotation" + HUE + "-" + colors.Red + " " + colors.Blue + " " + colors.Green); //Attention !!!!!! il faut mettre le parametre couleurInitiale à -1 pour chaque cylindre if (white) { return(true); } //NB pour la méthode ci-dessous, le jaune et le bleu sont inversés par rapport au grand robot else if (couleurInitiale == Couleur.Bleu) { if (HUE > 150) { return(false); //Blue } else { return(true); } } else { if (HUE < 100) { return(false); //Jaune } else { return(true); } } }
//Continuer la rotation bool ContinuerRotation(ref int couleurInitiale) { //Lire les couleurs //*********** ColorSense.ColorData colors = myColorSense.ReadColor(); int HUE = getHue(colors.Red, colors.Blue, colors.Green); bool white = colors.Red + colors.Blue + colors.Green > 700; //********** //Attention !!!!!! il faut mettre le parametre couleurInitiale à -1 pour chaque cylindre if (couleurInitiale == -1) { if (white) { couleurInitiale = 2; } else if (HUE > 150) { couleurInitiale = 0; //Blue } else if (HUE < 100) { couleurInitiale = 1; //Yellow } } //--// //Un cas particulier if (i > 0) { if (i == 3) // 3 : nombre de pas a faire pour etre sure de la couleur (on peut changer ce parametre) { wcolors = myColorSense.ReadColor(); HUE = getHue(wcolors.Red, wcolors.Blue, wcolors.Green); if (HUE > 150) { config = 4; return(false); } else { config = 3; return(false); } //TurnAngle(-3 * pricisionAngle); return(true); } i++; return(true); } if (HUE > 150) { if (couleurInitiale != 0) { config = 1; return(false); } return(true); } else if (HUE < 100) { if (couleurInitiale != 1) { config = 2; return(false); } return(true); } else if (white) { if (couleurInitiale != 0) { i = 1; //TurnAngle(3 * pricisionAngle); return(true); } return(true); } else { return(true); /* la couleur n'est pas claire*/ } }