Fonctionnement grove i2c color sensor

bonjour à tous,

je teste pas mal de module, notamment de chez grove pour voir comment les utiliser / déployer dans le lycée où je travaille, mais je bloque sur un capteur, du coup je viens demander de l'aide.

il s'agit du Grove - I2C Color Sensor, version V2.0.

j'ai bien installé la librairie Grove_I2C_Color_Sensor-master depuis github, pas de problème dessus ni message d'erreur quand je vérifie le code.

j'utilise le code proposé dans les exemples de la librairie :

#include <Wire.h>
#include <GroveColorSensor.h>

void setup() {
    Serial.begin(9600);
    Wire.begin();
}

void loop() {
    int red, green, blue;
    GroveColorSensor colorSensor;
    colorSensor.ledStatus = 1;	
    while (1) {
        colorSensor.readRGB(&red, &green, &blue);		
        delay(300);
        Serial.print("The RGB value are: RGB( ");
        Serial.print(red, DEC);
        Serial.print(", ");
        Serial.print(green, DEC);
        Serial.print(", ");
        Serial.print(blue, DEC);
        Serial.println(" )");
        colorSensor.clearInterrupt();
    }
}

mais je n'obtient dans le moniteur série que les valeurs suivantes, quelque soit la couleur mise devant le capteur :

The RGB value are: RGB( -70, -60, 250 ).

j'ai vu qu'il y avait déjà des post en anglais sur des difficultés d'utilisation de ce module, mais il n'y a jamais de réponse claire ou de solution. (ou je ne les ai pas vue)

le seul post qui donne une piste, mais sans détail est celui ci :
https://forum.arduino.cc/t/grove-i2c-color-sensor/194879

si quelqu'un peut m'aider soit dans cette histoire de calibrage, soit me dire s'il y a une erreur à corriger dans l'exemple pour avoir des valeur correcte en sortie.

merci

vous avez bien pris la nouvelle bibliothèque

c'est bien la librairie que j'avais installé,

je l'ai supprimé et réinstallé, et il m'est proposé de faire une mise à jour.
cela supprime le dossier complet et le remplace par une dossier nommé "Adafruit_TCS34725".

pour chacun des fichiers exemples, j’obtiens un message d'erreur quand je le vérifie :

In file included from C:\Users\jeanm\AppData\Local\Temp.arduinoIDE-unsaved2024318-9972-hyo4wu.l2tke\tcs34725\tcs34725.ino:2:0:
c:\Users\jeanm\OneDrive\Documents\Arduino\libraries\Adafruit_TCS34725/Adafruit_TCS34725.h:42:10: fatal error: Adafruit_I2CDevice.h: No such file or directory
#include <Adafruit_I2CDevice.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1

Compilation error: exit status 1

Oui, AdaFruit a regroupé les fonctions I2C au sein d'une librairie commune.
Cherche cette librairie dans le gestionnaire de bibliothèques ou ici :

super, là ça marche très bien.

je viens de faire un essais rapide sur un montage et ça me semble être suffisamment précis.

je pense m'en servir pour proposer un protocole, où je me sert de ce capteur pour détecter le virage de couleur dans un dosage colorimétrique en chimie

merci à vous

vous avez testé sur un liquide ? le module a une led intégrée qui peut éclairer le sujet et vous mesurez le rayonnement réfléchi mais dans certains cas (si la reflection est faible ou perturbée) il vaut mieux ne pas allumer cette LED et mesurer directement la lumière reçue (éventuellement éclairez depuis l'autre côté de l'éprouvette)

Il vaut mieux travailler en transmission plutôt qu'en réflexion dans ce cas.
Attention à la température de couleur ainsi qu'à la forme du spectre de la source utilisée car cela risque de modifier le résultat. Typiquement il y a des LEDs blanches qui ont un spectre discontinu.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.