Читаем Программируем Arduino. Профессиональная работа со скетчами полностью

Программируем Arduino. Профессиональная работа со скетчами

Монк С. .

Программирование, программы, базы данных18+

 


С. Монк

Программируем Arduino. Профессиональная работа со скетчами

2017

Переводчик А. Макарова

Технический редактор Н. Суслова

Литературный редактор Н. Рощина

Художники Л. Егорова, С. Маликова

Корректоры С. Беляева, Н. Витько

Верстка Л. Егорова

С. Монк

Программируем Arduino. Профессиональная работа со скетчами . — СПб.: Питер, 2017.

ISBN 978-5-496-02385-6

© ООО Издательство "Питер", 2017

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

Об авторе

Доктор Саймон Монк (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. Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino. В частности, эта книга расскажет, как:

• обеспечить эффективную работу при минимальном объеме доступной памяти;

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

• упаковывать код в библиотеки, чтобы им могли пользоваться другие;

• использовать аппаратные прерывания и прерывания от таймера;

• добиться максимальной производительности;

• уменьшить потребление электроэнергии;

• взаимодействовать с последовательными шинами разных типов (I2C, 1-Wire, SPI и последовательный порт);

• взаимодействовать с портом USB;

• взаимодействовать с сетью;

• выполнять цифровую обработку сигналов (Digital Signal Processing, DSP).


Загружаемые примеры

Книга включает 75 примеров скетчей, которые распространяются в открытом виде и доступны на веб-сайте автора www.simonmonk.org. Перейдя по ссылке на страницу этой книги, вы сможете загрузить исходный код примеров, а также самый актуальный список ошибок и опечаток, найденных в книге.


Что необходимо для чтения книги

Перейти на страницу:

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных