Урок 1. Цифровые выводы

Опубликовано 06.07.2014 13:29:00


На наш взгляд, первое, с чего можно начать знакомство с платформой Arduino это её цифровые выводы. Они нам пригодятся для подключения различной периферии: светодиоды, реле модули и т.п

На плате Arduino UNO их 14 (D0-D13). Они могут работать как входы, как выходы и как выходы с поддержкой ШИМ. 

 

Конфигурация выводов как вход либо выход задается в void setup

  // Инициализируем цифровой pin 3 как выход
  pinMode(3, OUTPUT);
  // Инициализируем цифровой pin 3 как вход   
  pinMode(3, INPUT);
 

 

1) Цифровые выходы

После конфигурации цифрового вывода как выхода, мы можем придать ему два значения:

  // Устанавливает высокий уровень напряжения на 3 пине  
  digitalWrite(3, HIGH);  
  // Устанавливает низкий уровень напряжения на 3 пине
  digitalWrite(3, LOW);    

 

При высоком уровне выход  работает как "источник питания" с напряжением 5 Вольт, при низком же уровне выход соединяется с землей МК. В двух этих режимах порт может выдать либо принять ток до 40мА. Это позволит подключать к плате Arduino маломощные нагрузки. При превышении тока в 40мА может выгореть либо отдельно порт, либо весь камень.

 

 
Пример на практике

 

2) Цифровые выходы с поддержкой ШИМ

ШИМ (Широтно-Импульсная Модуляция) или PWM (Pulse Width Modulation) представляет собой программное, завязанное на внутренний таймер контроллера, чередование высокого и низкого уровней на порту контроллера с задаваемой скважностью. ШИМ это очень полезная штука, которая пригодится для регулирования яркости светодиодов либо управления скоростью вращения моторов (Более подробно что такое ШИМ).

Не все цифровые выводы имеют поддержку ШИМ. У Arduino UNO их 6 (D3, D5, D6, D9, D10, D11). У других плат количество может отличаться. Смотрите в спецификации.

В программном коде скважность задается числом от 0(min) до 255(max)

  // Устанавливает ШИМ сигнал на 3 пине со скважностью 150  
  analogWrite(3, 150);   

 

 
Пример на практике

 

3) Цифровые входы 

Как уже говорилось, цифровые выводы могут использоваться как входы. Самым ярким примером использования данной возможности является подключение кнопки. Чтение производится функцией.

  // Считываем значение с цифрового порта 4 
  digitalRead(4); 

 

В ответ получаем значения HIGH или LOW

Если к считываемому порту ничего не подключено, то функция digitalRead () может беспорядочно возвращать значения HIGH или LOW. Во избежание ложных срабатываний, входы необходимо подтягивать резистором 10-20кОм. При замыкании кнопки на землю - подтягивать к питанию, при замыкании на питание - к земле.

 

 
Пример на практике

 

Читать ранее:

•  Урок 0. Монитор порта

 

Читать далее:

•  Урок 2. Аналоговые входы


А как же комментарии?