Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

dimich
2024-02-27 18:31:55
WEYLAND3 пише:

Першу секунду після вивантаження коду через серійний монітор видає відстань,

Завжди рівно секунду чи може бути різний проміжок часу перед збоєм?

WEYLAND3 пише:

але потім починає спамити різними символами.

Якими символами? Як саме це виглядає?

На якій платі запускаєте?

WEYLAND3 пише:
void setup() {
  Serial.begin(115200);

Спробуйте зменшити бітрейт порта (і в Serial Monitor відповідно).

WEYLAND3 пише:
  if (measure.RangeStatus != 4) {  
    Serial.print("Відстань (мм): "); Serial.println(measure.RangeMilliMeter);

Тут бажано перевіряти measure.RangeStatus на VL53L0X_ERROR_NONE. Якщо статус не VL53L0X_ERROR_NONE, то вивести статус, наприклад, за допомогою printRangeStatus().

WEYLAND3
2024-02-27 14:40:39

Першу секунду після вивантаження коду через серійний монітор видає відстань, але потім починає спамити різними символами. Не знаю, що потрібно виправити в ньому, прошу, допоможіть, буду вдячним.

Код програми:
#include "Adafruit_VL53L0X.h"                             

Adafruit_VL53L0X lox = Adafruit_VL53L0X();

void setup() {
  Serial.begin(115200);                                             
  while (! Serial) {                               
    delay(1);                                     
  }
 
  Serial.println("Перевірка датчика відстані VL53L0X");         
  if (!lox.begin()) {                           
    Serial.println(F("Помилка запуску датчика VL53L0X"));   
    while(1);
  }
}

void loop() {
  VL53L0X_RangingMeasurementData_t measure;
 
  Serial.print("Зчитування відстані... ");
  lox.rangingTest(&measure, false);

  if (measure.RangeStatus != 4) { 
    Serial.print("Відстань (мм): "); Serial.println(measure.RangeMilliMeter);
  } else {
    Serial.println(" Об'єкт немає в доступному діапазоні ");
  }
  delay(100);
}

Підвал форуму