Пришел с алика датчик AHT10. Он довольно новый и малоизвестный, но, говорят, точный.
Так вот подключал я его к Wemos D1 mini - так и не получилось. Не видит его I2C сканер вообще никак. И менял местами SCL и SDA, и напряжение питания менял (3,3 и 5 вольт). Никак. Другой датчик BMP280 прекрасно работает, а этот нет. Причем у этого AHT10 не было почему-то металлического кожуха на самом датчике.
Он мертворожденный, да? Или еще что-то можно попробовать?
Корпус это защита внутренностей, там внутри тонюсенькие проводочки которые соединяют части датчика.
Если нет корпуса - отломился где-то по дороге, открывай диспут.
Спасибо. Мне уже вернули деньги. На днях придет датчик SHT31, заказал вместо этого)).
А как мог этот корпус отвалиться по дороге? Датчик был в антисатаническом пакетике, и нигде я не нашел корпус. Походу отправили такой уже.
AHT10 капризный к уровню сигналов.
Была аналогичная проблема на ESP32C3. I2C делал на
//#define I2C_MASTER_SCL_IO GPIO_NUM_10 /*!< GPIO number used for I2C master clock */
//#define I2C_MASTER_SDA_IO GPIO_NUM_9 /*!< GPIO number used for I2C master data */
Уровень сигнала по SDA не доходил полностью до нуля.
Не работало пока не сделал I2C на другие выводы:
#define I2C_MASTER_SCL_IO GPIO_NUM_6 /*!< GPIO number used for I2C master clock */
#define I2C_MASTER_SDA_IO GPIO_NUM_5 /*!< GPIO number used for I2C master data */
Уровни по SDA стали нормальные.
И добавить
vTaskDelay(pdMS_TO_TICKS(30));
после i2c_driver_install(i2c_master_port, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0);
Частоту I2C делал на 50000.