View Categories

Плоттер графиков

Оглавление

В Arduino IDE есть встроенный плоттер для вывода графиков - очень удобный инструмент отладки. Для рисования графика нужно просто выводить данные в порт, соблюдая следующие условия:

  • Вывод пакета данных заканчивается переносом строки - println
  • Для вывода нескольких графиков нужно разделять значения запятыми ',' или пробелами ' '

Выведем синусоиду:

void setup() {
    Serial.begin(115200);
}

float x;

void loop() {
    x += 0.2;
    Serial.println(sin(x));
    delay(40);
}

Для открытия плоттера в Arduino IDE 1.x нужно нажать Инструменты / Плоттер по последовательному соединению, а в Arduino IDE 2.x есть отдельная кнопка:

Результат:

Теперь выведем две синусоиды, вторую растянем и увеличим амплитуду:

void setup() {
    Serial.begin(115200);
}

float x;

void loop() {
    x += 0.2;
    Serial.print(sin(x));
    Serial.print(',');      // разделитель - запятая
    Serial.println(sin(x * 0.5) * 2);
    delay(40);
}

Плоттер также поддерживает вывод подписей графиков, синтаксис отличается у Arduino IDE 1.x и 2.x.

Arduino IDE 1.x #

Нужно отправить подписи отдельной строкой с переносом, разделитель - запятая, количество подписей должно соответствовать количеству наборов данных. Строку с подписями можно отправлять каждый раз непосредственно перед отправкой данных, а можно отправить однократно - программа их запомнит:

void setup() {
    Serial.begin(115200);
    Serial.println("sin(x),sin(x/2)*2");
}

float x;

void loop() {
    x += 0.2;

    // Serial.println("sin(x),sin(x/2)*2");    // или здесь
    Serial.print(sin(x));
    Serial.print(',');
    Serial.println(sin(x * 0.5) * 2);
    delay(40);
}

Arduino IDE 2.x #

Здесь чуть сложнее: данные нужно отправлять в формате подпись1:данные1,подпись2:данные2 + перенос строки:

void setup() {
    Serial.begin(115200);
}

float x;

void loop() {
    x += 0.6;
    Serial.print("sin(x):");
    Serial.print(sin(x));
    Serial.print(',');
    Serial.print("sin(x/2)*2:");
    Serial.println(sin(x * 0.5) * 2);
    delay(40);
}

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх