in dem Skript, das ich von senseBox zugeschickt bekam, wird auch die Adresse der Sensoren abgefragt; z.B. wird der HDC1080 an Adresse 0x40 gefunden,
Welche Adresse hat das Display, das ja auch über I2C angesprochen wird.
Oder braucht man die Adresse überhaupt nicht?
Wie spricht man das Display an?
Hier die Prozedur checkI2CSensors()
void checkI2CSensors() {
- byte error;*
- int nDevices = 0;*
- byte sensorAddr[] = {41, 56, 57, 64, 118};*
- tsl = false; veml = false; hdc = false; bmp = false;*
- Serial.println("\nScanning…");*
- for (int i = 0; i < sizeof(sensorAddr); i++) {*
- Wire.beginTransmission(sensorAddr[i]);*
- error = Wire.endTransmission();*
- if (error == 0) {*
-
nDevices++;*
-
switch (sensorAddr[i])*
-
{*
-
case 0x29:*
-
Serial.println("TSL45315 found.");*
-
tsl = true;*
-
break;*
-
case 0x38: // &0x39*
-
Serial.println("VEML6070 found.");*
-
veml = true;*
-
break;*
-
case 0x40:*
-
Serial.println("HDC1080 found.");*
-
hdc = true;*
-
break;*
-
case 0x76:*
-
Serial.println("BMP280 found.");*
-
bmp = true;*
-
break;*
-
}*
- }*
- else if (error == 4)*
- {*
-
Serial.print("Unknown error at address 0x");*
-
if (sensorAddr[i] < 16)*
-
Serial.print("0");*
-
Serial.println(sensorAddr[i], HEX);*
- }*
- }*
- if (nDevices == 0) {*
- Serial.println(“No I2C devices found.\nCheck cable connections and press Reset.”);*
- while(true);*
- } else {*
- Serial.print(nDevices);*
- Serial.println(" sensors found.\n");*
- }*
- //return nDevices;*
}