Sunlight grove 2.0 keine Werte

Hallo,
ich habe ein Arduino UNO und habe einen sunlight grove 2.0 (Si115X) angeschlosssen,
leider kommen bei mir auf dem serial Monitor für Ir und VIS nur 0.
SDA ist an A4 und SCL an A5 angeschlossen.
Sollten die Werte sich nicht ändern wenn ich den Sensor abschatte?
Gruß

1 Like

Erklären Sie genau, wie Sie den Si115X angeschlossen haben (Vcc, GND ?)

Bitte posten Sie den Code, den Sie verwendet haben (mit Code-Tags), sowie den Link zur Bibliothek, die Sie verwendet haben.

Hallo,

hier der Code:

#include "Si115X.h"

Si115X si1151;
int sensorValue;
/**
 * Setup for configuration
 */
void setup()
{
     Serial.begin(115200);
    delay (2000);
    Wire.begin();
   delay (500);
    if (!si1151.Begin(0x53)) {
        Serial.println("Si1151 is not ready!");
        while (1) {
            delay(1000);
            Serial.print(".");
        };
    }
    else {
        Serial.println("Si1151 is ready!");
    }
}

/**
 * Loops and reads data from registers
 */
void loop()
{
    Serial.print("IR: ");
    Serial.println(si1151.ReadIR());
    delay (1500);
    Serial.print("Visible: ");
    Serial.println(si1151.ReadVisible());
    delay(1500);
     //Serial.println(si1151.ReadUV());
    //delay(500);
}

https://github.com/Seeed-Studio/Grove_Sunlight_Sensor

So einen Sensor
GRV SUNLIGHT: Arduino - Sonnenlichtsensor v2.0, SI1151 bei reichelt elektronik

GND an GND
VCC an 5V

Es scheint in der Dokumentation zu stehen, dass die I2C-Adresse 0x60 ist.

Haben Sie die Adresse überprüft?

Laut Scan ox53
image

Können Sie den Demo-Code ausprobieren?

Hallo,
funktioniert leider nicht.
image

und mit

/*
    This is a demo to test Grove - Sunlight Sensor library

*/

#include <Wire.h>

#include "Arduino.h"
#include "SI114X.h"

SI114X SI1145 = SI114X();

void setup() {

    Serial.begin(115200);
    Serial.println("Beginning Si1145!");

    while (!SI1145.Begin(0x53)) {
        Serial.println("Si1145 is not ready!");
        delay(1000);
    }
    Serial.println("Si1145 is ready!");
}

void loop() {
    Serial.print("//--------------------------------------//\r\n");
    Serial.print("Vis: "); Serial.println(SI1145.ReadVisible());
    Serial.print("IR: "); Serial.println(SI1145.ReadIR());
    //the real UV value must be div 100 from the reg value , datasheet for more information.
    Serial.print("UV: ");  Serial.println((float)SI1145.ReadUV() / 100);
    delay(1000);
}

Leider auch nicht

....
Compilation error: no matching function for call to 'SI114X::Begin(int)'

Tatsächlich ermöglicht die Grove-Bibliothek nicht die Definition der I2C-Adresse. Da Sie einen ähnlichen Code haben, dachte ich, dass Sie diese verwenden, aber anscheinend haben Sie sich für eine andere entschieden.

Sind Sie sicher, dass Ihre Bibliothek funktioniert?

Hast Du schon mal mit einem I2C-Scanner gecheckt, ob und auf welcher Adresse Dein Modul gefunden wird?
Die Seed-Studio-Lib setzt ihn auf 0x60

Gruß Tommy

Steht in #5

"Laut Scan ox53
image
"

Ok, habe ich übersehen, sorry. Dann muss er die Zeile 192 in der SI114X.h von 0x60 in 0x53 ändern.

Gruß Tommy

Wurde mall die Adafruit Lib testen

Auch die ist auf 0x60 eingestellt (Zeile 145)

Gruß Tommy

Vielleicht funktioniert die Adafruit-Bibliothek nicht mit Ihrem Grove-Modul und Sie müssen die Grove-Bibliothek verwenden. Da die Adresse Ihres Moduls nicht die Standardadresse ist, müssen Sie die Grove-Bibliothek in Zeile 162 ändern.

Hallo,
sowohl die Adresse ändern als auch eine andere Bibliothek verwenden funktioniert nicht.