Utilisation du capteur de couleur VEX IQ (1ère génération)

Le capteur de couleur utilise la lumière réfléchie pour détecter la couleur, la valeur de teinte, la valeur d'échelle de gris, la luminosité et la proximité d'un objet.

Capteur de couleur VEX IQ (1ère génération).

Le capteur de couleur VEX IQ est inclus dans le Super Kit VEX IQ et peut également être acheté ici.

Vous utilisez un robot VEX IQ de 2e génération ? Voir un aperçu des capteurs de 2e génération ici, et des informations sur le capteur optique, la version de 2e génération du capteur de couleur.


Description du capteur de couleur

Le capteur de couleur VEX IQ dispose de plusieurs modes qui lui permettent de capturer différents types d'informations provenant de son environnement. Les informations qu'il collecte sont affectées par les conditions d'éclairage de son environnement ainsi que par la distance entre le capteur et l'objet ou la surface qu'il lit.


Roue chromatique démontrant comment le cercle de 360 degrés est corrélé à une valeur de teinte. La couleur rouge est à un degré de 0, la couleur verte est à un degré de 120 et la couleur bleue est à un degré de 240.


Comment fonctionne le capteur de couleur

Le capteur de couleur peut détecter à la fois la couleur et la proximité.

Détection des couleurs

VEXcode IQ Luminosité du bloc qui lit la luminosité Color3 en %.

Schéma d'un capteur de couleur détectant une surface brillante et signalant une valeur de 80 %, puis détectant une surface sombre et signalant une valeur de 20 %.

En mode luminosité, le capteur de couleur est utilisé pour détecter l'intensité de toute la lumière dans l'environnement du robot. Plus la lumière atteint le capteur de couleur lorsqu'il est actif, plus la valeur en pourcentage envoyée au cerveau du robot est élevée.

VEXcode IQ Définissez le bloc lumineux du capteur de couleur qui lit Réglez la lumière Color3 sur 50 %.

Capteur de couleur montré attaché à un robot dans un environnement sombre. La lampe du capteur de couleur est allumée pour éclairer son environnement.

Si le pourcentage de luminosité détecté est faible ou peu fiable, la lampe du capteur de couleur peut être allumée ou le pourcentage de luminosité de la lampe peut être augmenté en utilisant la lumière définie suivante pour bloquer :

Trois blocs de capteurs de couleur VEXcode IQ. Le premier est la couleur du bloc qui lit le nom de couleur Color3. Le deuxième est une teinte de bloc qui lit la teinte Color3 en degrés. Le troisième est un bloc de détection de couleur qui lit Color3 ne détecte aucun ?

Le capteur de couleur peut signaler la couleur qu'il voit soit sous forme de valeur de couleur, soit sous forme de valeur de teinte.

VEXcode IQ Color détecte le bloc qui lit Color3 et n'en détecte aucun ? Le menu déroulant Couleur du bloc s'ouvre pour afficher une liste de couleurs à détecter. La liste indique orange, violet, rouge violet, violet, bleu violet, bleu vert, jaune vert, jaune orange et rouge orange.

Valeurs de couleur.Il existe 14 couleurs répertoriées que le capteur de couleur peut détecter. Les couleurs manquantes sur l'image du bloc sont le rouge, le vert, le bleu, le blanc et le jaune.

Diagramme de valeur de teinte montrant comment les 360 degrés correspondent à une valeur de teinte. La couleur rouge est à un degré de 0, la couleur verte est à un degré de 120 et la couleur bleue est à un degré de 240.

Valeurs de teinte.Les valeurs de teinte sont comme les valeurs de couleur mais numériques. La valeur de teinte varie de 0 à 360, comme les degrés. Les valeurs de couleur répertoriées ci-dessus ont leurs propres plages de valeurs de teinte équivalentes. 

