Не дружат лазерный дальномер и дисплей на arduino nano

Тема в разделе "Arduino & Shields", создана пользователем Savin, 7 авг 2021.

  1. Savin

    Savin Нерд

    Всем привет! Подключаю на 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();
    Если последняя строка закомментирована - дисплей работает. Если нет - дальномер в порт гонит правильную инфу и виснет, а дисплей молчит.
     
    Последнее редактирование модератором: 8 авг 2021
  2. Savin

    Savin Нерд

    upd Амперметр и дисплей вместе ок.
     
  3. Un_ka

    Un_ka Гуру

    Посмотрите, что происходит внутри конструкторов класса в библиотеках дисплея и дальномера. И покажите нам.
     
  4. Savin

    Savin Нерд

    Я не умею :( Куда надо посмотреть?
     
  5. Savin

    Savin Нерд

    Это?

    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);
     
  6. akl

    akl Гуру

    вместо адафрутовской библиотеки для экрана рекомендую вот эту https://github.com/NikolayDikiy/ASOLED
    возможно просто памяти не хватает.
     
  7. Savin

    Savin Нерд

    Ок, спасибо, попробую.