Константы - это предопределенные значения в языке Arduino. Они позволяют сделать код программы более легким для понимания. Константы разделяют на группы.
Логические константы
В языке Ардуино есть две константы для представления логических значений истина и ложь: true и false.
false
false - (более простое опредление, чем true) эта константа опредлена как 0 (нуль).
true
true - обычно говорят, что true — это 1, это корректно, но также правильно, что любое целое отличное от нуля является в логическом смысле true. Т.е -1, -2 и -200 будут также true в логическом выражении.
Обратите внимание, что true и false пишутся строчными буквами, в отличие от HIGH, LOW, INPUT и OUTPUT.
Константы, характеризующие уровень напряжения на контактах: HIGH и LOW
Возможны только два значения для считывания или записи на цифровой порт контакта: HIGH и LOW.
HIGH
Значение HIGH зависит от выбранного режима работы порта INPUT или OUTPUT. Когда порт контакта установлен в режим INPUT с помощью функции pinMode(), и считывается функцией digitalRead(), микроконтроллер отдаст значение HIGH при напряжение 3В или выше на указанном порту.
Опять же, порт может быть установлен как INPUT функцией pinMode(), но затем установлен в значение HIGH функцией digitalWrite(). Это подключит к порту внутренний подтягивающий резистор 20кОм, что позволит получать постоянное значение HIGH при чтение этого порта, если только значение не будет приведено к LOW внешней цепью подключенной к этому порту.
Когда порт установлен как OUTPUT функцией pinMode(), и установлено значение HIGH функцией digitalWrite(), на порту будет постоянное напряжение 5В. От этого порта может быть запитан светодиод, подключенный через резистор на землю или к другому порту, сконфигурированному как OUTPUT и установленному в LOW.
LOW
Значение LOW также различается для разных режимов INPUT и OUTPUT. Когда порт сконфигурирован как INPUT, и считывается функцие digitalRead(), микроконтроллер вернет LOW если напряжение на данном порту меньше или равно 2В.
Если же порт установлен в OUTPUT функцией pinMode(), и установлено значение LOW функцией digitalWrite(), то напряжение на выходе порта будет 0 Вольт. Это дает возможность подключить к контакту нагрузку, например светодиод, подключенный через резистор между этим контактом и 5В (например, от другого контакта, в котором установлен OUTPUT и HIGH).
Константы, характеризующие цифровые контакты: INPUT, INPUT_PULLUP и OUTPUT
Цифровые контакты могут быть установлены в различные режимы работы: INPUT, PULLUP или OUTPUT. Изменение контакта производится функцией pinMode() и изменяет электрическое поведение на выводе.
INPUT
Контакты Arduino (ATmega), установленные функцией pinMode() как входы (INPUT), находятся в высокоимпедансном состоянии. Это эквивалентно подключению к выводу последовательного резистора в 100 МОм. Такой режим удобен для считывания сигналов с датчиков, но не приемлем для питания светодиодов.
Следует отметить, что контакты INPUT иногда соединяют с землей через подтягивающий резистор (резистор на землю), как описано в примере использования последовательном связи.
INPUT_PULLUP
Микроконтроллер ATmega в Arduino имеет внутренние подтягивающие резисторы (резисторы, подключенные к питанию внутри микросхемы), которыми можно управлять. Если вы предпочитаете использовать их вместо внешних резисторов, подключенных к земле, - используйте параметр INPUT_PULLUP в функции pinMode(). Это позволит инвертировать поведение подключенного к выводу внешнего датчика: HIGH будет означать его отключение, а LOW - включение. Смотрите пример использования INPUT_PULLUP при последовательной связи.
OUTPUT
Контакты, установленные функцией pinMode() как выходы (OUTPUT), находятся в низкоимпедансном состоянии. Это означает, что они могут обеспечить внешние цепи относительно большим током. Микроконтроллер ATmega может отдавать (положительный ток) или принимать (отрицательный) ток до 40 мА (миллиампер) от внешних устройств/цепей. Такой режим удобен для питания светодиодов, но бесполезен при считывании сигналов с датчиков. Выводы, сконфигурированные как выход, также могут быть выведены из строя при коротком замыкании на землю либо на цепь питания 5В. Кроме того, выходного тока микроконтроллера ATmega недостаточно для питания большинства реле и двигателей, что требует дополнительных интерфейсных цепей.
LED_BUILTIN
В большинстве плат Arduino есть контакт, соединенный со встроенным в плату светодиодом, подключенным последовательно с резистором. LED_BUILTIN является удобной заменой ручного объявиления этого контакта как переменной. В большинстве плат этот светодиод подключен к цифровому контакту 13.
Смотрите также:
pinMode()
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/Constants |