Подписи в Serial Plotter в Arduino IDE

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

Здравствуйте, знатоки!

Алекс Гайвер в

https://www.youtube.com/watch?v=AybdnoNuiXE&t=209s

заинтересовал ардуиновским плоттером. Но у Алекса всё хорошо, а у меня подписи  сигналов, задаваемые в setup-е типа

Serial.println("sin1 , sin2");

не выходят в окне Плоттера, и даже пляски с бубном не помогают :). Однако, они выходят, если их поместить в loop.

После закипания мозгов не осталось ничего более, как просить помощи у знатоков.

Спасибо.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Для таких вопросов есть форум Гайвера.

Komandir
Offline
Зарегистрирован: 18.08.2018

Вы просто не успеваете открыть плоттер и первая отправка уходит в астрал ...

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Удивительно, но быстрогуглинг и исследование IDE никак не вывело меня на документацию на Serial Plotter.

А вот посты на официальном форуме преподносят интересные открытия: https://forum.arduino.cc/index.php?topic=637947.0

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

Для таких вопросов есть форум Гайвера.

благодаря Гайверу на днях узнал, что в IDE есть плоттер )))

PS а минусить чего? свои задумки популяризатора значит воплощает, коли ролики его всплывают, да  уже и программирует с лямбдами )))

Komandir
Offline
Зарегистрирован: 18.08.2018

он там был ХЗ сколько уже !!!

sadman41
Онлайн
Зарегистрирован: 19.10.2016

А точнее - с версии 1.6.6

v258
Онлайн
Зарегистрирован: 25.05.2020

Peotr пишет:

а у меня подписи  сигналов, задаваемые в setup-е типа

Serial.println("sin1 , sin2");

не выходят в окне Плоттера, и даже пляски с бубном не помогают :). Однако, они выходят, если их поместить в loop.

Пробелы вокруг запятой уберите

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

А точнее - с версии 1.6.6

...многие знания многие печали ... )))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ua6em пишет:

PS а минусить чего? 

А эт не я. 

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

DetSimen пишет:

Для таких вопросов есть форум Гайвера.

А Гайвер молчит, как партизан! :)

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

Komandir пишет:

Вы просто не успеваете открыть плоттер и первая отправка уходит в астрал ...

Вы уверены, что мои руки намного медленнее, чем у Гайвера? :)

Komandir
Offline
Зарегистрирован: 18.08.2018

Проверить очень просто - добавьте delay(5000) в Setup ...

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

v258 пишет:

Пробелы вокруг запятой уберите

Уррра!!! Заработало!!! Верри спасибо.

Но ведь я скрупулёзно передрал эти пробелы у Гайвера :(

 

Всем спасибо, всегда приятно общаться со знатоками.

v258
Онлайн
Зарегистрирован: 25.05.2020

Peotr пишет:

Но ведь я скрупулёзно передрал эти пробелы у Гайвера :(

В его ролике пробелов как раз и не было. Я не специалист, просто обратил на это внимание ))

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

v258 пишет:

Peotr пишет:

Но ведь я скрупулёзно передрал эти пробелы у Гайвера :(

В его ролике пробелов как раз и не было. Я не специалист, просто обратил на это внимание ))

Да вот фрагмент его кода:

void setup() {

Serial.begin(9600);

Serial.setTimeout(50);
Serial.flush();

Serial.println("sin1 , sin2 , sin3");

https://github.com/AlexGyver/tutorials/blob/master/plotter/plotterContro...

:)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:
программирует с лямбдами )))
Ужость!

v258
Онлайн
Зарегистрирован: 25.05.2020

Peotr пишет:

Да вот фрагмент его кода:

Ну что тут скажешь? "Хороший блогер, программист - никакой" (с) ))

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Peotr пишет:
Да вот фрагмент его кода:
Ну, в этом фрагменте пробелы как раз есть.

Я не поленился и запустил. Всё работает нормально с пробелами и без всяких танцев. Наверное, не в пробелах дело. Ну, или я что-то не так делаю. IDE 1.8.12

sadman41
Онлайн
Зарегистрирован: 19.10.2016

В разных версиях IDE функционал плоттера наверняка отличается.

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

ЕвгенийП пишет:

Я не поленился и запустил. Всё работает нормально с пробелами и без всяких танцев. Наверное, не в пробелах дело. Ну, или я что-то не так делаю. IDE 1.8.12

У меня IDE 1.8.13. Да, дело не в пробелах. Я просто забыл убрать подписи из loop :(. Когда оставил только в setup, подписи пропали. :(. Зря бил в литавры.

Но где же всё-таки закопалась эта хитрая собака? Полностью копирую скетч, но... :(

Вдруг подумалось, а не может быть это связано с типом ардуино? У Леонарды (у меня) USB, без преобразования UARTа, может, глупость спорол, да просто уже не знаю, на что пенять.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так и я полностью копирую. даже не копирую, а просто скачал у Гивера по Вашей ссылке, не меняя ни единой буквы. Специально скриншот приложил. Может Вы "полностью, да не полностью"? Мож, что-то таки поменяли?

А, так у Вас леонардо! Ну, про них я ничего не знаю - никогда в руках не держал. У меня работает на Нано.

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

ЕвгенийП пишет:

...Мож, что-то таки поменяли?

Да обсосал до знака. Кстати в аналогичном примере:

http://developer.alexanderklimov.ru/arduino/articles/plotter.php

у меня та же бяка...

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

ЕвгенийП пишет:

А, так у Вас леонардо!

Нет под руками другой ардуинки, чтобы проверить догадки. Есть Дуо, да там аналогично.

Разница в микроконтроллере. У Леонарды контроллер имеет выход USB, а, например, в УНО только UART, который подключён к микре-преобразователю,  думаю, что-то типа FT232. Вдруг здесь и беда? Фантазирую, что сигналы с Леонарды идут на ПК уже до того, как я включаю плоттер, а в УНО, может быть, программа начинает работу с момента активизации плоттера, и setup успевает включить подписи. Если я ещё не до конца спятил с этой проблемой :), может, что-то в этом есть.

Я сделал задержку 10с в setup-е перед объявлением подписей, чтобы успеть активизировать плоттер, и ПОДПИСИ ПОЯВИЛИСЬ! Похоже, "собака" где-то здесь.

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Для Леонарды же специальный while в сетуп суют.

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

sadman41 пишет:
Для Леонарды же специальный while в сетуп суют.

Спасибо за подсказку. Да, для Леонарды рекомендуют такую связку:

Serial.begin(9600);
  while (!Serial);

Я всегда пихал while (!Serial); , не задумываясь, а здесь вставлял скопированный скетч, и упустил. При первом открытии плоттера действительно помогает. Подписи выходят. НО! Если я закрою окно плоттера, а потом опять открою, то подписи ПРОПАДАЮТ.

Делаю малоутешительный вывод:

Для Леонарды и подобных этой плате операторы создания подписей в плоттере писать в loop!

Спасибо огромное всем!

Komandir
Offline
Зарегистрирован: 18.08.2018

Просто на нано, уно открытие порта приводит к перезагрузке ардуино, а на леонардо нет !

Peotr
Peotr аватар
Offline
Зарегистрирован: 17.02.2014

Komandir пишет:

Просто на нано, уно открытие порта приводит к перезагрузке ардуино, а на леонардо нет !

Вот именно этого знания мне и не хватало, чтобы понять проблему! СПАСИБО!