digitalWrite()

Описание

Отправляет на цифровой вывод значение HIGH или LOW.

Если функцией pinMode() вывод сконфигурирован как выход (OUTPUT), то при выполнении функции digitalWrite() его напряжение будет изменено на соответствующее значение: 5 В (либо 3.3 В для плат, работающих от 3.3В) при отправке HIGH, 0 В (земля) — при LOW.

Если вывод сконфигурирован как вход INPUT, то отправка функцией digitalWrite() значения HIGH приведет к подключению внутреннего подтягивающего резистора номиналом 20 КОм (см. инструкцию по цифровым выводам). Запись значения LOW приведет к отключению подтяжки. Внутренний подтягивающий резистор может обеспечить только тусклое свечение светодиода. Поэтому, если светодиод горит, но очень тускло, наиболее вероятная причина этого — подтягивающий резистор. Для решения данной проблемы необходимо перевести соответствующий вывод в режим выхода с помощью функции pinMode().

ПРИМЕЧАНИЕ: Существуют некоторые сложности при использовании вывода 13 в качестве цифрового входа. Причиной этого является светодиод и резистор, которые припаяны к этому выводу на большинстве плат Ардуино. При включении внутреннего подтягивающего резистора 20 КОм, напряжение на этом выводе установится на уровне около 1.7 В, вместо ожидаемых 5 В, поскольку светодиод и последовательно соединенный резистор на плате понижают уровень напряжения. Таким образом, вывод будет всегда  находится в состоянии LOW. Поэтому, чтобы использовать вывод 13 в качестве цифрового входа, необходимо использовать внешний резистор на землю.

Синтаксис


digitalWrite(pin, value) 

Параметры

pin: номер вывода

value: значение HIGH или LOW

Возвращаемые значения

нет

Пример 


int ledPin = 13;                 // светодиод подключен к выводу 13

void setup()
{
  pinMode(ledPin, OUTPUT);      // переключаем цифровой вывод в режим выхода
}

void loop()
{
  digitalWrite(ledPin, HIGH);   // включаем светодиод
  delay(1000);                  // ждем 1 секунду
  digitalWrite(ledPin, LOW);    // выключаем светодиод
  delay(1000);                  // ждем 1 секунду
}

Программа устанавливает на выводе 13 высокий уровень HIGH, выдерживает паузу в 1 секунду, после чего возвращает вывод в низкий уровень LOW.

Примечание

Выводы, являющиеся аналоговыми входами, могут также использоваться как цифровые выводы под именем A0, A1 и т.д.

Смотрите также

Ардуино