Найти тему
ArcadePub

Ардуино Урок 3. If else

Оглавление

Привет. Сегодня будем говорить про управляющие операторы 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);
}
}

Результат выполнения программы цикл For()
Результат выполнения программы цикл For()

Заключение

В этот раз мы улучшили стандартную программу blink, чтобы посмотреть как работает цикл for на языке программирования ардуино. Естественно, все происходит как и в других языках программирования. Не забывайте объявлять переменные, чтобы не вызывать ошибки в программе. И помните, что цикл может работать как в сторону увеличения, так и в сторону уменьшения. А в следующий раз мы изменим программу опять, чтобы посмотреть на управляющие операторы if и else.

Спасибо, что дочитали статью до конца.

Пожалуйста, подписывайтесь на блог в яндекс дзен.

Посмотрите больше уроков и проектов на сайте arcadepub.ru

И подписывайтесь на соц. сети.

Спасибо за внимание, скоро увидимся.