Отладка
Привет! На предыдущих занятиях мы учились работать с простыми схемами и программами. Но в будущем, когда всё станет намного сложнее, нужно будет научиться понимать, что происходит у них "внутри". Видеть, какие сигналы приходят с датчиков, что идет на управление и так далее. Это называется "отладкой". В сегодняшнем уроке мы познакомимся с ней. |
Далее →
Тренироваться, как обычно, мы будем на схеме "маячка". Он был в пятом уроке. Для начала собери его схему (провод от резистора нужно подключить на 9-й вывод платы). Затем открой среду разработки и загрузи на плату скетч (Файл -> Примеры -> 01. Basics -> Fade). Убедись, что светодиод плавно мигает. |
Далее →
Чтобы нам было удобно выполнять отладку, замедлим работу схему. Вспомни - какая команда отвечает за задержку в программе? |
analogWrite
delay
pinMode
Давай увеличим задержку в цикле. Для этого исправь delay(30) на delay(500). Также в самом начале программы найди выражение int fadeAmount = 5 и замени его на int fadeAmount = 51 . Загрузи новый скетч на плату. Теперь, если всё сделано верно, ты увидишь, что яркость светодиода стала расти и падать как бы "ступеньками". Конечно, это не идеальный маячок, но для нашей задачи подойдет. |
Далее →
Теперь посмотрим, как меняется значение яркости в реальном времени. Первая команда, которую нужно вставить, выглядит так: Serial.begin(9600); Она должна стоять внутри блока setup (показано на картинке). Команда нужна для корректного "общения" нашей платы с компьютером. |
Далее →
Вторая команда - то, что мы будем отправлять на компьютер: Serial.println(brightness); Ее нужно вставить после delay (показано на картинке). После того, как обе команды добавлены, загрузи новый скетч на плату. Убедись, что маячок снова мигает "ступеньками" (это значит, что всё в порядке). |
Далее →
Теперь самое интересное - заглянем "внутрь" платы. Выбери в меню программы "Сервис" -> "Монитор порта". Откроется дополнительное окно, в котором ты увидишь столбик из чисел. Всё это, как несложно догадаться - значения яркости нашего светодиода. |
да, вижу!
не получилось...
Опытный инженер должен уметь заранее предсказывать поведение системы. Что получится в мониторе порта, если мы изменим delay(500) на delay(100)? Попробуй дать ответ, не загружая новый скетч. |
числа медленно бегут
числа быстро бегут
без изменений
Теперь исправь в скетче delay(500) на delay(100) и загрузи его на плату. Снова открой монитор порта ("Сервис" -> "Монитор порта"). Убедись, что все работает именно так, как и было предсказано. |
Далее →
Итак, в сегодняшнем уроке мы узнали, как вести отладку на плате Ардуино. Это удобно при написании сложных программ (например, робота или системы управления). При отладке мы смотрим, какие значения получаются внутри программы, исправляем ее, снова смотрим, и так постепенно доводим до состояния, когда всё работает, как нам нужно. |
Завершить
МОЛОДЕЦ! |