3.01.1. Практикум.md


Эти задачи помогут вам закрепить знания о переменных, типах данных и работе с последовательным портом в Рудироне. Вы будете создавать программы для реальных ситуаций, таких как сохранение скорости робота или данных метеостанции, и проверять результаты через монитор порта. Подумайте, какие типы данных выбрать для каждой задачи, и попробуйте самостоятельно написать код!

Задача №1. Скорость робота

Введение
Вы создали робота, который движется по комнате, и его контроллер измерил текущую скорость — 7.1 км/ч. Чтобы сохранить это значение и проверить его, нужно создать переменную и вывести её значение на компьютер через последовательный порт. Это как отправить роботу команду: «Скажи, как быстро ты едешь!».

Задание
Напишите программу для Рудирона, которая создаёт переменную speed типа float со значением 7.1 и выводит её значение в монитор порта. Проверьте результат, убедившись, что в мониторе отображается «7.1».

Вопросы для размышления:
1. Почему для скорости робота лучше использовать тип float, а не int?
2. Что произойдёт, если изменить значение speed на 10.5 и перезагрузить программу?
3. Как добавить в вывод текст, чтобы в мониторе порта отображалось «Скорость: 7.1 км/ч»?

Задача №2. Метеостанция

Введение
Вы собираете метеостанцию на базе Рудирона, которая измеряет температуру (25.3 °C), влажность (60%) и отправляет сообщение «Погода ясная». Чтобы сохранить эти данные, нужно создать три переменные разных типов и вывести их значения через последовательный порт. Это как записать показания погоды в дневник и показать их на компьютере!

Задание
Напишите программу для Рудирона, которая создаёт три переменные: temp типа float со значением 25.3, humidity типа int со значением 60, и weather типа String со значением «Погода ясная». Выведите значения всех переменных в монитор порта, каждое на новой строке.

Вопросы для размышления:
1. Почему для влажности выбран тип int, а не float?
2. Что произойдёт, если заменить Serial.println() на Serial.print() для всех выводов?
3. Как изменить код, чтобы в мониторе порта отображалось «Температура: 25.3 C»?

Задача №3. Проверка размера памяти

Введение
Вы хотите оптимизировать программу для Рудирона, чтобы она занимала меньше памяти. Для этого нужно узнать, сколько байт занимают разные типы данных. Давайте создадим программу, которая покажет размеры типов int, char и byte и выведет их через последовательный порт. Иногда проще спросить у платы, сколько памяти занимает переменная, чем заглядывать в «паспорт» каждого типа данных!

Задание
Напишите программу для Рудирона, которая выводит размеры типов данных int, char и byte в монитор порта с поясняющим текстом, например, «Размер int: 4 байта».

Вопросы для размышления:
1. Почему byte занимает меньше памяти, чем int, и когда его использование предпочтительнее?
2. Что произойдёт, если добавить в код вывод размера типа float? Какой результат вы ожидаете?
3. Как знание размеров типов данных может помочь в создании больших проектов?


Поздравляем, вы научились создавать переменные и выводить данные через Serial в проектах с Рудироном! Если какая-то задача оказалась сложной, вы можете посмотреть решения в файле с ответами. Теперь переходите к следующему параграфу, чтобы освоить операторы и сделать ваши программы ещё функциональнее.