My-library.info
Все категории

Программируем Arduino. Основы работы со скетчами - Монк Саймон

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Программируем Arduino. Основы работы со скетчами - Монк Саймон. Жанр: Программирование год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Программируем Arduino. Основы работы со скетчами
Дата добавления:
18 сентябрь 2020
Количество просмотров:
394
Читать онлайн
Программируем Arduino. Основы работы со скетчами - Монк Саймон

Программируем Arduino. Основы работы со скетчами - Монк Саймон краткое содержание

Программируем Arduino. Основы работы со скетчами - Монк Саймон - описание и краткое содержание, автор Монк Саймон, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info

Впервые на русском языке выходит легендарный бестселлер Саймона Монка, который много лет занимает первые строчки в рейтингах Amazon. Хотите создать умный дом или запрограммировать робота? Нет ничего проще. Саймон Монк не только поможет разобраться с проволочками, контактами и датчиками, но и покажет как заставить все это хитросплетение проводов и плат делать то, что вам нужно. Arduino — это не так сложно как кажется с первого взгляда. Вы сразу будете покорены открывающимися возможностями.

 

Программируем Arduino. Основы работы со скетчами читать онлайн бесплатно

Программируем Arduino. Основы работы со скетчами - читать книгу онлайн бесплатно, автор Монк Саймон

Последовательный интерфейс вам должен быть хорошо знаком. Он используется для программирования платы Arduino, а также для взаимодействий с монитором последовательного порта, посредством которого можно организовать обмен данными между платой и компьютером. Это можно делать через адаптер, связывающий порт USB с последовательным портом на плате Arduino, или непосредственно через адаптер последовательного порта. Адаптер последовательного порта часто называют последовательным портом ТТЛ или просто последовательным портом. Аббревиатура ТТЛ означает «транзистор-транзисторная логика» — это редко используемая в настоящее время технология, основанная на 5-вольтовой логике.

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

Последовательный интерфейс ТТЛ вместо I2C или SPI обычно поддерживают большие периферийные устройства или устройства, разработанные довольно давно и традиционно использующие последовательный интерфейс ТТЛ. К их числу относятся также устройства, изначально предназначенные для подключения к последовательному порту персонального компьютера. Примерами могут служить модули GPS, мультиметры с возможностью передачи данных, а также устройства чтения штрихкодов и радиометок.

Аппаратная часть последовательного интерфейса

На рис. 10.1 изображена схема последовательного интерфейса на плате Arduino Uno.

Программируем Arduino. Основы работы со скетчами - _69.jpg

Рис. 10.1. Последовательный интерфейс на плате Arduino Uno

Микроконтроллер ATmega328 на плате Arduino Uno имеет два контакта: Rx и Tx (прием и передача соответственно). Они дополнительно выводятся на контакты D0 и D1, но, если вы решите использовать их как обычные входы/выходы, имейте в виду, что не сможете запрограммировать Arduino, пока к ним подключены внешние устройства.

Контакты Rx и Tx составляют последовательный интерфейс аппаратного универсального асинхронного приемопередатчика (УАПП) (Universal Asynchronous Receiver Transmitter, UART) в ATmega328. Этот компонент микроконтроллера отвечает за передачу байтов данных в микроконтроллер и их прием из него.

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

Модель Arduino Leonardo не имеет отдельной микросхемы интерфейса USB, вместо этого в ней используется микроконтроллер ATmega, включающий два кристалла УАПП и один интерфейс USB (рис. 10.2).

Программируем Arduino. Основы работы со скетчами - _70.jpg

Рис. 10.2. Аппаратная поддержка последовательного интерфейса на плате Arduino Leonardo

Один из приемопередатчиков УАПП обслуживает интерфейс USB, а другой соединен с контактами Rx и Tx (D0 и D1). Это позволяет подключать внешние устройства к контактам Tx и Rx и сохранить возможность программирования платы Arduino и обмена данными с монитором последовательного порта.

Другие модели Arduino имеют иное количество и схему подключения последовательных портов, как показано в табл. 10.1. Обратите внимание на то, что Due является единственной моделью Arduino, в которой последовательные порты работают с уровнями сигналов 3,3 В, а не 5 В.