Il est important lors de la détection des couleurs et des teintes que le capteur de couleur dispose de la quantité de lumière appropriée pour le faire. Assurez-vous de tester, également appelé calibrage, votre capteur de couleur dans différents niveaux de lumière et avec la lampe réglée à différents niveaux pour déterminer quel est le réglage le plus fiable pour le capteur de couleur de votre robot.

Détection de proximité

Le capteur de couleur comprend un capteur-émetteur infrarouge. L'émetteur infrarouge émet une lumière invisible puis détecte sa réflexion. Si la majeure partie de la lumière infrarouge rebondit vers le capteur, cela indique au cerveau du robot qu'un objet est proche.

VEXcode IQ a trouvé un bloc d'objet qui lit Color3 est proche de l'objet ?

Utilisations courantes du capteur de couleur

Les capteurs de couleur sont utilisés dans de nombreuses applications technologiques où il est important d'avoir des couleurs spécifiques sur les écrans ou les produits.

Certaines utilisations courantes dans la vie quotidienne comprennent :

  • Les outils d'étalonnage des couleurs vérifient si un écran numérique affiche des couleurs précises, puis ajustent les paramètres d'affichage si nécessaire. Il est important pour les graphistes et tout designer travaillant avec la couleur sur un écran numérique de pouvoir voir exactement la bonne couleur affichée. Des malentendus et un gaspillage de ressources surviennent lorsque les couleurs ne sont pas exactes.
  • Les appareils photo et caméscopes utilisent des capteurs de couleur pour ajuster les paramètres en fonction des conditions d'éclairage dans lesquels ils se trouvent, afin d'améliorer leurs photos et vidéos en maximisant les niveaux de lumière et en améliorant les couleurs autrement ternes. Ces capteurs permettent également à un photographe de se concentrer sur des couleurs spécifiques de ses photos.
  • Les capteurs de couleur sont parfois utilisés dans la fabrication pour vérifier rapidement si un produit a la bonne couleur avant qu'il ne soit expédié à un client. Par exemple, les fruits et légumes qui changent de couleur lorsqu'ils sont mûrs ou prêts à être consommés peuvent être numérisés pour garantir qu'ils sont de la bonne couleur à envoyer sur le marché. 


Certaines utilisations courantes d'un robot VEX IQ incluent :

  • Ce capteur peut être utilisé pour détecter la couleur d'un objet. Regardez cette animation pour voir un robot avancer jusqu'à ce que le capteur de couleur détecte un cube vert.

  • Ce capteur peut être utilisé pour détecter et/ou suivre une ligne. Regardez cette animation pour voir un robot utiliser le capteur de couleur pour se déplacer le long d'une ligne marquée.

  • Ce capteur peut détecter si un objet est proche.

Capteurs de couleurs sur un robot de compétition

N'oubliez pas qu'il est important lors de la détection de couleurs et de teintes que le capteur de couleur dispose de la quantité de lumière appropriée pour le faire. Assurez-vous de tester, également appelé calibrage, votre capteur de couleur chaque fois que vous arrivez sur un nouveau site de compétition, car différents niveaux de lumière peuvent affecter les performances de votre capteur de couleur. Testez votre projet avec la lampe réglée à différents niveaux pour déterminer quel est le réglage le plus fiable pour le capteur de couleur de votre robot. 

Les informations collectées par le capteur de couleur sont utiles pour programmer un robot compétitif afin qu'il réponde à diverses conditions. Le capteur de couleur peut améliorer un robot de compétition des manières suivantes :

  • Il permet au robot de détecter la couleur d'un objet proche du capteur. Ceci est utile si vous souhaitez que le robot trie des objets de couleurs différentes, se dirige vers un objet spécifiquement coloré ou détecte la couleur des objets lorsqu'ils passent devant le capteur.
  • Il permet au robot de détecter la quantité de lumière réfléchie par le capteur. Cela permet à votre robot de rouler jusqu'à atteindre une ligne sur une surface, voire de suivre une ligne.
  • Il permet au robot de savoir si un objet ou une surface est proche. Ceci est utile pour déterminer si une couleur détectée est une lecture provenant d'un objet proche ou potentiellement une lecture anormale d'une surface ou d'une lumière distante. 

