Цифровые контакты ввода-вывода
Download 145.61 Kb.
|
Лаборатория 2
- Bu sahifa navigatsiya:
- Цифровые линии ввода/вывода Arduino
- Цифровые сигналы
- Функции работы с цифровыми портами Arduino
- Эксперимент 1: мигаем светодиодом с помощью цифровых линий Arduino
- Эксперимент 2: управляем светодиодом нажатием кнопки
Лабораторная работа 2 Тема: Цифровые контакты ввода-вывода Цель работы: Изучение цифровые контакты ввода-вывода Цифровые линии ввода/вывода Arduino Цифровые входы и выходы на Arduino – это то, что позволяет подключать датчики, исполнительные механизмы и другие микросхемы и модули к Arduino. Изучение того, как их использовать, позволит вам задействовать Arduino для выполнения некоторых действительно полезных вещей, таких как считывание входов переключателя, активации индикаторов и управления релейными выходами. Цифровые сигналы В отличие от аналоговых сигналов, которые могут принимать любое значение в определенном диапазоне, цифровые сигналы имеют лишь два разных значения: высокое логическое состояние HIGH (1) или низкое логическое состояние LOW (0). Эти цифровые сигналы применяются в ситуациях, когда вход или выход будет иметь одно из этих двух значений. Например, одним из способов использования цифрового сигнала является включение или выключение светодиода. Функции работы с цифровыми портами Arduino Функции Arduino, связанные с цифровыми линиями, которые мы будем использовать в данном материале, следующие: pinMode(), digitalRead(), digitalWrite(). Функция pinMode (pin_number, mode): Поскольку цифровые линии Arduino могут использоваться для ввода или вывода, вы должны сначала сконфигурировать контакты, которые вы собираетесь использовать для цифрового ввода-вывода. Здесь pin_number это номер контакта, который вы хотите настроить. Режим mode должен принимать одно из трех значений: INPUT, OUTPUT, INPUT_PULLUP. Когда для режима установлено значение INPUT_PULLUP, подтягивающий резистор 20 КОм внутренне подключен к выходу, чтобы заставить вход быть в состоянии HIGH, если ничего не подключено к линии. Функция digitalWrite(pin_number,value): Эта функция записывает цифровое значение в регистр линии. Аргумент pin_number определяет номер этой линии, а value это выходное значение, то есть HIGH или LOW. Функция digitalRead(pin_number): Эта функция считывает цифровое значение с линии под номером pin_number. Она возвращает одно из двух значений: HIGH или LOW.
В этом эксперименте мы будем включать и выключать светодиод с помощью цифрового выхода Arduino с использованием задержки. Схема подключения светодиода к Arduino показана ниже. Как показано на рисунке, светодиод подключается к цифровому выводу 8 платы Arduino Uno через резистор 220 Ом. Резистор ограничивает ток, протекающий через светодиод. В приведенной ниже программе сначала вывод 8 настраивается на выход OUTPUT, а затем устанавливает в состояние HIGH в течение 1000 мс, а затем в LOW в течение еще 1000 мс. Как показано на рисунке, светодиод подключается к цифровому выводу 8 платы Arduino Uno через резистор 220 Ом. Резистор ограничивает ток, протекающий через светодиод. В приведенной ниже программе сначала вывод 8 настраивается на выход OUTPUT, а затем устанавливает в состояние HIGH в течение 1000 мс, а затем в LOW в течение еще 1000 мс. Эксперимент 2: управляем светодиодом нажатием кнопки Этот эксперимент не только демонстрирует, как использовать цифровой выход, но и цифровой вход. При нажатии кнопки, подключенной к цифровому входу, включается или выключается светодиод. В программе используются функции digitalWrite() и digitalRead(). Схема подключения представлена ниже. Как видно из рисунка выше, мы теперь используем два цифровых ввода-вывода Arduino. Светодиод подключается к контакту 8, который сконфигурирован как OUTPUT. К контакту 9 подключена кнопка, которая настроена как INPUT. Когда кто-то нажимает этот кнопочный выключатель, контакт 9 устанавливается в HIGH, и программа затем устанавливает вывод 8 в HIGH и включает светодиод. Отпускание кнопки сбрасывает вывод 9 в LOW. Затем программа устанавливает вывод 8 в LOW, что отключает светодиод. Код (скетч) представлен ниже. const int led = 8; const int button = 9; void setup() { pinMode(led,OUTPUT); pinMode(button,INPUT); } void loop() { int reads = digitalRead(button); digitalWrite(led,reads); } Download 145.61 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling