Алгоритмы с использованием массивов и циклов часто применяются в промышленной автоматизации для задач по усреднению и интерполяции данных. Например, для фильтрации показаний, считываемых с различных датчиков, вывода таких показаний на тренды, для наполнения сжатого архива значениями, чтобы их записать для долгосрочного хранения.
Также массивы и циклы часто применяются для потоковой обработки данных большого объёма, множества аналоговых/дискретных параметров, управляющих/аварийных уставок и сигналов.
Такой опыт поможет в программировании для большинства современных семейств промышленных контроллеров в среде разработки, использующей C/C++, SCL (ST по IEC 61131-3) и подобные структурированные языки программирования.
В результате выполнения задания вы сможете:
- попрактиковаться в использовании массивов — их создании, заполнении и обращении к их элементам;
- применить циклы для обработки массивов — это один из типовых подходов к работе с массивами;
- написать и изучить работу классических алгоритмов — сортировки, поиска экстремумов и среднего значения.
Для выполнения задания нужно пройти по ссылке на страницу создания нового проекта для платы Arduino Uno.
- Подключите в симуляторе к плате Arduino необходимые компоненты и настройте их, если нужно.
- Напишите код согласно заданию.
- Проверьте корректность работы проекта.
- Для проверки домашнего задания отправьте ссылку на сайт-симулятор с вашим рабочим проектом в личном кабинете.
- Любые вопросы по решению задач задавайте в чате учебной группы.
Подсказка, как сохранить проект и получить уникальную ссылку (доступна по клику).
- Нажмите «Save a copy» — выпадающий список рядом с кнопкой «Save» и с дискетой.
- Ваш проект будет сохранён, как новый, а в адресной строке браузера будет строка вида https://wokwi.com/projects/335536327066911316 (пример).
- Важно, чтобы у адресной строки был адрес с множеством цифр на конце.
- Теперь сохранение изменений в текущем проекте можно производить нажатием на кнопку «Save». Сохранить текущий проект, как новый, можно только через «Save a copy».
- Перед отправкой ссылки на проект преподавателю не забудьте проверить, что ссылка работает, открыв её в новом окне браузера.
- Справочный материал по командам Arduino.
- Справочник по языку Wiring/С для Arduino.
- Страница создания проекта для платы Arduino Uno.
- Статья о среднем арифметическом.
- Статья о сортировке пузырьком.
В эмуляторе Wokwi, используя микроконтроллер платы Arduino Uno:
- Напишите три функции:
- fMin — возвращает значение минимального из элементов целочисленного массива-аргумента;
- fMax — возвращает значение максимального из элементов целочисленного массива-аргумента;
- fAvg — возвращает значение типа float вычисленного среднего арифметического элементов целочисленного массива-аргумента.
- Создайте целочисленный массив из 10 элементов, заполните его числами: 10, 7, 0, 13, 1, 24, 17, 19, 44, 3.
- Реализуйте вывод исходного массива в монитор порта.
- Осуществите последовательный вызов функций с выводом результирующих значений на монитор порта.
- Программа должна иметь комментарии.
В эмуляторе Wokwi, используя микроконтроллер платы Arduino Uno:
- Создайте целочисленный массив из 10 элементов, заполните его числами: 10, 7, 0, 13, 1, 24, 17, 19, 44, 3.
- Напишите алгоритм сортировки простыми обменами (сортировки пузырьком).
- В результате выполнения программы на монитор порта должны быть выведены данные:
- исходный массив;
- массив промежуточных значений на каждой итерации сортировки;
- количество итераций, потребовавшихся для получения результата;
- результирующий массив.
- Программа должна иметь комментарии.
Отправлена ссылка на рабочий проект на сайте онлайн-симулятора в личном кабинете студента.
Зачёт ставится, если созданный проект соответствует критериям:
- Код проекта на сайте онлайн-симулятора должен быть рабочим и соответствовать заданию.
- Допускаются незначительные отклонения, не влияющие на общий принцип функциональности проекта по условиям задания.
Работа направляется на доработку, если:
- задание выполнено частично или не выполнено;
- в логике выполнения задания есть противоречия, существенные недостатки;
- нарушена методология.