Witam,
mam problem z komunikacją I2C na płytce ESP32 DevKit V1. Otóż, chciałem podłączyć do jednej magistrali I2C kilka czujników wspierających ten standard. A mianowicie: DHT12 z biblioteką <DHT12.h>, BMP280 z biblioteką <BMP280_DEV.h> oraz moduł RTC z biblioteką <RTClib.h>. (Modułu RTC oraz BMP280 jeszcze fizycznie nie mam, ale napisałem już kod obsługujący je.) Problem polega na tym, że funkcja :
powoduje nieprawidłowe działanie czujnika DHT12 - pokazuje on wartości NaN (Not a Number). Po usunięciu tej funkcji pokazywane dane są prawidłowe. Jednak oczywiście funkcja ta jest niezbędna podczas działania. Poniżej umieszczam fragment kodu:
Mógłby mi ktoś wytłumaczyć jak zrobić poprawnie to połączenie?
PS. Wolałbym nie zmieniać użytych bibliotek na inne gdyż wiązałoby się to z koniecznością zmiany sporej części programu. Mogę edytować biblioteki, jeśli to pomoże i ktoś mógłby powiedzieć mi co zmienić.
Z góry dziękuję za pomoc!
EDIT1: Linki do bibliotek:
- https://github.com/xreef/DHT12_sensor_library
- https://www.arduinolibraries.info/libraries/rt-clib
- https://github.com/MartinL1/BMP280_DEV
mam problem z komunikacją I2C na płytce ESP32 DevKit V1. Otóż, chciałem podłączyć do jednej magistrali I2C kilka czujników wspierających ten standard. A mianowicie: DHT12 z biblioteką <DHT12.h>, BMP280 z biblioteką <BMP280_DEV.h> oraz moduł RTC z biblioteką <RTClib.h>. (Modułu RTC oraz BMP280 jeszcze fizycznie nie mam, ale napisałem już kod obsługujący je.) Problem polega na tym, że funkcja :
Kod:
bmp280.begin();
Kod:
void setup() {
Wire.begin(21, 22);
bmp280.begin(0x77);
dht12.begin();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
}
}
Mógłby mi ktoś wytłumaczyć jak zrobić poprawnie to połączenie?
PS. Wolałbym nie zmieniać użytych bibliotek na inne gdyż wiązałoby się to z koniecznością zmiany sporej części programu. Mogę edytować biblioteki, jeśli to pomoże i ktoś mógłby powiedzieć mi co zmienić.
Z góry dziękuję za pomoc!
EDIT1: Linki do bibliotek:
- https://github.com/xreef/DHT12_sensor_library
- https://www.arduinolibraries.info/libraries/rt-clib
- https://github.com/MartinL1/BMP280_DEV