Изучаем Arduino: инструметы и методы технического волшебства - [7]

Шрифт
Интервал

5 - цифровые контакты Arduino могут быть запрограммированы на ввод или вывод. Сконфигурировать их направление позволяет команда pinMode(), имеющая два параметра, указанных в круглых скобках. Первый параметр pinMode определяет номер контакта. Поскольку переменная led уже назначена ранее в программе, конфигурация задается для контакта 13. Второй параметр устанавливает направление контакта: INPUT (вход) или OUTPUT (выход). По умолчанию все контакты настроены на ввод. Чтобы сконфигурировать их на вывод, следует явно указать значение этого параметра OUTPUT. Поскольку нам нужно управлять светодиодом, контакт 13 должен быть выходом. Настройка конфигурации контакта сохраняется до тех пор, пока вы не измените его назначение на ввод.

6 - вторая обязательная функция во всех программах Arduino - loop(). Это оператор цикла.

7 - функция digitalWrite() устанавливает состояние выходного контакта: 5 или 0 В. Если светодиод подсоединен к контакту через резистор, то установка значения логической "1" позволит зажечь светодиод (вы узнаете больше об этом в следующей главе). Первый параметр функции digitalWrite() - номер контакта, которым требуется управлять. Второй параметр - значение, которое нужно задать: HIGH (5 В) или LOW (0 В). Контакт остается в этом состоянии, пока не будет изменен следующей командой digitalWrite().

8 - функция delay() имеет один аргумент - время задержки выполнения программы в миллисекундах. При вызове delay() Arduino останавливает выполнение программы на определенный интервал времени. В нашем примере задержка равна 1000 мс ( 1 с). Это приводит к свечению светодиода в течение одной секунды до выполнения следующей команды.

9- здесь вызвана функция digitalWrite(), чтобы выключить светодиод, устанавливая состояние контакта в LOW.

10 - снова делаем задержку на одну секунду, чтобы светодиод был погашен перед повторением цикла.

- 41 -

Вот и все. Не расстраивайтесь, если вы еще не полностью понимаете код программы. В следующих главах мы рассмотрим больше примеров, процесс выполнения программы станет понятнее, и вы сможете написать собственный код.

Резюме

В этой главе вы узнали о следующем:

• Из каких компонентов состоит плата Arduino.

• Как загрузчик Arduino позволяет запрограммировать плату Arduino через интерфейс USB.

• Каковы различия между основными платами Arduino.

• Как установить Arduino IDE и соединить плату Arduino с компьютером.

• Как загрузить и выполнить первую программу.

ГЛАВА 2 Цифровые контакты ввода-вывода шиотно-импульсная модуляция


Список деталей

Для повторения примеров главы понадобятся следующие детали:

• плата Arduino Uno;

• макетная плата;

• перемычки;

• 1 резистор номиналом 10 кОм;

• 3 резистора номиналом 220 Ом;

• кабель USB;

• кнопка;

• одноцветный светодиод 5 мм;

• RGB-светодиод 5 мм с общим катодом.

Электронные ресурсы к главе

На странице http://www.exploringarduino.com/content/ch2 можно загрузить код программ, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.

Что вы узнаете в этой главе

Проект с мигающим светодиодом, рассмотренный в предыдущей главе, скорее игрушка, чем полезное устройство. Действительно привлекательной для разработчиков делает платформу Arduino наличие контактов ввода-вывода. К плате можно подключить, например, геркон, и при открытии двери проигрывать какую-либо мелодию или создать электронный сейф, или несложный музыкальный инструмент.

В этой главе вы приступите к разработке новых проектов: познакомитесь с возможностями цифровых входов Arduino, узнаете о подтягивающих (pull-up) и стягивающих (pull-down) резисторах и научитесь управлять цифровыми выходами.

- 43 -

У большинства плат Arduino нет аналоговых выходов, но их можно эмулировать с помощью широтно-импульсной модуляции (ШИМ). Далее мы расскажем, как сформировать ШИМ-сигнал. Прочитав главу, вы сможете создать ночник на RGB-светодиоде.

ПРИМЕЧАНИЕ

Видеоурок данной главы можно посмотреть на интернет-странице

http://www.jeremyblum.com/2011/01/10/arduino-tutorial-2-now-with-more-blinky-things/[5].

Если вы захотите узнать больше о некоторых аспектах электротехники, затронутых в этой главе, то посмотрите видеофильм, расположенный на интернет-странице

http://www.jeremyblum.com/2011 /01 /17 /electrical-engineering-basics-in-arduinotutorial-3/[6].

2.1. Цифровые контакты


В главе 1 вы узнали, как заставить мигать светодиод, подключенный к цифровому контакту. Продолжим изучать возможности цифровых выходов Arduino и рассмотрим следующие темы:

• конфигурирование назначения цифровых выводов;

• подключение внешних компонентов;

• новые концепции программирования циклов и констант;

• различие между цифровыми и аналоговыми выходами;

• широтно-импульсная модуляция (ШИМ).

2.2. Подключение внешнего светодиода


Мигающий светодиод из предыдущего примера был встроен в плату Arduino.

Теперь настало время выйти за пределы платы и соединить ее контакт 9 с внешним светодиодом. Этот простой пример поможет вам понять, как собирать более сложные внешние цепи, описанные в следующих главах. Более того, контакт 9 Arduino позволяет формировать сигнал широтно-импульсной модуляции, что мы используем далее в этой главе.