Главная страница

учебник. Бхв, 2020. Isbn 9781119405375 (англ.) Isbn 9785977567367 (рус.) 2020 by John Wiley & Sons, Inc. Перевод на русский язык, оформление. Ооо бхвпетербург, Ооо бхв, 2020


Скачать 1.9 Mb.
НазваниеБхв, 2020. Isbn 9781119405375 (англ.) Isbn 9785977567367 (рус.) 2020 by John Wiley & Sons, Inc. Перевод на русский язык, оформление. Ооо бхвпетербург, Ооо бхв, 2020
Анкоручебник
Дата11.12.2022
Размер1.9 Mb.
Формат файлаpdf
Имя файлаB-BHV-6735-part.pdf
ТипКнига
#838435
страница2 из 8
1   2   3   4   5   6   7   8
Глава 6. Работаем со звуком .................................................... 169
Что вы узнаете из этой главы................................................................................169
Принцип работы динамика ...................................................................................170
Свойства звука ...................................................................................................170
Как динамик воспроизводит звук .............................................................172
Генерация звуков с помощью функции tone() ..............................................173
Подключение файла сопоставления нот частотам............................173
Сборка схемы с динамиком ..........................................................................175
Создание звуковых последовательностей ............................................177
Ограничения функции tone() ......................................................................181
Миниатюрное пианино ...........................................................................................181
Резюме ............................................................................................................................184
Глава 7. Последовательный интерфейс USB ........................ 185
Что вы узнаете из этой главы................................................................................185
Возможности последовательного обмена данными платформы Arduino ..................................................................................................186
Использование встроенной или внешней микросхемы преобразователя USB/RS-232 компании FTDI или Silicon Laboratories ...................................................................................187
Платы Arduino с дополнительным микроконтроллером
ATmega в качестве преобразователя USB/RS-232 ..............................190
Платы Arduino с основным микроконтроллером, поддерживающим интерфейс USB............................................................191
Платы Arduino с возможностями USB-хоста .........................................192

Оглавление
14
Прием данных от Arduino на компьютере ......................................................192
Использование команды print() .................................................................192
Специальные символы ...................................................................................194
Изменение представления типов данных .............................................196
Передача данных с компьютера на плату Arduino .....................................196
Настройка монитора порта для отправки команд ............................196
Получение данных, отправляемых с компьютера или другого устройства через последовательный интерфейс ..............................197
Взаимодействие с компьютерной программой ..........................................206
Установка Processing ........................................................................................207
Управление приложением Processing посредством платы Arduino......................................................................................................208
Передача скетчем Processing данных на плату Arduino .................211
Резюме ............................................................................................................................214
Глава 8. Эмуляция USB-устройств........................................... 215
Что вы узнаете из этой главы................................................................................215
Эмуляция клавиатуры .............................................................................................217
Ввод данных в компьютер .............................................................................217
Управление компьютером с платы Arduino ..........................................221
Эмуляция мыши ..........................................................................................................223
Резюме ............................................................................................................................227
Глава 9. Сдвиговые регистры .................................................. 229
Что вы узнаете из этой главы................................................................................229
Что такое сдвиговый регистр ...............................................................................230
Параллельная и последовательная передача данных ....................231
Использование микросхемы сдвигового регистра 74HC595 .......232
Загрузка в сдвиговый регистр данных с платы Arduino ..................235
Преобразования между двоичным и десятичным форматом .....238
Световая анимация с помощью сдвигового регистра .............................239
Эффект «бегущего» светодиода ..................................................................239
Гистограмма для реагирования на изменение входных условий ...............................................................................................241
Резюме ............................................................................................................................244
Часть III. Интерфейсы для обмена данными ...................... 245
Глава 10. Шина I
2
C ........................................................................ 247
Что вы узнаете из этой главы................................................................................247
История создания протокола I
2
C ........................................................................248
Схема подключения устройств I
2
C .....................................................................249

