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

Здесь есть возможность читать онлайн «Монк - Программируем Arduino. Профессиональная работа со скетчами.» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: СПб., Год выпуска: 2017, ISBN: 2017, Издательство: Издательский дом Питер, Жанр: Программирование, Компьютерное железо, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программируем Arduino. Профессиональная работа со скетчами.: краткое содержание, описание и аннотация

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

Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.
Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.
Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches». Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino.

Программируем Arduino. Профессиональная работа со скетчами. — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программируем Arduino. Профессиональная работа со скетчами.», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

void loop()

{

if (Serial.available())

{

// прочитать и обработать следующий байт

}

}

Команда read не имеет параметров и просто читает следующий доступный байт из буфера. Функция readBytes читает доступные байты в буфер, организованный внутри скетча. Она принимает два аргумента: буфер (это должна быть ссылка на массив байтов) и максимальное число байтов для чтения. Эта команда может пригодиться в проектах для пересылки в плату Arduino строк переменной длины. Но вообще лучше избегать этого и стараться осуществлять обмен максимально простыми данными фиксированного размера.

Также могут пригодиться функции parseInt и parseFloat, позволяющие сохранять строки, пересылаемые в плату Arduino, как числа в переменных типа int и float соответственно.

void loop()

{

if (Serial.available())

{

int x = parseInt();

}

}

Обе функции читают символы, пока не достигнут конца строки или не встретят пробел или другой нецифровой символ, и затем преобразуют прочитанную последовательность цифр в числовое значение.

Перед использованием функций, таких как parseInt и parseFloat, убедитесь, что понимаете, зачем вы это делаете. Мне приходилось видеть код, написанный другими, который преобразовывал значение int в массив символов и посылал его второй плате Arduino, которая преобразовывала массив обратно в значение int. Такое решение нельзя назвать удачным по следующим причинам.

• В этом нет необходимости. Двоичные данные передаются через последовательный интерфейс ничуть не хуже. Достаточно просто передать старший и младший байты значения int и затем собрать их обратно в значение int на стороне получателя.

• Преобразование чисел в строки и обратно выполняется медленно.

• Вместо шести символов (включая завершающий нулевой символ) по линии связи можно передать всего два байта, составляющие значение int.

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

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

Поддержка последовательного интерфейса включает массу функций, многие из которых вам никогда не понадобятся. Мы охватили здесь только самые необходимые. Информацию об остальных ищите в документации с описанием последовательного интерфейса Arduino по адресу http://arduino.cc/en/Reference/Serial [8] Похожее описание на русском языке: http://arduino.ru/Reference/Serial . — Примеч. пер. .

Библиотека SoftwareSerial

Иногда, особенно при использовании модели Arduino Uno, единственного последовательного порта оказывается недостаточно. Библиотека SoftwareSerial позволяет использовать для последовательных взаимодействий практически любую пару контактов, хотя и с некоторыми ограничениями.

• С помощью SoftwareSerial невозможно принимать данные одновременно по нескольким портам.

• Если скетч использует таймеры или внешние прерывания, могут возникать проблемы.

Функции в библиотеке имеют те же имена, что и команды Serial, но продуманы лучше. Библиотека SoftwareSerial поддерживает последовательные взаимодействия с устройствами, использующими инвертированные сигналы, такими как дальномеры MaxSonar. Кроме того, создание объектов SoftwareSerial для соединений выполняется более ясным способом, чем стандартный подход с использованием номеров после слова Serial.

В табл. 10.2 перечислены контакты на платах Uno и Leonardo, которые может использовать библиотека SoftwareSerial. Если вы работаете с платой, имеющей четыре аппаратных последовательных порта, библиотека SoftwareSerial едва ли вам понадобится. Номера контактов без префикса A соответствуют цифровым входам/выходам.

Таблица 10.2.Контакты, доступные библиотеке SoftwareSerial

Модель Контакты для линии Rx Контакты для линии Tx
Uno Любые, кроме 0 и 1 Любые, кроме 0 и 1
Leonardo Любые, кроме 0 и 1 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI)

При создании объекта SoftwareSerial нужно передать два параметра с номерами контактов для линий Rx и Tx. Чтобы запустить взаимодействия, нужно вызвать функцию begin и передать ей скорость в бодах:

#include

SoftwareSerial mySerial(10, 11); // RX, TX

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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


Отзывы о книге «Программируем Arduino. Профессиональная работа со скетчами.»

Обсуждение, отзывы о книге «Программируем Arduino. Профессиональная работа со скетчами.» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x