Serial Plotter (Плоттер по последовательному соединению)
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
Plotter
.
В Arduino IDE, есть очень удобная штука - Плоттер по последовательному соединению.
С его помощью можно отслеживать происходящее в контроллере визуально. Это очень помогает при отладке проектов. Общение с плоттером осуществляется через UART - по тому же USB кабелю, что и загрузка проекта в контроллер.
Однако, по моим наблюдениям, данным удобством пользуются не многие, а зря.
Для облегчения данной коммуникации и создан этот мультиблок.
С его помощью можно не только выводить данные на плоттер в виде графиков, но и изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера в онлайн режиме.
. ===============================================================================
Список доступных функций в актуальной версии.
- Вывод нескольких графиков
- Подпись параметра
- Вывод верхней и нижней границ (борьба с авто-масштабированием)
- Управление таймаутом вывода (отправки в плоттер)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (Масштаб)
- Вывод нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
- Отправка переменной из плоттера в контроллер. (обратная связь)
- Управление настройками и параметры, имитация поведения датчиков и органов управления из окна плоттера.
- Эмуляция устройств, таких как кнопка, потенциометр, нагреватель с термометром.
-
V 0.4 (Актуальная)
============================================================
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)
. .
Подробности ниже, в посте #4.
V 0.3
============================================================ Добавлено:
- Блок отправки переменной из плоттера в контроллер. (обратная связь)
Очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь ложно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.
Подробности и пример использования описаны ниже. Пост #3
.
V 0.2
============================================================ Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
. Блок для вывода параметра(переменной) в Serial Plotter
.
В Arduino IDE, есть очень удобная штука - Плоттер по последовательному соединению.
С его помощью можно отслеживать происходящее в контроллере визуально. Это очень помогает при отладке проектов. Общение с плоттером осуществляется через UART - по тому же USB кабелю, что и загрузка проекта в контроллер.
Однако, по моим наблюдениям, данным удобством пользуются не многие, а зря.
Для облегчения данной коммуникации и создан этот мультиблок.
С его помощью можно не только выводить данные на плоттер в виде графиков, но и изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера в онлайн режиме.
. ===============================================================================
Список доступных функций в актуальной версии.
- Вывод нескольких графиков
- Подпись параметра
- Вывод верхней и нижней границ (борьба с авто-масштабированием)
- Управление таймаутом вывода (отправки в плоттер)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (Масштаб)
- Вывод нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
- Отправка переменной из плоттера в контроллер. (обратная связь)
- Управление настройками и параметры, имитация поведения датчиков и органов управления из окна плоттера.
- Эмуляция устройств, таких как кнопка, потенциометр, нагреватель с термометром.
-
V 0.4 (Актуальная)
============================================================
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)
. .
Подробности ниже, в посте #4.
V 0.3
============================================================ Добавлено:
- Блок отправки переменной из плоттера в контроллер. (обратная связь)
Очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь ложно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.
Подробности и пример использования описаны ниже. Пост #3
.
V 0.2
============================================================ Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
. Блок для вывода параметра(переменной) в Serial Plotter
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
Версия блока обновлена до Плоттер(UART)_V0.2
Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
Все параметры управляются в реальном времени.
. [spoiler=Скриншот проекта тестового примера] [/spoiler] .
Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
Все параметры управляются в реальном времени.
. [spoiler=Скриншот проекта тестового примера] [/spoiler] .
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
Версия мультиблока обновилась до Плоттер(UART)_V0.3.
Добавлена обратная связь. Это очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь можно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.
Для того, чтобы изменить какую либо настройку, достаточно в строке окна плоттера написать имя переменной и ее значение.
Например O=8 Сразу после нажатия "Отправить" или Enter, изменения вступят в силу, что можно наблюдать на графике.
Скачать блок в первом посте
Пример смотри ниже.
. [spoiler=Скриншот тестового проекта] [/spoiler] .
Список возможностей V 0.3
- Вывод нескольких графиков
- Подпись парамера
- Смещение графика по вертикали.
- Вывод верхней и нижней границ (борьба с автомасштабированием)
- Вывод нулевого уровня переменной (при смещении)
- Масштабирование по горизонтали (Таймаут)
- Масштабирование по вертикали (Масштаб (М))
- Управление графиком "на горячую", в реальном времени.
- Отправка переменной из плоттера в контроллер
Описание работы с блоком PlonntrGet (получение параметра из Serial Plotter)
Имя отправляемой переменной должно точно совпадать с именем
введенном в блоке и написано на латинице.
Пример: Yarkost или TEMP или V
Для отправки переменной из плоттера на контроллер, в строке плоттера введите
имя переменной и ее значение через знак " = " или " / " или " *." или пробел
(Подойдет любой удобный знак отличный от буквы) и нажмите "Отправить" или Enter.
Отрицательные значения тоже поддерживаются.
Дробное значение переменной вводится через точку.
Пример: Yarkost/-57 или TEMP=36.6 или V*220
Все очень просто и удобно. Успехов Вам и вашим проектам!
ВСЕХ С ДНЕМ ЗАЩИТНИКА ОТЕЧЕСТВА!
Добавлена обратная связь. Это очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь можно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.
Для того, чтобы изменить какую либо настройку, достаточно в строке окна плоттера написать имя переменной и ее значение.
Например O=8 Сразу после нажатия "Отправить" или Enter, изменения вступят в силу, что можно наблюдать на графике.
Скачать блок в первом посте
Пример смотри ниже.
. [spoiler=Скриншот тестового проекта] [/spoiler] .
Список возможностей V 0.3
- Вывод нескольких графиков
- Подпись парамера
- Смещение графика по вертикали.
- Вывод верхней и нижней границ (борьба с автомасштабированием)
- Вывод нулевого уровня переменной (при смещении)
- Масштабирование по горизонтали (Таймаут)
- Масштабирование по вертикали (Масштаб (М))
- Управление графиком "на горячую", в реальном времени.
- Отправка переменной из плоттера в контроллер
Описание работы с блоком PlonntrGet (получение параметра из Serial Plotter)
Имя отправляемой переменной должно точно совпадать с именем
введенном в блоке и написано на латинице.
Пример: Yarkost или TEMP или V
Для отправки переменной из плоттера на контроллер, в строке плоттера введите
имя переменной и ее значение через знак " = " или " / " или " *." или пробел
(Подойдет любой удобный знак отличный от буквы) и нажмите "Отправить" или Enter.
Отрицательные значения тоже поддерживаются.
Дробное значение переменной вводится через точку.
Пример: Yarkost/-57 или TEMP=36.6 или V*220
Все очень просто и удобно. Успехов Вам и вашим проектам!
ВСЕХ С ДНЕМ ЗАЩИТНИКА ОТЕЧЕСТВА!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
Версия мультиблока обновилась до Плоттер(UART)_V0.3.
. .
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)
Скачать в посте #1
Эмуляторы устройств
Данные блоки позволяют тестировать проект без подключения реальных устройств.
Управление эмуляторами может осуществляться из окна плоттера.
Кнопка без удержания
Управляя переменными из плоттера, сложно сымитировать короткое нажатие. Данный блок позволяет это сделать.
В случае если с плоттера пришла переменная с именем кнопки на выход
блока будет подан импульс длительностью настроенной пользователем.
При Времени клика "0" - импульс будет в один цикл программы.
Для данной кнопки значение переменной из плоттера не имеет значения,
должно быть хотя бы имя и пробел(знак). Можно вообще без значения
Пример: buttA_ или KnopB* или D/
Потенциометр
Данный блок принимает из плоттера новое значение и плавно изменяет текущее со настроенной скоростью.
Скорость настраивается исходя из времени поворота потенциометра из одного крайнего положения в другое.
Новое значение вводится в строку плоттера через пробел или знак после имени.
Значение имеет процентный формат и должно быть от 0 до 100
Пример: Pot=20 или ResA 85 или Rb*30
Нагреватель с термометром
Этот блок заслуживает отдельной темы. В его основе математическая модель нагревателя с измерением текущей температуры. И хотя данная модель очень упрощена, ее вполне достаточно, что бы например потренироваться с настройками ПИД регулятора.
Данный блок может использоваться автономно.
Эмулятор имеет довольно гибкие настройки.
- Типы управления - Дискретный(реле) или Аналоговый (регулятор мощности в
- Температура покоя (комнатная, окружающая среда)
- Максимальная температура нагрева
- Скорости нагрева и остывания (градусов в минуту)
- Тепловая инерция нагревателя (агрегата, емкости и т.п.) в условных единицах (0-10)
Блок имеет дополнительный выход "Ta" - это температура ТЭН без учета инерции.
Этот выход скорее больше информативный. По нему можно составить представление о происходящих в нагревателе, физических процессах.
Тестовый проект эмуляции ТЭН и настройки ПИД регулятора.
(Для теста нужен только контролер и всё! Уставку и все коэффициенты можно подстраивать из плоттера.)
Весьма забавный и увлекательный процесс. Надеюсь, что загрузив данный проект, вы сможете прояснить для себя многие моменты по настройке ПИД. При изменении настроек эмулятора, получается нагреватель с новыми характеристиками, для которого требуются свои коэффициенты ПИД регулятора. [spoiler=Скриншот тестового проекта с ПИД регулятором] [/spoiler] .
Примеры настройки ПИД регулятора.
[spoiler=Правильная настройка] [/spoiler]
[spoiler=Слишком большая раскачка при выходе в режим] [/spoiler]
[spoiler=Невыход в режим] [/spoiler]
[spoiler=Слишком долгий выход в режим] [/spoiler]
. .
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)
Скачать в посте #1
Эмуляторы устройств
Данные блоки позволяют тестировать проект без подключения реальных устройств.
Управление эмуляторами может осуществляться из окна плоттера.
Кнопка без удержания
Управляя переменными из плоттера, сложно сымитировать короткое нажатие. Данный блок позволяет это сделать.
В случае если с плоттера пришла переменная с именем кнопки на выход
блока будет подан импульс длительностью настроенной пользователем.
При Времени клика "0" - импульс будет в один цикл программы.
Для данной кнопки значение переменной из плоттера не имеет значения,
должно быть хотя бы имя и пробел(знак). Можно вообще без значения
Пример: buttA_ или KnopB* или D/
Потенциометр
Данный блок принимает из плоттера новое значение и плавно изменяет текущее со настроенной скоростью.
Скорость настраивается исходя из времени поворота потенциометра из одного крайнего положения в другое.
Новое значение вводится в строку плоттера через пробел или знак после имени.
Значение имеет процентный формат и должно быть от 0 до 100
Пример: Pot=20 или ResA 85 или Rb*30
Нагреватель с термометром
Этот блок заслуживает отдельной темы. В его основе математическая модель нагревателя с измерением текущей температуры. И хотя данная модель очень упрощена, ее вполне достаточно, что бы например потренироваться с настройками ПИД регулятора.
Данный блок может использоваться автономно.
Эмулятор имеет довольно гибкие настройки.
- Типы управления - Дискретный(реле) или Аналоговый (регулятор мощности в

- Температура покоя (комнатная, окружающая среда)
- Максимальная температура нагрева
- Скорости нагрева и остывания (градусов в минуту)
- Тепловая инерция нагревателя (агрегата, емкости и т.п.) в условных единицах (0-10)
Блок имеет дополнительный выход "Ta" - это температура ТЭН без учета инерции.
Этот выход скорее больше информативный. По нему можно составить представление о происходящих в нагревателе, физических процессах.
Тестовый проект эмуляции ТЭН и настройки ПИД регулятора.
(Для теста нужен только контролер и всё! Уставку и все коэффициенты можно подстраивать из плоттера.)
Весьма забавный и увлекательный процесс. Надеюсь, что загрузив данный проект, вы сможете прояснить для себя многие моменты по настройке ПИД. При изменении настроек эмулятора, получается нагреватель с новыми характеристиками, для которого требуются свои коэффициенты ПИД регулятора. [spoiler=Скриншот тестового проекта с ПИД регулятором] [/spoiler] .
Примеры настройки ПИД регулятора.
[spoiler=Правильная настройка] [/spoiler]
[spoiler=Слишком большая раскачка при выходе в режим] [/spoiler]
[spoiler=Невыход в режим] [/spoiler]
[spoiler=Слишком долгий выход в режим] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
.................

Мда... Видимо мне не удалось донести идею.
[ref]abay[/ref], а не могли бы Вы рассказать, какая часть особенно непонятна? Что надо дополнительно рассказать "неглупым парням"?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 613
- Зарегистрирован: 06 янв 2018, 19:50
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
Serial Plotter (Плоттер по последовательному соединению)
Да. Придется Вам, еще изучить видео монтажDryundel писал(а): 25 фев 2022, 18:19
Мда. Видимо мне не удалось донести идею.
[ref]abay[/ref], а не могли бы Вы рассказать, какая часть особенно непонятна? Что надо дополнительно осветить?

Serial Plotter (Плоттер по последовательному соединению)
Не стоит Вам тратить на меня драгоценное свое время!
Я сам как нибуть, потихоньку, доростать буду

- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
С таким отношением к труду других и пренебрежительным отношением к русскому языку, дорастете до бана.abay писал(а): 25 фев 2022, 21:33 Не стоит Вам тратить на меня драгоценное свое время!
Я сам как нибуть нибудь, потихоньку, доростать дорастать буду .
Serial Plotter (Плоттер по последовательному соединению)
Я такой ответ и предполагал, внучик...
Отправлено спустя 4 минуты 21 секунду:
Банить меня не обязательно. Ты сам на рожон нарываться начал

Я спокойно помолчу и почитаю.
Мне ничего от вас не нужно, кроме Знаний...
Отправлено спустя 6 минут 38 секунд:
Уважаемый Друмель!
Я бы хотел вАс попросить вести себя приличнее, "полковник"

[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 613
- Зарегистрирован: 06 янв 2018, 19:50
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
Serial Plotter (Плоттер по последовательному соединению)
[ref]abay[/ref], На счет видео монтажа. Это было не к вам обращение.
-
- Лейтенант
- Сообщения: 540
- Зарегистрирован: 03 сен 2020, 15:41
- Откуда: Питер
- Имя: Артем
- Поблагодарили: 1 раз
Serial Plotter (Плоттер по последовательному соединению)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 540
- Зарегистрирован: 03 сен 2020, 15:41
- Откуда: Питер
- Имя: Артем
- Поблагодарили: 1 раз
Serial Plotter (Плоттер по последовательному соединению)

кто то оказывается слямзил блок, а создателя зовут николай)))
Всего то седьмой десяток человеку)))
страшно за реактор)
Serial Plotter (Плоттер по последовательному соединению)
Не пАрьтесь: я - "тише воды, ниже травы".SerOv писал(а): 25 фев 2022, 22:19 [ref]abay[/ref], На счет видео монтажа. Это было не к вам обращение.
Я никто и имя мое - "никак"!
Можно, я просто буду читать и молчать?!!
Спасибо!!!
Отправлено спустя 3 минуты 50 секунд:
в смысле? Поясните - кто кого слямзил?artemka19 писал(а): 25 фев 2022, 23:02вот так)))
кто то оказывается слямзил блок, а создателя зовут николай)))
Всего то седьмой десяток человеку)))
страшно за реактор)
Кого зовут Николаем?
И какой негодяй "вывел реактор из эксплуатации" в 2001 году, за который Вам страшно по сей день??
-
- Лейтенант
- Сообщения: 540
- Зарегистрирован: 03 сен 2020, 15:41
- Откуда: Питер
- Имя: Артем
- Поблагодарили: 1 раз
Serial Plotter (Плоттер по последовательному соединению)
сказал проектировщик путающий имена)abay писал(а): 25 фев 2022, 23:05 Не пАрьтесь: я - "тише воды, ниже травы".
Я никто и имя мое - "никак"!
Можно, я просто буду читать и молчать
-
- Лейтенант
- Сообщения: 540
- Зарегистрирован: 03 сен 2020, 15:41
- Откуда: Питер
- Имя: Артем
- Поблагодарили: 1 раз
Serial Plotter (Плоттер по последовательному соединению)
жги еще!)abay писал(а): 25 фев 2022, 23:09 смысле? Поясните - кто кого слямзил?
Кого зовут Николаем?
И какой негодяй "вывел реактор из эксплуатации" в 2001 году, за который Вам страшно по сей день
-
- Лейтенант
- Сообщения: 540
- Зарегистрирован: 03 сен 2020, 15:41
- Откуда: Питер
- Имя: Артем
- Поблагодарили: 1 раз
Serial Plotter (Плоттер по последовательному соединению)
[ref]abay[/ref],
просто знайте меру и свое место.
просто знайте меру и свое место.
-
- Капитан
- Сообщения: 908
- Зарегистрирован: 04 окт 2015, 19:10
- Откуда: Новосибирск
- Имя: Павел
- Благодарил (а): 20 раз
- Поблагодарили: 22 раза
Serial Plotter (Плоттер по последовательному соединению)
[ref=#ff8000]Dryundel[/ref],
Интересные возможности плоттера, спасибо.
Всё не доходили руки с ним поразбираться да к делу приспособить. Теперь есть от чего отталкиваться.
Эмуляторы устройств - очень интересная идея.
[spoiler=Косячки] [/spoiler]
Отсутствуют описания параметров и значения по умолчанию - вот это уже нехорошо.
Интересные возможности плоттера, спасибо.
Всё не доходили руки с ним поразбираться да к делу приспособить. Теперь есть от чего отталкиваться.
Эмуляторы устройств - очень интересная идея.
[spoiler=Косячки] [/spoiler]
Отсутствуют описания параметров и значения по умолчанию - вот это уже нехорошо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Serial Plotter (Плоттер по последовательному соединению)
Опечатки поправлю. Возможно описание сделал не в каждом параметре, но в общих описаниях где то точно писал про значение по умолчанию.Naladchik писал(а): 26 фев 2022, 07:51 Отсутствуют описания параметров и значения по умолчанию - вот это уже нехорошо.
Допишем, допилим в след. версии.
По эмуляторам в планах: энкодер и Эл. двигатель со скоростным счётчиком оборотов. Мат. модель вроде уже придумал.
Сложность в том, что мат. модель должна быть простой по коду, что бы не сильно жрать ресурсы контроллера. Приходится сильно упрощать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя