учебник. Бхв, 2020. Isbn 9781119405375 (англ.) Isbn 9785977567367 (рус.) 2020 by John Wiley & Sons, Inc. Перевод на русский язык, оформление. Ооо бхвпетербург, Ооо бхв, 2020
Скачать 1.9 Mb.
|
Глава 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! |