Саймон Монк
Программируем Arduino. Профессиональная работа со скетчами
Доктор Саймон Монк (Dr. Simon Monk; Престон, Соединенное Королевство) имеет степень бакалавра в области кибернетики и информатики, а также доктора наук в области программной инженерии. Доктор Монк несколько лет занимался академической наукой, прежде чем уйти в промышленность. Является одним из основателей компании Momote Ltd, специализирующейся на разработке программного обеспечения для мобильных устройств. Со школьных лет активно увлекается электроникой и много пишет для радиолюбительских журналов об электронике и открытом аппаратном обеспечении. Автор многочисленных книг по электронике, посвященных в основном открытым аппаратным платформам, особенно Arduino и Raspberry Pi. В соавторстве с Полом Шерцем написал третье издание книги «Practical Electronics for Inventors» .
Вы можете последовать за Саймоном в Twitter, где он зарегистрирован как @simonmonk2.
Хочу выразить большую признательность издательству McGraw-Hill Education , сотрудники которого приложили массу усилий, чтобы выпустить эту книгу. Отдельное спасибо моему редактору Роджеру Стюарту (Roger Stewart), а также Ваставикте Шарма (Vastavikta Sharma), Джоди Маккензи (Jody McKenzie), Ли-Энн Пикрелл (LeeAnn Pickrell) и Клер Сплан (Claire Splan).
Хочу также поблагодарить компании Adafruit, SparkFun и CPC за предоставленные модули и компоненты, использовавшиеся при подготовке этой книги.
И напоследок, но не в последнюю очередь, спасибо Линде за ее терпение и великодушие, благодаря которым я смог написать эту книгу.
Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.
Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.
Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches» [1] Монк С. Программируем Arduino. Основы работы со скетчами. — СПб.: Питер, 2015. — Примеч. пер.
. Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino. В частности, эта книга расскажет, как:
• обеспечить эффективную работу при минимальном объеме доступной памяти;
• решать сразу несколько задач без помощи механизмов многопоточного выполнения;
• упаковывать код в библиотеки, чтобы им могли пользоваться другие;
• использовать аппаратные прерывания и прерывания от таймера;
• добиться максимальной производительности;
• уменьшить потребление электроэнергии;
• взаимодействовать с последовательными шинами разных типов (I2C, 1-Wire, SPI и последовательный порт);
• взаимодействовать с портом USB;
• взаимодействовать с сетью;
• выполнять цифровую обработку сигналов (Digital Signal Processing, DSP).
Загружаемые примеры
Книга включает 75 примеров скетчей, которые распространяются в открытом виде и доступны на веб-сайте автора www.simonmonk.org. Перейдя по ссылке на страницу этой книги, вы сможете загрузить исходный код примеров, а также самый актуальный список ошибок и опечаток, найденных в книге.
Что необходимо для чтения книги
Данная книга в первую очередь посвящена вопросам программирования. Поэтому для опробования большинства примеров будет достаточно платы Arduino, светодиода и мультиметра. Если у вас имеются дополнительные платы расширения Arduino, они тоже пригодятся. Для рассмотрения примеров из главы 12 вам понадобится плата Ethernet или Wi-Fi. На протяжении всей книги мы будем использовать разные модули для демонстрации разных интерфейсов.
В центре внимания находится Arduino Uno — наиболее широко используемая плата Arduino, но в главах, посвященных программированию порта USB и цифровой обработке сигналов, рассматриваются некоторые особенности других плат Arduino, таких как Leonardo и Arduino Due.
В приложении в конце книги вы найдете список поставщиков, у которых сможете приобрести все эти компоненты.
Как работать с этой книгой
Каждая глава посвящена отдельной теме, связанной с программированием Arduino. Главы книги, кроме главы 1, где приводится краткий обзор основ Arduino, можно читать в любом порядке. Если вы опытный разработчик, начните с главы 14, чтобы вникнуть в некоторые особенности программирования Arduino.
Читать дальше