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

Глава 13 «Цифровая обработка сигналов». Плата Arduino способна выполнять простую обработку сигналов. В этой главе обсуждаются разные способы такой обработки, от фильтрации сигнала, поступающего на аналоговый вход, с применением программного обеспечения вместо внешних электронных устройств до вычисления относительной величины различных частотных сигналов с применением быстрого преобразования Фурье.

Глава 14 «Многозадачность с единственным процессом». Программисты, пришедшие в мир Arduino из мира больших систем, часто отмечают отсутствие поддержки многозадачности в Arduino как существенное упущение. В этой главе я попробую исправить его и покажу, как преодолеть ограничения однопоточной модели встроенных систем.

Глава 15 «Создание библиотек». Рано или поздно вы создадите нечто замечательное, что, по вашему мнению, могли бы использовать другие. Это будет самый подходящий момент оформить свой код в виде библиотеки и выпустить ее в свет. Эта глава покажет вам, как это сделать.


Ресурсы

В поддержку этой книги на веб-сайте автора (www.simonmonk.org) создана страница. Перейдя по ссылке на страницу этой книги, вы найдете исходный код примеров, а также другие ресурсы.


От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.


1 Монк С. Программируем Arduino. Основы работы со скетчами. — СПб.: Питер, 2015. — Примеч. пер.

1. Программирование Arduino

Эта глава содержит сводную информацию о плате Arduino. Если вы ничего не знаете об Arduino, возможно, вам стоит также прочитать книгу «Programming Arduino: Getting Started with Sketches» (McGraw-Hill Professional, 2012)2.


Что такое Arduino?

Термин «Arduino» используется для обозначения физических плат Arduino, наибольшей популярностью из которых пользуется модель Arduino Uno, и системы Arduino в целом. Система включает также программное обеспечение для компьютера (применяется для программирования платы) и периферийные платы, которые можно подключать к основной плате Arduino.

Для работы с платой Arduino вам понадобится подходящий компьютер. Это может быть персональный компьютер с операционной системой Mac, Windows, Linux или нечто более скромное, такое как Raspberry Pi. Компьютер нужен в основном для того, чтобы выгружать программы в плату Arduino. После установки на Arduino эти программы действуют совершенно автономно. На рис. 1.1 показано, как выглядит плата Arduino Uno.

Рис. 1.1. Плата Arduino Uno

Плата Arduino может подключаться к порту USB компьютера. Когда она подключена, вы можете посылать сообщения в обоих направлениях. На рис. 1.2 показано, как соединяются плата Arduino и компьютер.

Рис. 1.2. Плата Arduino и компьютер

В отличие от компьютера, Arduino почти не имеет памяти, а также не имеет операционной системы, клавиатуры с мышью и экрана. Главная ее задача — чтение данных с датчиков и управление исполнительными устройствами. То есть можно, к примеру, подключить к плате датчик измерения температуры и управлять мощностью обогревателя.

На рис. 1.3 перечислены некоторые устройства, которые можно подсоединять к плате Arduino. Это далеко не все виды устройств, которые можно подключить к Arduino.

Рис. 1.3. Устройства, подключаемые к Arduino

Далее перечислены некоторые очень интересные проекты, реализованные на основе Arduino:

• Bubblino — подключенная к Arduino машина для мыльных пузырей, которая выпускает пузыри, когда вы посылаете ей сообщение в Twitter;

• светодиодные кубы;

• счетчики Гейгера;

• музыкальные инструменты;

• дистанционные датчики;

• роботы.


Установка и среда разработки

Для программирования Arduino используется интегрированная среда разработки Arduino (Arduino Integrated Development Environment, IDE). Если вы программист и имеете опыт работы со сложными средами разработки, такими как Eclipse или Visual Studio, то Arduino IDE покажется вам очень простой и, возможно, вы отметите отсутствие интеграции с репозиториями, функции автодополнения команд и прочих удобств. Если вы новичок в программировании, то вам понравятся простота и легкость использования Arduino.


Установка среды разработки

Прежде всего загрузите программное обеспечение для своей операционной системы с официального веб-сайта Arduino: http://arduino.cc/en/Main/Software.

После загрузки вы сможете найти подробные инструкции по установке для каждой платформы по адресу http://arduino.cc/en/Guide/HomePage3.

Самое замечательное в Arduino то, что для работы с этой платой вам понадобятся лишь сама плата Arduino, компьютер и кабель USB для их соединения между собой. Плата Arduino может даже питаться от порта USB компьютера.


Blink

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

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

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

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