несколько месяцев go Я купил какой-то датчик на Али express, который называется «ЧИП полива растений 2.4». https://wemakethings.net/chirp/
Я попробовал их пример кода для чтения и управления датчиками через d1 mini. К сожалению, я получаю только одно и то же значение каждый раз. 4294967295
для каждого i2 c, считываемого на каждом датчике. Я подключаю выводы SDA / SD C, как в распиновке на сайте.
Пример кода:
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(9600);
}
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(1100);
Wire.requestFrom(addr, 2);
unsigned int t = Wire.read() << 8;
t = t | Wire.read();
return t;
}
void loop() {
Serial.print(readI2CRegister16bit(0x20, 0)); //read capacitance register
writeI2CRegister8bit(0x20, 3); //request light measurement
delay(9000); //this can take a while
Serial.print(", ");
Serial.println(readI2CRegister16bit(0x20, 4)); //read light register
delay(500);
}