Оглавление | Маячок с нарастающей яркостью →
В этом эксперименте мы просто мигаем светодиодом.
void setup() { // настраиваем пин №13 в режим выхода, // т.е. в режим источника напряжения pinMode(13, OUTPUT); } void loop() { // подаём на пин 13 «высокий сигнал» (англ. «high»), т.е. // выдаём 5 вольт. Через светодиод побежит ток. // Это заставит его светиться digitalWrite(13, HIGH); // задерживаем (англ. «delay») микроконтроллер в этом // состоянии на 100 миллисекунд delay(100); // подаём на пин 13 «низкий сигнал» (англ. «low»), т.е. // выдаём 0 вольт или, точнее, приравниваем пин 13 к земле. // В результате светодиод погаснет digitalWrite(13, LOW); // замираем в этом состоянии на 900 миллисекунд delay(900); // после «размораживания» loop сразу же начнёт исполняться // вновь, и со стороны это будет выглядеть так, будто // светодиод мигает раз в 100 мс + 900 мс = 1000 мс = 1 сек }
setup
выполняется один раз при запуске микроконтроллера. Обычно она используется для конфигурации портов микроконтроллера и других настроекsetup
запускается процедура loop
, которая выполняется в бесконечном цикле. Именно этим мы пользуемся в данном примере, чтобы маячок мигал постоянноsetup
и loop
должны присутствовать в любой программе (скетче), даже если вам не нужно ничего выполнять в них — пусть они будут пустые, просто не пишите ничего между фигурными скобками. Например:void setup() { }
{
всегда соответствует закрывающая }
. Они обозначают границы некого логически завершенного фрагмента кода. Следите за вложенностью фигурных скобок. Для этого удобно после каждой открывающей скобки увеличивать отступ на каждой новой строке на один символ табуляции (клавиша Tab);
в концах строк. Не стирайте их там, где они есть, и не добавляйте лишних. Вскоре вы будете понимать, где они нужны, а где нет.digitalWrite(pin, value)
не возвращает никакого значения и принимает два параметра:pin
— номер цифрового порта, на который мы отправляем сигналvalue
— значение, которое мы отправляем на порт. Для цифровых портов значением может быть HIGH
(высокое, единица) или LOW
(низкое, ноль)digitalWrite
значение, отличное от HIGH
, LOW
, 1
или 0
, компилятор может не выдать ошибку, но считать, что передано HIGH
. Будьте внимательныINPUT
, OUTPUT
, LOW
, HIGH
, пишутся заглавными буквами, иначе компилятор их не распознает и выдаст ошибку. Когда ключевое слово распознано, оно подсвечивается синим цветом в Arduino IDEpinMode
? Какие параметры она принимает?digitalWrite
? Какие параметры она принимает?