Последовательный интерфейс ТТЛ способен поддерживать связь лишь по относительно коротким линиям (в пределах нескольких метров), и чем выше скорость обмена, тем короче должна быть линия. Для передачи данных на большие расстояния был разработан электрический стандарт RS232. Персональные компьютеры, выпускавшиеся до недавнего прошлого, часто снабжались последовательными портами RS232. Стандарт RS232 изменил уровни сигналов, чтобы обеспечить передачу данных на большие расстояния, чем позволяет последовательный интерфейс ТТЛ.

Таблица 10.1. Последовательные интерфейсы УАПП в разных моделях Arduino

Модель

Число последовательных портов

Подробности

Uno

1

Линия Rx подключена к контакту D0, а линия Tx — к контакту D1. Этот порт используется также интерфейсом USB

Leonardo

2

Отдельный порт для интерфейса USB. Линия Rx подключена к контакту D0, а линия Tx — к контакту D1

Mega2560

4

Интерфейс USB подключен к контактам D0 и D1. Три других порта: Serial1 — к контактам 19 (Rx) и 18 (Tx), Serial2 — к контактам 17 (Rx) и 16 (Tx), Serial3 — к контактам 15 (Rx) и 14 (Tx)

Due

4

Отдельный порт для интерфейса USB. Последовательный порт 0 использует контакты D0 (Rx) и D1 (Tx). Три других порта: Serial1 — к контактам 19 (Rx) и 18 (Tx), Serial2 — к контактам 17 (Rx) и 16 (Tx), Serial3 — к контактам 15 (Rx) и 14 (Tx)

Протокол последовательного интерфейса

Протокол последовательного интерфейса и большая часть терминологии появились еще на заре развития компьютерных сетей. Отправитель и получатель должны были договориться о скорости обмена данными. Эта скорость, измеряемая в бодах, устанавливалась на обоих концах соединения перед началом обмена. Скорость в бодах определяет частоту переходов между уровнями сигнала. Она совпадала бы с количеством бит в секунду, если бы байт данных имел стартовый бит, стоповый бит и бит четности. То есть, чтобы получить грубую оценку скорости передачи в байтах в секунду, нужно скорость в бодах разделить на 10.

Скорость в бодах выбиралась из числа предопределенных стандартом значений. Увидеть эти значения можно в раскрывающемся списке в окне монитора последовательного порта. Программное обеспечение Arduino поддерживает следующие скорости: 300, 1200, 4800, 9600, 14 400, 19 200, 28 800, 38 400, 57 600 и 115 200 бод.

Чаще всего для связи с Arduino используется скорость 9600 бод, которая выбирается по умолчанию. Этот выбор не обусловлен какими-то серьезными причинами, так как связь с платами Arduino действует вполне надежно даже на скорости 115 200 бод. Эту скорость можно использовать в проектах, где требуется высокая скорость передачи. Также часто используется скорость 2400 бод. Некоторые периферийные устройства, такие как адаптеры Bluetooth и аппаратура GPS, работают на этой скорости.

Другой довольно запутанный параметр настройки последовательного интерфейса, который может вам встретиться, — это строка вида 8N1. В данном случае она означает: размер пакета 8 бит, отсутствие контроля четности и 1 стоповый бит. Несмотря на возможность других комбинаций, практически все устройства, которые вам попадутся, будут использовать параметр 8N1.

Команды последовательного порта

Команды последовательного порта включены в стандартную библиотеку Arduino, поэтому нет необходимости использовать в скетчах команду include.

Запуск взаимодействий по последовательному порту осуществляется командой Serial.begin, которая принимает параметр со скоростью в бодах:

Serial.begin(9600);

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

Если используется плата, имеющая несколько последовательных портов, и вы собираетесь организовать обмен через порт по умолчанию (порт 0), достаточно вызвать простую команду Serial.begin. Но для других портов нужно указать в команде номер порта после слова Serial. Например, чтобы запустить взаимодействия по последовательному порту 3 на плате Arduino Due, скетч должен выполнить следующую команду:

Serial3.begin(9600);

После вызова команды Serial.begin приемопередатчик УАПП переходит в режим приема входящих данных и автоматически сохраняет их в буфере, поэтому, даже если процессор занят в это время чем-то другим, данные не будут теряться, пока буфер не переполнится.


Монк Саймон читать все книги автора по порядку

Монк Саймон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


Программируем Arduino. Основы работы со скетчами отзывы

Отзывы читателей о книге Программируем Arduino. Основы работы со скетчами, автор: Монк Саймон. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.