DigitalWrite

Материал из MK90.ORG wiki
Перейти к:навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

digitalWrite()

Описание

Записывает значение HIGH или LOW в универсальный цифровой пин. Действие зависит от текущего режима:

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

Подключение нагрузочного резистора может иметь дополнительный эффект: если к этому пину подключен светодиод, он может начать слабо светиться. Чтобы избавиться от этого, необходимо переключить универсальный пин в режим выхода (OUTPUT) функцией pinMode().

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

Синтаксис

digitalWrite(pin, value)

Параметры

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);                  // подождать секунду
}

Пример работает следующим образом: пин 13 устанавливается в состояние логической единицы (HIGH), секунда ожидания и он снова устанавливается в состояние логического нуля (LOW).

Замечание

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

Смотри также


Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.