digitalWrite()

Подает значение HIGH или LOW на цифровой вход/выход (pin).

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

Если вход/выход (pin) был установлен в режим вход (INPUT), то функция digitalWrite() со значением HIGH будет активировать внутренний 20K нагрузочный резистор. Подача LOW в свою очередь отключает этот резистор. Нагрузочного резистора достаточно, чтобы светодиод, подключенный к входу, светил тускло. Если вдруг светодиод работает, но очень тускло, возможно необходимо установить режим выход (OUTPUT) функцией pinMode().

Замечание

Вход/выход 13 сложнее использовать как цифровой вход, т.к. он имеет встроенный в плату резистор и светодиод. Если вы активируете еще внутренний нагрузочный резистор 20K, то напряжение на этом входе будет около 1.7В, вместо ожидаемых 5В, т.к. светодиод и добавочный резистор снижает напряжение, т.е. Вы всегда будете получать LOW. Если же Вам все же необходимо использовать 13ый вход/выход, то используйте внешний нагрузочный резистор.

Синтаксис

digitalWrite(pin, value);

Параметры

pin: номер вход/выхода(pin)
value: значение HIGH или LOW

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

нет

Пример

int ledPin = 13; //Светодиод на выводе 13 
void setup() { 
	pinMode(ledPin, OUTPUT); //устанавливает режим работы - выход 
}

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

Примечание

Аналоговые входы (analog pins) могут быть использованы как цифровые вход/выходы (digital pins). Обращение к ним идет по номерам от 14 (для аналогового входа 0) до 19 (для аналогового входа 5).