Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Практическая энциклопедия Arduino

Покупка
Артикул: 714363.02.99
Доступ онлайн
449 ₽
В корзину
В книге обобщаются данные по основным компонентам конструкций на основе платформы Arduino, которую представляет самая массовая на сегодняшний день версия ArduinoUNO или аналогичные ей многочисленные клоны. Книга представляет собой набор из 33 глав-экспериментов. В каждом эксперименте рассмотрена работа платы Arduino c определенным электронным компонентом или модулем, начиная с самых простых и заканчивая сложными, представляющими собой самостоятельные специализированные устройства. В каждой главе представлен список деталей, необходимых для практического проведения эксперимента. Для каждого эксперимента приведена визуальная схема соединения деталей в формате интегрированной среды разработки Fritzing. Она дает наглядное и точное представление - как должна выглядеть собранная схема. Далее даются теоретические сведения об используемом компоненте или модуле. Каждая глава содержит код скетча (программы) на встроенном языке Arduino с комментариями. В конце каждой главы содержатся ссылки для скачивания скетчей с сайта http://arduino-kit.ru, дополнительных программ, а также на видеоурок данного эксперимента.
Петин, В. А. Практическая энциклопедия Arduino : практическое руководство / В. А. Петин, А. А. Биняковский. - 2-е изд., доп. - Москва : ДМК Пресс, 2020. - 166 с. - ISBN 978-5-97060-798-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/2009664 (дата обращения: 06.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ПРАКТИЧЕСКАЯ ЭНЦИКЛОПЕДИЯ 
ARDUINO

Москва, 2020

Петин В. А., Биняковский А. А.

Издание второе, дополненное

УДК 681.4:004.9Arduino
ББК 32.816с515+32.965с515
 
П29

 
Петин В. А., Биняковский А. А.
П29 Практическая энциклопедия Arduino. 2-е изд., доп. – М.: ДМК 
Пресс, 2020. – 166 с.

ISBN 978-5-97060-798-5

В книге обобщаются данные по основным компонентам конструк-
ций на основе платформы Arduino, которую представляет самая 
массовая на сегодняшний день версия ArduinoUNO или аналогич-
ные ей многочисленные клоны. Книга представляет собой набор из 
33 глав-экспериментов. В каждом эксперименте рассмотрена рабо-
та платы Arduino c определенным электронным компонентом или 
модулем, начиная с самых простых и заканчивая сложными, пред-
ставляющими собой самостоятельные специализированные устрой-
ства. В каждой главе представлен список деталей, необходимых для 
практического проведения эксперимента. Для каждого эксперимента 
приведена визуальная схема соединения деталей в формате интегри-
рованной среды разработки Fritzing. Она дает наглядное и точное 
представление – как должна выглядеть собранная схема. Далее дают-
ся теоретические сведения об используемом компоненте или модуле. 
Каждая глава содержит код скетча (программы) на встроенном языке 
Arduino с комментариями. В конце каждой главы содержатся ссылки 
для скачивания скетчей с сайта http://arduino-kit.ru, дополнитель-
ных программ,  а также на видеоурок данного эксперимента.

УДК 681.4:004.9Arduino
ББК 32.816с515+32.965с515

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

 
© ООО ЭМБИТЕХ Групп, 2020
ISBN 978-5-97060-798-5 
© Оформление, ДМК Пресс, 2020

СОДЕРЖАНИЕ

Что такое Arduino .................................................................................................5
Установка Arduino IDE .......................................................................................8
1 
Светодиод. Мигаем светодиодом  .........................................................12
2. 
Кнопка. Обрабатываем нажатие кнопки на примере  
зажигания светодиода. Боремся с дребезгом ....................................15
3 
Потенциометр. Показываем закон Ома на примере яркости  
светодиода  ....................................................................................................20
4 
Светодиодная шкала 10 сегментов. Крутим потенциометр,  
меняем количество светящихся светодиодов  ..................................23
5 
RGB-светодиод. Широтно-импульсная модуляция.  
Переливаемся цветами радуги  ...............................................................28
6 
Семисегментный индикатор одноразрядный. Выводим цифры .....33
7 
Матрица 4-разрядная из 7-сегментных индикаторов.  
Делаем динамическую индикацию ..........................................................36
8 
Микросхема сдвигового регистра 74НС595. Управляем  
матрицей из 4 разрядов, экономим выводы Ардуино ...................42
9 
Матрица светодиодная 8x8 .....................................................................46
10 Пьезоизлучатель. Управляем пьезоизлучателем: меняем  
тон, длительность, играем Имперский марш....................................49
11 Транзистор MOSFET. Показываем усилитель ные качества  
транзистора. На примере электродвигателя изменяем  
обороты ..........................................................................................................54
12 Реле. Управляем реле через транзистор  ............................................57
13 Фоторезистор. Обрабатываем освещенность, зажигая  
или гася светодиоды ..................................................................................61
14 Датчик температуры аналоговый LM335. Принцип работы,  
пример работы .............................................................................................65
15 Индикатор LCD1602. Принцип подключения, вывод  
информации на него ..................................................................................68
16 Графический индикатор на примере Nokia 5110  ............................72
17 Сервопривод. Крутим потенциометр, меняем положение  .........76
18 Джойстик. Обрабатываем данные от джойстика.  
Управление Pan/Tilt Bracket с помощью джойстика ....................80
19 Шаговый двигатель 4-фазный, с управлением  
на ULN2003 (L293) ....................................................................................84
20 Датчик температуры DS18B20 ..............................................................88
21 Датчик влажности и температуры DHT11 ........................................92

СОДЕРЖАНИЕ
4

22 Датчики газов. Принцип работы, пример работы ...........................96
23 Ультразвуковой датчик расстояния HC-SR04. Принцип  
работы, подключение, пример ...............................................................99
24 3-осевой гироскоп + акселерометр на примере GY-521 ............ 103
25 ИК-фотоприемник и ИК-пульт. Обрабатываем команды  
от пульта ..................................................................................................... 106
26 Часы реального времени. Принцип работы, подключение,  
примеры ...................................................................................................... 110
27 SD-карта. Чтение и запись данных ................................................... 116
28 Считыватель RFID на примере RC522. Принцип работы,  
подключение, примеры ............................................................................ 120
29 Работа с Интернетом на примере Arduino Ethernet  
shield W5100 .............................................................................................. 126
30 Беспроводная связь. Модуль Wi-Fi ESP8266 ............................... 131
31 Беспроводная связь. Модуль Bluetooth HC-05 ............................ 137
32 Беспроводная связь. Модуль GSM/GPRS SIM900 .................... 142
33 Модуль GPS. Принцип работы, подключение, примеры .......... 147
Встроенные функции языка Arduino ........................................................ 152

Что такое Arduino

Arduino – это электронный конструктор и удобная платформа быст-
рой разработки электронных устройств для новичков и профессио-
налов. Платформа пользуется огромной популярностью во всем ми-
ре благодаря удобству и простоте языка программирования, а также 
открытой архитектуре и программному коду. Плата Arduino состо-
ит из микроконтроллера Atmel AVR и элементов обвязки для про-
граммирования и интеграции с другими схемами. На многих платах 
присутствует линейный стабилизатор напряжения +5 В или +3,3 В. 
Тактирование осуществляется на частоте 16 или 8 МГц кварцевым 
резонатором (в некоторых версиях – керамическим резонатором). 
В микроконтроллер предварительно прошивается загрузчик Boot-
Loader, поэтому внешний программатор не нужен. Устройство про-
граммируется через USB без использования программаторов.
Существует несколько версий платформ Arduino. Версия Leonar-
do базируется на микроконтроллере ATmega32u4. Uno, Nano, Duemi-
lanove построены на микроконтроллере Atmel ATmega328. Старые 
версии платформы Diecimila и первая рабочая Duemilanoves были 
разработаны на основе Atmel ATmega168. Arduino Mega2560, в свою 
очередь, построена на микроконтроллере ATmega2560. А самые по-
следние версии Arduino Due – на базе микропроцессора Cortex. 
Версия UNO (рис. 1) является одной из самых популярных и ши-
роко иcпользуемой для небольших проектов. 

Рис. 1. Плата Arduino UNO

Практическая энциклопедия Arduino
6

Характеристики платы Arduino UNO показаны в табл. 1.1.

Таблица 1.1

Микроконтроллер
ATmega328
Рабочее напряжение
5 В
Напряжение питания (рекомендуемое)
7–12 В
Напряжение питания (предельное)
6–20 В
Цифровые входы/выходы
14 (из них 6 могут использоваться 
в качестве ШИМ-выходов)
Аналоговые входы
6
Максимальный ток одного вывода
40 мА
Максимальный выходной ток вывода 3.3 В
50 мА
Flash-память
32 КБ (ATmega328), из которых 
0,5 КБ используются загрузчиком
SRAM
2 КБ (ATmega328)
EEPROM
1 КБ (ATmega328)
Тактовая частота
16 МГц

Каждый из 14 цифровых выводов может работать в качестве 
входа или выхода. Уровень напряжения на выводах ограничен 5 В. 
Максимальный ток, который может отдавать или потреблять один 
вывод, составляет 40 мА. Все выводы сопряжены с внутренними 
подтягивающими резисторами (по умолчанию отключенными) но-
миналом 20–50 кОм. Помимо этого, некоторые выводы Ардуино 
могут выполнять дополнительные функции:

 
• последовательный интерфейс: выводы 0 (RX) и 1 (TX);

 
• внешние прерывания: выводы 2 и 3;

 
• ШИМ: выводы 3, 5, 6, 9, 10 и 11 могут выводить 8-битные 
аналоговые значения в виде ШИМ-сигнала;

 
• интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 
(SCK); 

 
• светодиод: 13. Встроенный светодиод, подсоединенный к вы-
воду 13. 
В Arduino Uno есть 6 аналоговых входов (A0–A5), каждый из 
которых может представить аналоговое напряжение в виде 10-бит-
ного числа (1024 различных значения). По умолчанию измерение 
напряжения осуществляется относительно диапазона от 0 до 5 В. 
Тем не менее верхнюю границу этого диапазона можно изменить, 
используя вывод AREF и функцию analogReference(). Некоторые 
из аналоговых входов имеют дополнительные функции:

Что такое Arduino
7

 
• TWI: вывод A4 или SDA и вывод A5 или SCL.
В Arduino Uno есть восстанавливаемые предохранители, защища-
ющие USB-порт компьютера от коротких замыканий и перегрузок. 
Несмотря на то что большинство компьютеров имеют собственную 
защиту, такие предохранители обеспечивают дополнительный уро-
вень защиты. Если от USB-порта потребляется ток более 500 мА, 
предохранитель автоматически разорвет соединение до устранения 
причин короткого замыкания или перегрузки.

Установка Arduino IDE

Разработка собственных приложений на базе плат, совместимых 
с архитектурой Arduino, осуществляется в официальной бесплатной 
среде программирования Arduino IDE. Среда предназначена для на-
писания, компиляции и загрузки собственных программ в память 
микроконтроллера, установленного на плате Arduino-совместимого 
устройства. Основой среды разработки является язык Proces sing/
Wiring – это фактически обычный C++, дополненный просты-
ми и понятными функциями для управления вводом/выводом на 
контактах. Существуют версии среды для операционных систем 
Windows, Mac OS и Linux.
Последнюю версию среды Arduino можно скачать со страницы 
загрузки официального сайта http://arduino.cc/en/Main/Software.
Рассмотрим установку Arduino IDE на компьютере с операци-
онной системой Windows. Отправляемся на страницу http://arduino.
cc/en/Main/Software, выбираем версию для операционной системы 
Windows и скачиваем архивный файл. Он содержит все необходи-
мое, в том числе и драйверы. По окончании загрузки распаковываем 
скачанный файл в удобное для себя место.
Теперь необходимо установить драйверы. Подключаем Arduino 
к компьютеру. На контроллере должен загореться индикатор пи-
тания – зеленый светодиод. Windows начинает попытку установки 
драйвера, которая заканчивается сообщением «Программное обе-
спечение драйвера не было установлено». Открываем Диспетчер 
устройств. В составе устройств находим значок Arduino Uno – 
устройство отмечено восклицательным знаком. Щелкаем правой 
кнопкой мыши на значке Arduino Uno и в открывшемся окне вы-
бираем пункт Обновить драйверы и далее пункт Выполнить поиск 
драйверов на этом компьютере. Указываем путь к драйверу – ту 
папку на компьютере, куда распаковывали скачанный архив. Пусть 
это будет папка drivers каталога установки Arduino – например,  
C:\arduino-1.0\drivers. Игнорируем все предупреждения Windows 
и получаем в результате сообщение Обновление программного обе-
спечения для данного устройства завершено успешно. В заголовке 
окна будет указан и COM-порт, на который установлено устройство. 
Теперь можно запускать Arduino IDE. 
Среда разработки Arduino (см. рис. 2) состоит из:

 
• редактора программного кода;

 
• области сообщений;

Установка Arduino IDE
9

 
• окна вывода текста;

 
• панели инструментов с кнопками часто используемых команд;

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

Рис. 2. Среда Arduino IDE

Практическая энциклопедия Arduino
10

Разрабатываемым скетчам дополнительная функциональность 
может быть добавлена с помощью библиотек, представляющих 
собой специальным образом оформленный программный код, ре-
ализующий некоторый функционал, который можно подключить 
к создаваемому проекту. Специализированных библиотек существу-
ет множество. Обычно библиотеки пишутся так, чтобы упростить 
решение той или иной задачи и скрыть от разработчика детали про-
граммно-аппаратной реализации. Среда Arduino IDE поставляется 
с набором стандартных библиотек. Они находятся в подкаталоге 
libraries каталога установки Arduino. Необходимые библиотеки мо-
гут быть также загружены с различных ресурсов. Если библиотека 
установлена правильно, то она появляется в меню Эскиз | Импорт 
библиотек. Выбор библиотеки в меню приведет к добавлению в ис-
ходный код строчки

#include <имя библиотеки.h>

Эта директива подключает заголовочный файл с описанием объ-
ектов, функций и констант библиотеки, которые теперь могут быть 
использованы в проекте. Среда Arduino будет компилировать соз-
даваемый проект вместе с указанной библиотекой.
Перед загрузкой скетча требуется задать необходимые параметры 
в меню Инструменты | Плата (Tools | Board) (рис. 3) и Инструмен-
ты | Последовательный порт (рис. 4).
Современные платформы Arduino перезагружаются автомати-
чески перед загрузкой. На старых платформах необходимо нажать 
кнопку перезагрузки. На большинстве плат во время процесса за-
грузки будут мигать светодиоды RX и TX.
При загрузке скетча используется загрузчик (bootloader) Ardui-

no – небольшая программа, загружаемая в микроконтроллер на пла-
те. Она позволяет загружать программный код без использования 
дополнительных аппаратных средств. Работа загрузчика распозна-
ется по миганию светодиода на цифровом выводе D13.
Монитор последовательного порта (Serial Monitor) отображает 
данные, посылаемые в платформу Arduino (плату USB или плату 
последовательной шины). 
Теперь, когда мы немного узнали об Arduino и среде программи-
рования Arduino IDE, перейдем к практическим занятиям – экс-
периментам.

Установка Arduino IDE
11

Рис. 3. Выбор Arduino платы

Рис. 4. Выбор порта подключения платы Arduino

Светодиод.  
Мигаем светодиодом 
1

В этом эксперименте мы научимся управлять светодиодом. Заста-
вим его мигать.
Необходимые компоненты:

 
• контроллер Arduino UNO; 

 
• плата для прототипирования;

 
• светодиод;

 
• резистор 220 Ом;

 
• провод папа-папа.
Светодиод – это полупроводниковый прибор, преобразую-
щий электрический ток непосредственно в световое излучение. 
По-английски светодиод называется light emitting diode, или LED. 
Цветовые характеристики светодиодов зависят от химического со-
става использованного в нем полупроводника. Светодиод излучает 
в узкой части спектра, его цвет чист, что особенно ценят дизайне-
ры. Светодиод механически прочен и исключительно надежен, его 
срок службы может достигать 100 тысяч часов, что почти в 100 раз 
больше, чем у лампочки накаливания, и в 5–10 раз больше, чем 
у люминесцентной лампы. Наконец, светодиод – низковольтный 
электроприбор, а стало быть, безопасный. 
Светодиоды поляризованы, имеет значение, в каком направлении 
подключать их. Положительный вывод светодиода (более длинный) 
называется анодом, отрицательный – катодом. Как и все диоды, 
светодиоды позволяют току течь только в одном направлении – от 
анода к катоду. Поскольку ток протекает от положительного к отри-
цательному, анод светодиода должен быть подключен к цифровому 
сигналу 5 В, а катод должен быть подключен к земле.
Мы будем подключать светодиод к цифровому контакту D10 Ar-

duino последовательно с резистором. Светодиоды должны быть всегда 
соединены последовательно с резистором, который выступает в каче-
стве ограничителя тока. Чем больше значение резистора, тем больше 
он ограничивает ток. В этом эксперименте мы используем резистор 
номиналом 220 Ом. Схема подключения приведена на рис. 1.1.
Как подобрать ограничительный резистор и как будет влиять 
номинал резистора на яркость светодиода, мы рассмотрим в экс-
перименте 3.

Доступ онлайн
449 ₽
В корзину