Оглавление
15
Взаимодействие и идентификация устройств .....................................250
Аппаратные требования и повышающие резисторы ......................252
Как правильно выбрать номинал повышающего резистора .......253
Взаимодействие с термодатчиком по шине I
2
C ...........................................255
Сборка схемы устройства .............................................................................255
Использование информации из справочного листка датчика TC74 ........................................................................................................257
Программа для опроса датчика TC74 ......................................................259
Совместное использование сдвиговых регистров, последовательного интерфейса и шины I
2
C ..................................................262
Собираем систему мониторинга температуры ...................................262
Модифицируем скетч Arduino ....................................................................263
Создаем скетч Processing ...............................................................................265
Резюме ............................................................................................................................269
Глава 11. Шина SPI и библиотеки
сторонних разработчиков ........................................................ 271
Что вы узнаете из этой главы................................................................................271
Общие сведения о шине SPI ..................................................................................272
Подключение устройств SPI ..................................................................................273
Конфигурация интерфейса SPI ...................................................................274
Протокол передачи данных SPI ..................................................................275
Сравнительные характеристики протоколов SPI, I
2
C и UART ................276
Взаимодействие с SPI-акселерометром ..........................................................277
Что такое акселерометр? ...............................................................................278
Получаем информацию из справочного листка .................................280
Сборка схемы устройства .............................................................................283
Разработка программы ..................................................................................285
Аудиовизуальный музыкальный инструмент на основе трехкоординатного акселерометра ..................................................................292
Сборка схемы устройства .............................................................................292
Модифицируем программу ..........................................................................294
Резюме ............................................................................................................................297
Глава 12. Взаимодействие с жидкокристал ли ческими
дисплеями......................................................................................299
Что вы узнаете из этой главы................................................................................300
Подключение ЖКД к плате Arduino ...................................................................300
Библиотека LiquidCrystal для работы с ЖКД ................................................303
Вывод текста на дисплей ...............................................................................304
Создание специальных символов и анимация ...................................306

Оглавление
16
Создаем термостат ....................................................................................................311
Сборка схемы устройства .............................................................................311
Отображение данных на ЖКД .....................................................................314
Настройка порогового значения температуры с помощью кнопок ............................................................................................317
Код программы для звукового оповещения и управления вентилятором ........................................................................319
Собираем все фрагменты кода в завершенную программу .........320
Совершенству нет предела ..........................................................................325
Резюме ............................................................................................................................326
Часть IV. Прерывания, комбинирование функций
и карты SD ..................................................................................... 327
Глава 13. Прерывания и другие
специальные функции ............................................................... 329
Что вы узнаете из этой главы................................................................................329
Аппаратные прерывания .......................................................................................330
Опрос состояния и прерывания: преимущества и недостатки каждого подхода ...................................................................331
Возможности аппаратных прерываний Arduino ................................333
Схема запуска прерывания кнопкой, оснащенной аппаратной защитой от дребезга ...................................334
Прерывания по таймеру .........................................................................................343
Прерывания по таймеру ................................................................................343
Установка библиотеки TimerOne ...............................................................344
Одновременное исполнение двух задач ...............................................344
Музыкальный инструмент на прерываниях .................................................345
Схема музыкального инструмента ............................................................346
Программа для музыкального инструмента ........................................347
Резюме ............................................................................................................................349
Глава 14. Работа с картами памяти SD .................................. 351
Что вы узнаете из этой главы................................................................................351
Подготовка к регистрации данных ....................................................................352
Файлы данных CSV-формата ........................................................................353
Подготовка SD-карты для записи данных ..............................................353
Сопряжение платы Arduino с SD-картой .........................................................360
Шилды для SD-карт ..........................................................................................360
Интерфейс SPI SD-карт ...................................................................................363
Запись на карточку SD ....................................................................................363

Оглавление
17
Считывание данных с SD-карты..................................................................368
Часы реального времени ..............................................................................372
Общие сведения о часах реального времени .....................................372
Работа с часами реального времени .......................................................374
Регистратор проходов через дверь ..................................................................384
Схема регистратора .........................................................................................384
Программа регистратора ..............................................................................386
Анализ данных ....................................................................................................391
Резюме ............................................................................................................................392
Часть V. Беспроводная связь ................................................... 395
Глава 15. Радиосвязь .................................................................. 397
Что вы узнаете из этой главы................................................................................397
Электромагнитный спектр ....................................................................................398
Радиоспектр .......................................................................................................400
Принципы обмена данными по радиоканалу ......................................402
Передача нажатий кнопки по радиоканалу ..................................................404
Подключение приемника к плате Arduino ............................................404
Программа для работы с радиоприемником.......................................405
Беспроводной дверной звонок ..........................................................................409
Схема приемной стороны звонка .............................................................410
Программа для приемной стороны звонка ..........................................411
Первые шаги на пути к «умному» дому — управление светильником ....................................................................................413
Электричество в доме и офисе ...................................................................415
Принцип работы реле .....................................................................................416
Программа для управления реле ..............................................................418
Подключение реле управления светильником к Arduino ..............420
Резюме ............................................................................................................................422
Глава 16. Беспроводная связь Bluetooth .............................. 423
Что вы узнаете из этой главы................................................................................423
Что такое Bluetooth? .................................................................................................424
Стандарты и версии Bluetooth ....................................................................424
Профили Bluetooth и служба GATT BTLE .................................................425
Установка связи между платой Arduino и смартфоном ...........................427
Считывание датчика через канал BTLE ...................................................427
Передача данных со смартфона по каналу BTLE ................................442
Управление светильником посредством Bluetooth ...................................453
Процедура сопряжения смартфона с устройствами BTLE .............453
Программа для работы с датчиком присутствия ...............................454

Оглавление
18
Сопряжение со смартфоном ........................................................................460
Подключаем вместо светодиода светильник ......................................462
Резюме ............................................................................................................................463
Глава 17. Wi-Fi и облачные хранилища .................................465
Что вы узнаете из этой главы................................................................................465
Работа Arduino в Сети ..............................................................................................466
Сетевая терминология ....................................................................................466
Клиенты и серверы ..........................................................................................470
Arduino с возможностями Wi-Fi ..................................................................470
Управление платой Arduino через Интернет ................................................471
Подготовка оборудования для управления вводом-выводом ...............................................................................................471
Подготовка среды Arduino IDE для работы с платой Feather ........473
Проверяем соответствие библиотеки Wi-Fi прошивке модуля Wi-Fi ...................................................................................475
Программа сервера для платы Arduino ..................................................476
Собираем весь код вместе для создания веб-сервера ....................488
Управление платой Arduino из локальной сети и извне ее ...........493
Взаимодействие с интерфейсом Web-API .......................................................498
Работа с интерфейсом Web-API для получения метеоданных .......................................................................................................499
Вывод полученных данных на дисплей ..................................................512
Резюме ............................................................................................................................523
Приложение. Расшифровка справочных листков
и изучение принципиальных схем ........................................ 525
Работа со справочными листками .....................................................................525
Составные части справочного листка .....................................................525
Цоколевка компонента ..................................................................................529
Изучение принципиальной схемы платы Arduino .....................................532
Предметный указатель .............................................................. 535

Об авторских правах
В
се изображения, значки и надписи на рис. 3.7 и рис. 10.3 принадлежат компании Analog Devices, Inc. (ADI) и защищены авторским правом © с 2019 г. Все права сохраняются. Эти изображения, значки и надписи воспро- изведены с разрешения компании ADI. Воспроизведение, распространение или использование без письменного согласия компании ADI запрещено.
Содержащийся в данной книге материал, охраняемый авторским правом, принадлежащий компании Microchip Technology Incorporated, воспроизве- ден с разрешения. Все права сохраняются. Последующее воспроизведение без предварительного письменного разрешения компании Microchip Technology
Inc. запрещено.
Названия Atmel, AVR, ICSP и In-Circuit Serial Programming являются тор- говыми марками или зарегистрированными торговыми марками компании
Microchip Technology Inc.
Названия Arm и Cortex являются торговыми марками или зарегистриро- ванными торговыми марками компании Arm Limited (или ее дочерних ком- паний) в Соединенных Штатах и/или в любой другой стране. Сопутствующая технология может быть защищенной частично или полностью патентами, авторскими правами, законами о промышленных образцах и законами о коммерческой тайне.

Введение
П
ервое издание этой книги, вышедшее в 2013 году, я открыл следующими словами: «Мы живем в прекрасное время. Я люблю говорить, что мы уже
живем в будущем».
Я думаю, что с таким введением я загнал себя в угол, поскольку если
2013 год был «будущим», тогда я не совсем уверен, как можно называть насто- ящее! Далекое будущее? Очень далекое будущее? Тогда я хотел подчеркнуть этими словами, что в последнее время поступь прогресса была настолько стремительной, что возможности, предоставляемые даже поверхностными знаниями в области встроенных электронных устройств и программного обеспечения, расширяются буквально день ото дня.
Со времени выхода первого издания этой книги доступность электронных устройств и программного обеспечения продолжала повышаться с каждым прошедшим днем. В 2013 году я сомневался, стоит ли включать в книгу гла- ву о подключении рассматриваемых в ней проектов к Интернету, поскольку в то время процесс для этого был довольно непростой. В 2013 году понятие
«Интернет вещей» (IoT
1
) было только начинающей входить в обиход модной фразой в среде фанатов в этой области. Сейчас же это одно из основных вы- ражений глобального языка. Похоже, что в настоящее время любой товар со- держит микроконтроллер. Все вещи стали «умными» и большинство из них также оснащены возможностью телефонной веб-связи. Я готов спорить, что в те времена, когда термин «Bluetooth» ассоциировался только с беспровод- ными наушниками для сотовых телефонов, вы вряд ли могли представить себе, что в недалеком будущем можно будет купить зубную щетку, оснащен- ную возможностью Bluetooth.
Принимая все это во внимание, я чувствовал, что настало время для выпу- ска нового издания книги «Изучаем Arduino». Здесь получили более обшир- ное рассмотрение все темы, содержащиеся в первом издании. Обновлены все проекты добавлением в них новых заданий и подробностей, а также объяснены все проблемные вопросы, которые имелись у читателей первого издания. Но самое главное, в книгу добавлен большой объем нового содер- жимого, включая множество подробностей по беспроводной связи, совре- менному оборудованию для платформы Arduino, изменениям в экосистеме и программном обеспечении Arduino и многое другое.
1
Англ.
Internet of Th
ings.

Введение
22
ПОЧЕМУ ARDUINO?
Доступные в настоящее время инструменты, о многих из которых вы узнаете в этой книге, предоставляют нам возможность и средства, чтобы за- ставить окружающий мир выполнять наши капризы. Еще совсем недавно нельзя было просто взять микроконтроллер и в течение нескольких минут создать устройство на его основе для управления окружающим нас миром.
Микроконтроллер представляет собой программируемую интегральную схему (ИС), которая позволяет управлять работой сложных механических, электрических и программных систем с помощью сравнительно простых команд. Возможности в этом поле безграничны, и платформа микроконтрол- лера Arduino станет вашим любимым инструментом для исследования мира электроники, программирования, взаимодействия человека с компьютером, систем управления и многих других областей. В этой книге вы будете ис- пользовать Arduino для реализации самых разнообразных задач, от опреде- ления движения до создания беспроводных систем управления и связи через
Интернет.
Независимо от вашего уровня опыта в любой технической области, будь то абсолютный новичок или бывалый профессионал, намеревающийся занять- ся разработкой встроенных систем, платформа Arduino будет замечательной начальной точкой. Или, возможно, вам требуется общая информация каса- тельно разработки с использованием платформы Arduino? Эта книга отлич- но подойдет и для этой цели. В ней пошагово рассматриваются несколько от- дельных проектов, но вы сможете легко возвратиться к изложенному ранее материалу, чтобы позаимствовать фрагменты программного кода, изучить лучшие способы решения задач, свериться с принципиальными схемами и др. Знания в области электротехники, системного проектирования и про- граммирования, которые вы приобретете в процессе изучения этой книги, пригодятся вам во множестве других областей за пределами платформы
Arduino и подготовят вас к работе с разнообразными техническими проекта- ми, независимо от того, используют ли они Arduino или какую-либо другую микроконтроллерную платформу.
ДЛЯ КОГО ЭТА КНИГА
Эта книга будет полезной для энтузиастов Arduino с любым уровнем опы- та. Каждая новая глава основана на материале предыдущих, содержит по- нятия и компоненты проектов из них для разработки более сложных идей.
Но не волнуйтесь. При каждой встрече с новыми и сложными идеями пре- доставляются ссылки на первое упоминание соответствующих концепций и конструкционных модулей, чтобы помочь вам освежить свою память.

Введение
23
Предполагается, что читатели этой книги могут не иметь опыта работы в области программирования или электротехники. Учитывая пожелания читателей первого издания этой книги, я уделил особое внимание подроб- ному объяснению тем, которые для некоторых могут показаться излишне сложными. Чтобы помочь читателям с разным уровнем опыта, книга содер- жит несколько факультативных разделов и врезок, которые более подробно объясняют определенное понятие. Хотя эти дополнительные материалы не обязательны для работы с Arduino, они дают более подробное рассмотрение ряда технических аспектов для более дотошных читателей.
ЧЕМУ ВАС НАУЧИТ ЭТА КНИГА
В этой книге нет готовых рецептов. Поэтому она не подойдет для тех, кто хочет просто следовать пошаговым инструкциям, подробно излагающим все аспекты разработки определенного проекта, но не объясняющим при этом, зачем все это делается. Данную книгу можно рассматривать как введение в электротехнику, вычислительную технику, проектирование изделий, а также в мышление на высоком уровне, используя платформу Arduino для получе- ния практического опыта во всех этих областях.
Собирая устройства на базе Arduino из этой книги, вы научитесь не толь- ко выполнять монтаж компонентов, но также сможете разобраться в прин- ципиальных схемах, узнаете, почему те или иные компоненты используются для определенных целей, а также научитесь читать справочные листки ком- понентов, чтобы выбрать наиболее подходящие детали при создании своих проектов. Для программной части проектов предоставляется полный код программы, но сначала рассматриваются и объясняются несколько фрагмен- тов, образующих конечную программу. Такой подход поможет закрепить по- нимание конкретных функций программы и способствовать приобретению правильных навыков написания кода и пониманию алгоритмов, лежащих в основе программ.
Настоящая книга научит вас основам физики, алгоритмам, принципам цифрового проектирования, а также концептам программирования, специ- фичным для платформы Arduino. Я надеюсь, что в процессе реализации изложенных в этой книге проектов вы не только станете грамотным разра- ботчиком устройств на платформе Arduino, но также приобретете навыки, необходимые для создания более сложных электронных систем, а также для инженерной деятельности в других областях и на других платформах.

Введение
24
СТИЛЬ ТИПОГРАФСКОГО ОФОРМЛЕНИЯ
Чтобы привлечь внимание к некоторой наиболее важной или полезной информации, в этой книге используется следующее типографское оформле- ние и форматирование.
Внимание!
Обязательно обращайте внимание на оформленные таким образом отступления. Они предупреждают, когда неправильные действия могут повредить электронные компо- ненты.
Совет
Эти отступления содержат краткие советы, как выполнить текущую задачу легче и эф- фективнее.
Примечание
Эти отступления содержат дополнительную, потенциально важную, информацию, включая ссылки на видео и другие онлайн-материалы, которые могут помочь вам в раз- работке определенного проекта.
ПРИМЕР ЗАГОЛОВКА
Такие расширенные отступления предоставляют более подробную инфор- мацию по текущей теме или по связанным с ней аспектам.
ПРИОБРЕТЕНИЕ КОМПОНЕНТОВ
При подготовке описания проектов в этой книге я приложил большие усилия, чтобы использовать в них компоненты, которые можно легко приоб- рести во многих магазинах электронных товаров как в Соединенных Штатах, так и в других странах. Я также заключил партнерство с компанией Adafruit
(www.adafruit.com), которая является популярным розничным поставщиком электронных компонентов для любителей. Таким образом, все компоненты, необходимые для реализации представленных здесь проектов, можно при- обрести у этого поставщика. Для вашего удобства на веб-странице https://
www.exploringarduino.com/kits размещен список компонентов для проектов каждой главы.
В начале каждой главы также перечислены все компоненты, необходимые для реализации изложенных в ней проектов. Все эти компоненты можно приобрести у многих разных поставщиков. Издательство Wiley также пре- доставляет разнообразные электронные ресурсы для этой книги на своем

Введение
25
веб-сайте (www.wiley.com/go/exploringarduino2e) и, в частности, ссылки на многочисленные источники, где можно приобрести компоненты для проек- тов каждой главы.
ЧТО ВАМ ПОТРЕБУЕТСЯ
Кроме самих компонентов для сборки проектов Arduino, вам потре- буются несколько инструментов и материалов. Самым важным из них бу- дет компьютер с операционной системой, совместимой с интегрированной средой разработки Arduino IDE (Windows XP или более поздняя версия,
Mac OS X 10.7 Lion, или более новая версия, или дистрибутив Linux). Когда необходимо, я буду предоставлять соответствующие инструкции для каждой из этих операционных систем.
В настоящее время доступна онлайн-среда разработки, но в этой книге мы будем в основном концентрироваться на среде IDE для персональных ком- пьютеров. Но все инструкции для среды IDE для настольных компьютеров обычно также применимы и для онлайн-среды IDE. Круг читателей первого издания этой книги был очень обширным, охватывал множество стран с ши- роким диапазоном скорости Интернета и надежности доступа к нему. Чтобы и в дальнейшем обеспечить всем желающим легкий и надежный доступ к платформе Arduino, мои инструкции будут в основном применимы к авто- номной среде Arduino IDE, поскольку не все имеют постоянный и надежный доступ к Интернету.
Для сборки и отладки аппаратных составляющих проектов в этой книге потребуются дополнительные инструменты. Они не только необходимы для реализации проектов из этой книги, но также пригодятся вам и для других проектов, которые вы, возможно, захотите реализовать, используя ваши зна- ния и опыт электротехники, приобретенные с помощью этой книги. Я могу порекомендовать следующие основные инструменты и расходные материалы:
паяльник и припой;
Примечание
Некоторые шилды
1
и микроконтроллерные платы, упоминаемые в последних главах данной книги, могут продаваться в виде набора, требующего сборки с помощью пайки, в основном впаивания штыревых контактов в отверстия в печатной плате.
мультиметр (этот прибор будет полезным для отработки методов отлад- ки, рассматриваемых в книге, но не является абсолютно необходимым);
набор небольших отверток;
пинцет;
1
Это просто калька с английского shield, означает модуль или плату расширения. — Прим. пер.

Введение
26
проволочные кусачки и инструмент для снятия изоляции с проводов;
клеевой пистолет с нагревом;
увеличительное стекло (размеры электронных компонентов продол- жают уменьшаться, и иногда необходимо прочитать маркировку, на- несенную чрезвычайно мелким шрифтом на интегральных схемах или других компонентах, чтобы можно было посмотреть их характеристи- ки в справочном листке или в Интернете).
ИСХОДНЫЙ КОД
И ПРОЧИЕ ЭЛЕКТРОННЫЕ РЕСУРСЫ
Поддерживаемый автором сайт http://www.exploringarduino.com специ- ально предназначен для сопровождения этой книги. С него можно загрузить исходный код примеров и проектов для каждой главы, а также видеоуроки, ссылки и другие полезные материалы. Обратите внимание на то, что по это- му адресу доступны электронные ресурсы как для первого издания книги, так и для второго. Поэтому убедитесь, что вы переходите по ссылке для пра- вильного издания книги, т. е. второго — 2nd Edition Content. Электронные ресурсы для первого издания книги находятся по адресу https://www.explor-
ingarduino.com/content1/, для второго — по адресу https://www.exploringar-
duino.com/content2/. В меню веб-сайта даются отдельные ясно различимые ссылки на электронные ресурсы разных изданий книги —1st Edition Content и 2nd Edition Content — поэтому у вас не должно возникнуть никаких труд- ностей с выбором правильного ресурса.
Издательство Wiley также предоставляет электронные ресурсы для этой книги на веб-странице https://www.wiley.com/en-us/Exploring+Arduino%3
A+Tools+and+Techniques+for+Engineering+Wizardry%2C+2nd+Edition-p-
9781119405375 в разделе Downloads. Ссылку на веб-страницу этой книги на веб-сайте издательства (https://www.wiley.com) можно также получить, вы- полнив на сайте поиск по ее номеру ISBN — 9781119405375.
Файлы архивов ZIP с исходным кодом для каждой главы можно скачать с любого из этих источников. Скачанные файлы нужно будет разархивировать с помощью соответствующей программы, которой оснащены все упомяну- тые ранее операционные системы.
Наконец, исходный код для проектов из книги также содержится на по- пулярном веб-сайте для обмена открытым кодом GitHub.com (https://github.
com/sciguy14/Exploring-Arduino-2nd-Edition). Если вам под силу разобрать- ся с управлением версиями на GitHub, то файлы с исходным кодом можно также загрузить из этого хранилища. Ссылки на архив с кодом программ для

Введение
27
каждой главы, расположенный в хранилище GitHub, также предоставляются на веб-сайте https://www.exploringarduino.com на страницах соответствую- щих глав.
Примечание
Поскольку многие книги имеют похожие названия, если у вас возникнет необходимость выполнить поиск данной книги в Интернете, то для этого лучше всего указать не ее на- звание, а код ISBN — 9781119405375.
Примечание
Некоторые адреса URL (особенно те, которые находятся вне моего контроля) могут быть слишком длинными или измениться в будущем. Чтобы было легче вводить длин- ные адреса URL, которые могут встречаться в книге, они заменяются короткими адре- сами URL с использованием суффикса сокращения для моего личного веб-сайта: blum.
fyi. Например, сокращенный адрес URL blum.fyi/jarvis перенаправляет на страницу на моем веб-сайте для проекта JARVIS.
СПИСОК ОПЕЧАТОК
Мы прилагаем все усилия, чтобы обеспечить отсутствие ошибок в тек- сте и коде программ. Но никто не идеален, и ошибки случаются. Если вы обнаружите ошибку в этой книге, например, опечатку или неправильный код, то мы будем благодарны, если вы сообщите нам об этом. Предоставляя нам сведения об ошибках, обнаруженных вами в книге, вы поможете сэко- номить другим ее читателям многие часы бесплодных попыток понять, по- чему определенный проект не работает должным образом. В то же самое время это может помочь нам предоставить вам еще более качественную информацию.
Просмотреть список уже обнаруженных ошибок в книге можно по ссыл- ке Errata на веб-странице https://www.wiley.com/go/exploringarduino2e.
На этой странице можно просмотреть все ошибки в этой книги, о которых нам сообщили и которые были размещены здесь редакторами издательства
Wiley. Я также просматриваю все доклады об ошибках и размещаю их на веб-сайте https://www.exploringarduino.com на страницах соответствую- щих глав.
ДОПОЛНИТЕЛЬНЫЙ МАТЕРИАЛ И ПОДДЕРЖКА
В процессе изучения платформы Arduino у вас неизбежно будут воз- никать разного рода вопросы или, возможно, вам придется столкнуться с какими-либо проблемами. В этом отношении вы сможете оценить один из

Введение
28
самых лучших аспектов платформы Arduino — существование обширно- го онлайн-сообщества, к которому можно обратиться за советом или по- мощью в проблемных ситуациях. Эта чрезвычайно активная группа пользо- вателей Arduino с готовностью поможет вам при различных затруднениях.
Я веду список обновленных ресурсов поддержки по вопросам по Arduino, электротехнике и встроенному программному обеспечению на странице
Resources веб-сайта Exploring Arduiono (https://www.exploringarduino.
com/resources/).
В прошлом я старался сам отвечать пользователям на их вопросы по
Arduino, но, к сожалению, это больше невозможно из-за громадного количе- ства вопросов, которые я получаю на моем веб-сайте, в Twitter, Facebook, на
YouTube и других каналах. Я настоятельно рекомендую обращаться за помо- щью через форумы, ссылки на которые даются на странице Resources моего веб-сайта. Я могу почти гарантировать, что они ответят вам быстрее, чем я.
ЧТО ТАКОЕ ARDUINO?
Arduino — это аппаратная и программная платформа, с помощью кото- рой можно создать прототип любого задуманного вами устройства. Это мо- жет быть система управления автоматическим поливом, или веб-сервер, или даже автопилот для мультикоптера.
Более конкретно, Arduino — это платформа для разработки устройств на базе микроконтроллера с простым и понятным языком программирования в интегрированной среде разработки Arduino IDE. А оснастив плату Arduino датчиками, приводами, световыми индикаторами, динамиками и более продвинутыми модулями расширения (называемыми шилдами), ее можно превратить в программируемый «мозг» для практически любой системы управления.
Трудно даже перечислить все, на что способна платформа Arduino, потому что ее возможности ограничены только вашим воображением. Таким обра- зом, эта книга послужит руководством, знакомящим вас с функционально- стью Arduino посредством реализации большого количества устройств, что позволит вам получить навыки, необходимые для разработки своих соб- ственных проектов.
Более подробная информация о плате Arduino и ее разновидностях приво- дится в главе 1. Если вам интересно знать внутреннее устройство Arduino, то вам повезло — это полностью открытая платформа как в аппаратном, так и в программном аспекте, и все схемы и документация находятся в свободном доступе на сайте Arduino. Некоторые технические характеристики Arduino приведены в Приложении.

Введение
29
О ДВИЖЕНИИ OPEN SOURCE
Если вы новичок в области отрытых источников информации (Open
Source), то я рекомендую познакомиться с основными принципами это- го движения. Здесь мы не будем вдаваться в подробности, а лишь немного коснемся идеологии данного движения, делающей работу с Arduino такой привлекательной. Получить более полное представление о нем можно на веб-сайте Ассоциации открытого аппаратного обеспечения (Open Source
Hardware Association): blum.fyi/OSHW-Defi nition.
Поскольку Arduino является платформой с открытым аппаратным обес- печением, все проектные файлы, схемы и исходный код для нее доступны для любого желающего. Это означает, что вы можете не только с большей легкостью модифицировать Arduino для решения какой-либо узкой задачи, но также использовать эту платформу и сопутствующее программное обе- спечение в своих разработках, производить и продавать клоны платы Arduino и т.п. На рынке предлагаются сотни плат, основанных на Arduino, при этом часто многие эти платы оснащены специализированными функциями.
Лицензия открытой платформы Arduino также разрешает коммерческое использование их разработок (при условии отсутствия торговой марки
Arduino на таких разработках). Таким образом, если вы создали на основе
Arduino оригинальное устройство и хотите превратить его в коммерческий продукт, то вы можете сделать это.
При всем этом непременно соблюдайте лицензионные требования для исходного кода и аппаратного обеспечения, приведенного в этой книге.
Некоторые лицензии содержат требование указывать первого автора при публикации разработок на основе предыдущих работ. Другие же требуют всегда предоставлять доступ к внесенным вами улучшениям в исходный продукт по эквивалентной лицензии. Такое предоставление общего доступа помогает развитию сообщества Arduino и созданию онлайн-документации и поддержки, к которым вам часто придется обращаться в процессе экспери- ментирования с платформой Arduino. На все примеры программ в этой кни- ге распространяются условия лицензии MIT
1
, что позволяет использовать их без ограничений в любых целях.
НЕСКОЛЬКО СОВЕТОВ ЧИТАТЕЛЮ
Некоторые из вас, возможно, уже знакомы с моими популярными ви- деоуроками по изучению Arduino и основ электроники на канале YouTube
1
Лицензия открытого программного обеспечения, разработанная Массачусетским технологиче- ским институтом.

Введение
30
(https://www.youtube.com/sciguy14). Я постоянно ссылаюсь на них в этой книге, чтобы более подробно осветить изложенные темы. Если вам интересно узнать о том, какие замечательные вещи можно создавать, творчески сочетая электронику, микроконтроллеры и информатику, рекомендую просмотреть мое портфолио с самыми интересными проектами (https://www.jeremyblum.
com/portfolio/). Подобно платформе Arduino, большинство моих разработок соответствует открытой лицензии, что позволяет вам с легкостью использо- вать мою работу для ваших собственных нужд.
Мне будет интересно узнать, как вы примените знания и навыки, получен- ные в результате прочтения этой книги. Я призываю вас поделиться своими открытиями со мной и остальным миром (используйте тег #ExploringArduino в социальных сетях). Желаю удачи в ваших экспериментах с Arduino!

I
Технические основы платформы Arduino
1   2   3   4   5   6   7   8


написать администратору сайта