Hi,
Ich versuche den chirp Feuchtesensor zum laufen zu bringen.
Den Feuchtewert bekomme ich auch ohne Probleme über das entsprechende Register, aber wenn ich das Register für die Temperatur aufrufe, bekomme ich immer 65535.
Hat einer eine Idee oder hatte das selber schonmal?
Bitte Link posten.
Welcher Sensor, welcher Controller ?
Etwas genauer was für Feuchtesensor?
und Dein Sketch, bitte aber in Codetags </> oben draufklicken
Sie können sich den Code einer der Bibliotheken ansehen
vielleicht so etwas:
i2cBeginTransmission(0x20);
i2cWrite(0x05);
i2cEndTransmission();
delay(20);
i2cRequestFrom(0x20, 2);
int16_t temperature = (int16_t) ((i2cRead() << 8) | i2cRead());
Obwohl J-M-L wahrscheinlich schon die Lösung gegeben hat:
Link auf Sensor
Sketch mit dem Du die Temperatur ausliest.
Grüße Uwe
#include <Wire.h>
void writeI2CRegister8bit(int addr, int value) {
Wire.beginTransmission(addr);
Wire.write(value);
Wire.endTransmission();
}
unsigned int readI2CRegister16bit(int addr, int reg) {
Wire.beginTransmission(addr);
Wire.write(reg);
Wire.endTransmission();
delay(20);
Wire.requestFrom(addr, 2);
unsigned int t = Wire.read() << 8;
t = t | Wire.read();
return t;
}
void setup() {
Wire.begin();
Serial.begin(9600);
writeI2CRegister8bit(0x20, 6); //reset
}
void loop() {
Serial.print(readI2CRegister16bit(0x20, 0));//read capacitance register
delay(500);
Serial.print(", ");
Serial.println(readI2CRegister16bit(0x20, 5));//temperature register
delay(2000);
}
Der Sensor heißt Chirp, beziehungsweise funktionieren eigentlich alle I2C Feuchtesensoren gleich und sollen eigentlich die Funktion der Temperaturausgabe besitzen.
Da wäre ich mir nicht so sicher.
https://wemakethings.net/chirp/
Dort ist ach beschreiben wie man vorgeht
Und den Link posten ist dir zu viel Arbeit ? Ebenso der des Controllers?
Genau da habe ich mich „inspirieren lassen“
Der Arduino ist der MKR FOX1200 und angeschlossen ist es an den Hardware I2C Anschlüssen
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.