Codage du capteur de couleur en blocs

VEXcode IQ a trouvé un bloc d'objet qui lit Color3 est proche de l'objet ?

Le bloc <Found an object> est un bloc rapporteur booléen qui signale une condition comme étant vraie ou fausse. Les blocs booléens, comme le bloc <Found an object> , s'insèrent dans des blocs avec des entrées hexagonales (à six côtés) pour d'autres blocs.

Le bloc booléen <Found an object> indique « vrai » si le « vrai » si le capteur de couleur détecte un objet, et « faux » si le capteur ne le fait pas. Pour en savoir plus sur les blocs booléens, visitez l'article Aide ou l'article Formes et signification des blocs.

 

VEXcode IQ bloque un projet qui utilise un capteur de couleur pour avancer jusqu'à ce qu'il trouve un objet. Le projet se lit comme suit : Au démarrage, avancez, attendez que Color3 trouve un objet, puis arrêtez de conduire.

Dans cet exemple, le bloc <Found an object> est utilisé pour détecter la proximité avec un bloc [Attendre jusqu'à], pour faire avancer le robot jusqu'à ce qu'un objet soit détecté.

VEXcode IQ Color détecte le bloc qui lit Color3 détecte le vert ?

Le bloc <Color detects> est également un bloc rapporteur booléen qui signale une condition comme étant vraie ou fausse. Le bloc <Color detects> indique « vrai » si le « vrai » si le capteur de couleur détecte la couleur sélectionnée et « faux » si le capteur détecte une autre couleur. Pour en savoir plus sur les blocs booléens, visitez l'article Aide ou l'article Formes et signification des blocs.

 

VEXcode IQ bloque le projet qui utilise un capteur de couleur pour avancer jusqu'à ce qu'il détecte la couleur verte. Le projet se lit comme suit : Au démarrage, avancez, attendez que Color3 détecte le vert, puis arrêtez de conduire.

Dans cet exemple, le bloc <Color detects> est utilisé avec un bloc [Attendre jusqu'à] pour faire avancer le robot jusqu'à ce que le capteur de couleur détecte un objet vert. Le robot arrêtera alors de rouler. Ceci est illustré dans la première vidéo ci-dessus.

VEXcode IQ Luminosité du bloc qui lit la luminosité Color3 en %.

Le bloc (Luminosité de) indique la quantité de lumière détectée par le capteur de couleur. Il s'agit d'un bloc rapporteur utilisé à l'intérieur d'autres blocs avec des espaces circulaires.

Le bloc (Luminosité de) indique une plage de 0 % à 100 %.

 

VEXcode IQ bloque le projet qui utilise un capteur de couleur orienté vers le bas pour suivre une ligne marquée. Le projet indique : Au démarrage, réglez la lumière Color3 sur 25 %. Ensuite, si la luminosité de Color3 en % est supérieure à 25, faites tourner LeftMotor vers l'avant de 35 degrés, sinon faites tourner RightMotor vers l'avant de 35 degrés.

Dans cet exemple, le bloc (Luminosité de) est utilisé pour que le robot détecte et suive une ligne, comme le montre la deuxième vidéo ci-dessus.

VEXcode IQ Teinte du bloc qui lit la teinte Color3 en degrés.

Le bloc (Teinte de) rapporte la teinte de la couleur détectée par le capteur de couleur. Il s'agit d'un bloc rapporteur utilisé à l'intérieur d'autres blocs avec des espaces circulaires.

Le bloc (Luminosité de) indique une plage de 0 à 360.

 

VEXcode IQ bloque le projet qui utilise un capteur optique pour avancer jusqu'à ce qu'il atteigne un objet, puis tourne à droite s'il est rouge ou à gauche s'il ne l'est pas. Le projet lit Au démarrage, imprimez la teinte Color3 en degrés sur Brain, avancez, puis attendez que Color3 trouve un objet. Si la teinte Color3 en degrés est supérieure à 330 et que la teinte Color3 en degrés est inférieure à 30, tournez à droite de 90 degrés, sinon tournez à gauche de 90 degrés.

Dans cet exemple, le bloc (Teinte de) est utilisé pour que le robot vérifie une plage de valeurs de teinte qui correspondent à la couleur rouge et pour tourner à droite de 90 degrés si ces valeurs sont détectées par le capteur. Si d'autres valeurs de teinte sont détectées, le robot tournera à gauche de 90 degrés.

Le bloc (Teinte de) peut être utile lorsqu'il est nécessaire que le robot détecte certaines couleurs lorsque les conditions de lumière ambiante peuvent être incohérentes.

Codage du capteur de couleur en Python

Remarque :Pour coder un Bumper Switch VEX IQ (1ère génération) en Python, il doit être connecté à un Brain VEX IQ (2ème génération). Le cerveau VEX IQ (1ère génération) ne prend pas en charge Python.

color_3.is_near_object()

La commande color.is_near_object indique True lorsqu'un capteur de couleur détecte un objet ou une surface proche de l'avant du capteur et False lorsqu'un capteur de couleur ne détecte objet ou une surface proche de l'avant du capteur. capteur.

Remarque :Le nom du Capteur Couleur qui apparaît dans la commande correspond au nom qui lui est donné dans la configuration. 

drivetrain.drive(FORWARD)
tant que color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
Dans cet exemple, une boucleWhile avec une condition et non est utilisée avec la commande color.is_near_object pour faire avancer le robot jusqu'à ce que le capteur de couleur détecte un objet proche de l'avant de le capteur.
couleur_3.couleur()

La commande color.color indique la couleur actuellement détectée par le capteur couleurs.

drivetrain.drive(FORWARD)
tant que color_3.GREEN():
wait(20, MSEC)
drivetrain.stop()
Dans cet exemple, une boucleWhile avec une condition not est utilisée avec la commande color.color pour faire avancer le robot jusqu'à ce que le capteur de couleur détecte un objet vert. Le robot arrêtera alors de rouler. Ceci est illustré dans la première vidéo ci-dessus.
couleur_3.luminosité()

La commande color.brightness indique la quantité de lumière détectée par le capteur de couleur. Il indique une plage de valeurs allant de 0 % à 100 %.

color_3.set_light(25, PERCENT)
while True:
if color_3.brightness() > 25:
# Si le capteur de couleur détecte de la lumière, le robot se déplacera vers la gauche
LeftMotor.spin_for(FORWARD, 35, DEGREES)
else:
# Si le capteur de couleur détecte de l'obscurité, le robot se déplacera vers la droite
RightMotor.spin_for(FORWARD, 35, DEGREES)
wait(20, MSEC)
Dans cet exemple, la commande color.brightness est utilisée pour que le robot détecte et suive une ligne, comme le montre la deuxième vidéo ci-dessus.
couleur_3.hue()

La commande color.hue rapporte la teinte de la couleur détectée par le capteur de couleur. Il indique une plage de valeurs de teinte allant de 0 à

brain.screen.print(color_3.hue())
drivetrain.drive(FORWARD)
while not color_3.is_near_object():
wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain.turn_for(RIGHT, 90, DEGREES)
else:
drivetrain.turn_for(LEFT, 90, DEGREES)

Dans cet exemple, la commande color.hue est utilisée pour que le robot vérifie une plage de valeurs de teinte qui correspondent à la couleur rouge et pour tourner à droite de 90 degrés si ces valeurs sont détectées par le capteur. Si d'autres valeurs de teinte sont détectées, le robot tournera à gauche de 90 degrés.

La commande color.hue peut être utile lorsqu'il est nécessaire que le robot détecte certaines couleurs lorsque les conditions de lumière ambiante peuvent être incohérentes.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: