На главную страницу | Новости | FAQ | Ссылки | Для детей | Контакты

ARDUINO ROBOTS
Arduino для начинающих электронщиков. Модули и проекты на базе Arduino. Разработка роботов


ВВОД-ВЫВОД на Arduino


Рассмотрены различные режимы работы выводов платы Arduino и функции языка C++ для работы с этими выводами (пинами)

ВВОД-ВЫВОД


pinMode(pin, mode); -- установка вывода pin на вход (INPUT) либо выход (OUTPUT)

По умолчанию цифровые выводы в Arduino предустановлены на вход, так что их нет нужды явно объявлять как INPUT с помощью pinMode().

Выводы, сконфигурированные как INPUT, подразумеваются в состоянии с высоким импедансом (сопротивлением).

Если на порт ввода не поступает сигнал, то рекомендуется задать порту известное состояние. Это делается добавлением подтягивающих резисторов 10 кОм, подключающих вход либо к питанию +5 В, либо к земле.

Микроконтроллер ATmega имеет программируемые встроенные подтягивающие резисторы 20 кОм. Программирование данных резисторов осуществляется так:

pinMode(pin, INPUT); 	// назначить выводу пот ввода (	)
digitalWrite(pin, HIGH); 	// включить подтягивающий резистор

Выводы, сконфигурированные как порты вывода находятся в низкоимпедансном состоянии. Данные выводы могут пропускать через себя достаточно большой ток. Выводы микросхемы ATmega могут быть источником тока до 40 мА.

digitalRead(pin) -- Считывает значение заданного цифрового вывода (pin) и возвращает результат HIGH (=1) или LOW (=0). Вывод должен быть задан либо как переменная, либо как константа (0-13).

digitalWrite(pin, value); -- задает либо логический уровень HIGH, либо LOW (включает или выключает) на заданном цифровом выводе pin.

Пример:

int pinLED = 2;
void setup() {               
  // Инициализируем цифровой вход/выход в режиме выхода.
  pinMode(pinLED, OUTPUT);   
}
void loop() {
  digitalWrite(pinLED, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(pinLED, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
}

Аналоговые входы


analogRead(pin) -- cчитывает значение из заданного аналогового входа (pin) с 10-битовым разрешением. Эта функция работает только на аналоговых портах (0-5). Результирующее целое значение находится в диапазоне от 0 до 1023.

Аналоговые выводы не похожи на цифровые, и нет необходимости предварительно объявлять их как INPUT или OUTPUT (если только вы не планируете использовать их в качестве цифровых портов 14-18).

analogWrite(pin, value) , где value=0-255, -- записывает псевдо-аналоговое значение, используя схему с широтно-импульсной модуляцией (ШИМ, PWM), на выходной вывод, помеченный как PWM. На новом модуле Arduino с ATmega168 (328), эта функция работает на выводах 3.

Аналоговые пины как цифровые


Аналоговые входы (номера от 14 до 19) также могут использоваться как цифровые выводы портов ввода/вывода:

pinMode(14, OUTPUT);
digitalWrite(14, HIGH);

Выводы аналоговые входов имеют подтягивающие резисторы работающие как на цифровых выводах. Включение резисторов производится командой

digitalWrite(14, HIGH); // включить резистор на выводе аналогового входа 0

пока вывод работает как порт ввода.

После работы аналогового входа в цифровом режиме может потребоваться настроить паузу между чтением функцией analogRead() других входов.

Питание Arduino:


Выводы питания:

1) VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.

Входное напряжение (рекомендуемое): 7-12 В.

Входное напряжение (предельное): 6-20 В.

2) 5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.

Ограничения на допустимый ток:


Постоянный ток через вход/выход 40 мА

Постоянный ток для вывода 3.3 В 50 мА




Платы ARDUINO по низкой цене

Нажми на изображение, чтобы заказать в интернет-магазине:


arduino NANO купить дешево arduino UNO купить дешево arduino UNO R3 ORIG купить дешево arduino MEGA купить дешево arduino DUE купить дешево



Now 19.04.24 11:38:47, Your IP: 18.189.170.17; arduino.zl3p.com/basic/input-output
ePN