Всем привет! Подключаю на I2C дальномер, дисплей и амперметр на INA226. На сканере все три светятся, всё норм, по отдельности работают. Методом тыка выяснилось, что не дают жизни другу другу дальномер и дислпей. Скетч (верхняя часть, в ней собака порылась). Код (Text): #include "Adafruit_VL53L0X.h" #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); //Adafruit_VL53L0X lox = Adafruit_VL53L0X(); Если последняя строка закомментирована - дисплей работает. Если нет - дальномер в порт гонит правильную инфу и виснет, а дисплей молчит.
Посмотрите, что происходит внутри конструкторов класса в библиотеках дисплея и дальномера. И покажите нам.
Это? boolean begin(uint8_t i2c_addr = VL53L0X_I2C_ADDR, boolean debug = false, TwoWire *i2c = &Wire, VL53L0X_Sense_config_t vl_config = VL53L0X_SENSE_DEFAULT); bool begin(uint8_t switchvcc = SSD1306_SWITCHCAPVCC, uint8_t i2caddr = 0, bool reset = true, bool periphBegin = true);
вместо адафрутовской библиотеки для экрана рекомендую вот эту https://github.com/NikolayDikiy/ASOLED возможно просто памяти не хватает.