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 позволяет формировать сигнал широтно-импульсной модуляции, что мы используем далее в этой главе.

2.2.1. Работа с макетной платой

Рассмотрим, что такое макетная плата и как эффективно использовать ее для проектов из этой книги. Макетная плата - удобный инструмент для экспериментов, позволяющий легко собирать простые схемы без изготовления печатных плат и пайки. С двух сторон по всей длине макетной платы расположены красные и синие

- 44 -

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

Шина питания Шина заземления (общая шина)

Шина питания Шина заземления (общая шина)

Область для установки элементов

Рис. 2.1. Электрические соединения макетной платы

2.3. Подсоединение светодиодов


Светодиоды почти наверняка будут одними из наиболее часто используемых деталей в проектах из данной книги. Подключая светодиоды, необходимо соблюдать правильную полярность. Положительный вывод светодиода называется анодом, отрицательный - катодом. Определить назначение контактов светодиода можно визуально: вывод катода короче, чем анода.

Ток через светодиод течет только в одном направлении: от анода к катоду. Поскольку ток протекает от положительного полюса к отрицательному, анод светодиода следует подключить к источнику тока (цифровой выход +5 В), а катод к земле. Резистор может быть подключен последовательно с любым из выводов светодиода. Полярность подключения для резисторов не важна.

- 45 -

Подключать светодиод к контакту 9 Arduino нужно последовательно с резистором, который выступает в качестве ограничителя тока. Чем больше сопротивление резистора, тем сильнее он ограничивает ток. В этом примере мы применим резистор номиналом 220 Ом. Монтажная схема изображена на рис. 2.2.

Рис. 2.2. Подключение светодиода к плате Arduino Uno

2.3.1. Закон Ома и формула для расчета мощности


Самая главная формула для любого инженера-электрика - это закон Ома, который определяет соотношение между напряжением (измеряется в вольтах), током (измеряется в амперах) и сопротивлением (измеряется в Омах) в цепи. Схема представляет собой замкнутый контур с источником электрической энергии ( например, батареей 9 В) и нагрузкой (чем-то, что расходует энергию, как светодиод). Прежде всего, важно понять физический смысл каждого термина: