HIGH | LOW
Определение уровней выводов: HIGH и LOW
При чтении или записи на цифровой вывод существует только два возможных значения, которые вывод может принимать/устанавливать: HIGH и LOW. Это то же самое, что true и false, а также 1 и 0.
HIGH
Значение HIGH (в контексте вывода) несколько различается в зависимости от того, настроен ли вывод как INPUT или OUTPUT. Когда вывод настроен как INPUT с помощью pinMode() и читается с помощью digitalRead(), плата Arduino (ATmega) сообщит HIGH, если:
на выводе присутствует напряжение выше 3.0 В (платы на 5 В)
на выводе присутствует напряжение выше 2.0 В (платы на 3.3 В)
Вывод также может быть настроен как INPUT с помощью pinMode(), а затем установлен в HIGH с помощью digitalWrite(). Это включит внутренние подтягивающие резисторы на 20 кОм, которые подтянут входной вывод к состоянию HIGH, если он не подтянут к LOW внешней схемой. Это также можно сделать, передав INPUT_PULLUP в качестве аргумента функции pinMode(), как подробнее описано в разделе «Определение режимов цифровых выводов: INPUT, INPUT_PULLUP и OUTPUT» ниже.
Когда вывод настроен как OUTPUT с помощью pinMode() и установлен в HIGH с помощью digitalWrite(), на выводе:
5 вольт (платы на 5 В)
3.3 вольта (платы на 3.3 В)
В этом состоянии он может отдавать ток, например, зажигать светодиод, подключённый через токоограничивающий резистор к земле.
LOW
Значение LOW также имеет различное значение в зависимости от того, настроен ли вывод как INPUT или OUTPUT. Когда вывод настроен как INPUT с помощью pinMode() и читается с помощью digitalRead(), плата Arduino (ATmega) сообщит LOW, если:
на выводе присутствует напряжение ниже 1.5 В (платы на 5 В)
на выводе присутствует напряжение ниже 1.0 В (приблизительно) (платы на 3.3 В)
Когда вывод настроен как OUTPUT с помощью pinMode() и установлен в LOW с помощью digitalWrite(), на выводе 0 вольт (как на платах 5 В, так и на 3.3 В). В этом состоянии он может поглощать ток, например, зажигать светодиод, подключённый через токоограничивающий резистор к +5 В (или +3.3 В).