Topic: Автомасштабирование графика
При подключении включается автомасштабирование графика. Выставляю вручную масштаб и Fixed scale. При следующем подключении - опять Auto. Как сделать чтоб масштаб оставался таким как я его настроил?
You are not logged in. Please login or register.
RemoteXY community → Проблемы и ошибки → Автомасштабирование графика
При подключении включается автомасштабирование графика. Выставляю вручную масштаб и Fixed scale. При следующем подключении - опять Auto. Как сделать чтоб масштаб оставался таким как я его настроил?
К сожалению пока никак. Добавим в список доработок.
Решил проблему "в лоб"
Добавил на график еще две переменные серого цвета. И присвоил им макс и мин значения:
в Setup
RemoteXY.onlineGraph_1_var2 = 750;
RemoteXY.onlineGraph_1_var3 = 300;
в Loop
RemoteXY.onlineGraph_1_var1 = analogRead(0);
Теперь масштаб по вертикали постоянный - между заданными линиями макс и мин значений.
Извращение, конечно, но хоть так как-то...
Вот еще одно извращение.
Если возле графика добавить два поля ввода для целых чисел, а строки с var2 и var3 перенести в Loop,
RemoteXY.onlineGraph_1_var2 = RemoteXY.edit_1;
RemoteXY.onlineGraph_1_var3 = RemoteXY.edit_2;
то получим как угодно изменяемый в реальном времени масштаб по вертикали. Причем, он будет оставаться таким же при последующих подключениях.
А если еще создать массив, например
int Archive[1000];
Добавить переменные для millis()
unsigned long previousMillis = 0;
const long interval = 100; // интервал вывода в милисек
и заполнять его данными по таймеру, например в течении 10 дней по 100 измерений в день, то потом можно вывести его на график с интервалом в 0.1с (быстрее не стоит, начинает глючить Wi-Fi).
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
RemoteXY.onlineGraph_1_var1 = Archive[N];
N++;
}
Через 100сек получим архив показаний за 10 суток, как в ускоренной прокрутке. Это избавляет от необходимости держать постоянно телефон на связи с модулем.
А если для var2 или var3 сделать, опять же с помощью millis(), временные метки, то можно и разметку по времени свою получить, в нужном масштабе.
Например, каждые 1с (будет соответствовать примерно 15 минутам)
RemoteXY.onlineGraph_1_var2 = RemoteXY.edit_1 + 10;
а каждые 10с (это будет соответствовать 1 суткам)
RemoteXY.onlineGraph_1_var2 = RemoteXY.edit_1 + 30;
Внизу будет рисоваться шкала с выбранным масштабом меток времени
RemoteXY community → Проблемы и ошибки → Автомасштабирование графика
Powered by PunBB, supported by Informer Technologies, Inc.