Привет. Сегодня будем говорить про управляющие операторы if и else в языке программирования Ардуино.
Мы уже изменили стандартную программу blink из обучающего набора программ в ардуино ide. В прошлый раз мы рассмотрели оператор цикла for. Если вы пропустили или уже забыли о чем речь, пожалуйста, посмотрите эту статью.
Ардуино Урок 1.1. Цикл for
Теперь мы изменим программу blink еще раз, чтобы посмотреть на возможности управляющих операторов if и else.
Цикл for в Ардуино
Для того, чтобы продемонстрировать возможности цикла for, изменим задержку в моргании светодиода на динамически изменяющуюся. Добавим в цикл loop новую функцию for() следующим образом.
void loop() {
for(i = 100; i <= 1000; i+=100){
}
}
С помощью этой структуры мы создаем циклическое изменение переменной i от 100 до 1000 с шагом в 100. Когда мы поставим эту переменную в функцию задержки, светодиод будет мигать не каждую секунду, а с изменяющейся частотой.
Для того, чтобы мы могли обращаться к новой переменной, необходимо ее объявить. Для этого, в самом начале программы, перед функцией setup(), в блоке объявления переменных, напишем:
int i = 100;
Таким образом переменная i еще до обращения к ней в цикле for будет равна 100.
Теперь перенесем строки программы отвечающие за включение и выключение светодиода в новый цикл for и заменим значение в функции delay().
void loop() {
for(i = 100; i <= 1000; i+=100){
digitalWrite(LED_BUILTIN, HIGH);
delay(i);
digitalWrite(LED_BUILTIN, LOW);
delay(i);
}
}
Таким образом светодиод будет загораться и гаснуть с увеличивающейся паузой пока переменная i не станет равна 1000. После этого программа выйдет из цикла for и передаст управление циклу loop. Поскольку других функций в цикле loop нет, он опять передаст управление циклу for. И for начнет работать сначала.
Полный текст программы с циклом for.
int i = 100;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
for(i = 100; i <= 1000; i+=100){
digitalWrite(LED_BUILTIN, HIGH);
delay(i);
digitalWrite(LED_BUILTIN, LOW);
delay(i);
}
}
Заключение
В этот раз мы улучшили стандартную программу blink, чтобы посмотреть как работает цикл for на языке программирования ардуино. Естественно, все происходит как и в других языках программирования. Не забывайте объявлять переменные, чтобы не вызывать ошибки в программе. И помните, что цикл может работать как в сторону увеличения, так и в сторону уменьшения. А в следующий раз мы изменим программу опять, чтобы посмотреть на управляющие операторы if и else.
Спасибо, что дочитали статью до конца.
Пожалуйста, подписывайтесь на блог в яндекс дзен.
Посмотрите больше уроков и проектов на сайте arcadepub.ru
И подписывайтесь на соц. сети.
Спасибо за внимание, скоро увидимся.