Wpis z mikrobloga

Hej, Mam ESP32 z serii lolin z wyświetlaczem oled. Wyświetlacz jest wpięty na SDA (PIN5) i SCL (PIN4). Faktycznie po przeskanowaniu tam jest i mogę go używać. Dopiąłem sobie BME280 (3.3V) pod te same piny i po skanowaniu widzę tylko OLED. Na początku myślałem, że coś jest uszkodzone więc sprawdziłem kilka BME i efekt zawsze ten sam. Próbowałem też na innych PINach i nic.

Jakieś pomysły? Przez chwilę mi przyszło do głowy, że może chińczyk spakował wersję 5V, ale nie wiem jak to sprawdzić.
Może ktoś miał podobne problemy?

#esp32 #arduino #embedded
Pobierz dad1111 - Hej, Mam ESP32 z serii lolin z wyświetlaczem oled. Wyświetlacz jest wpięty ...
źródło: comment_16044773984y2SFkB4EDDQFrimTji5oU.jpg
  • 6
@dad1111: a pullupy do 3.3v na sda i scl są albo kawałek kodu załączający je po stronie mikrokontrolera? Możesz nawet sprawdzić multimetrem po inicjalizacji TWI ale bez jakichkolwiek transakcji naszynie. Ma być stały stan wysoki. BME280 jest partem wybitnie 3.3V (albo i mniej jak go zasilisz z niższego napięcia). Jest też partem uniwersalnym TWI/3W/4W SPI więc musisz odpowiednio popodciągać piny żeby dać my znać jakim protokołem ma z tobą gadać. Sprawdź
@dad1111: Zamiast używać soft wire użyj domyślnej biblioteki. Inicjując I2C wire.begin(), jako argumenty użyj numerów pinów np. wire.begin(21, 22) gdzie pierwszy argument to SDA a drugi to SCL o ile dobrze pamiętam. ESP32 może mieć I2C na dowolnym pinie.
@AlcoMatt: Super. Udało mi się uruchomić. Trochę musiałem jeszcze powalczyć z Adafrutem. Bo okaząło się, że Chiński chip zwraca inną wartość i się nie uruchamiał, a skaner wykrywał ładnie.

// _sensorID = read8(BME280_REGISTER_CHIPID);
//if (_sensorID != 0x60)
// return false;