Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства

Тут можно читать онлайн Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература, издательство БХВ-Петербург, год 2015. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание

Изучаем Arduino: инструметы и методы технического волшебства - описание и краткое содержание, автор Джереми Блум, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Книга посвящена проектированию электронных устройств на основе микроконтроллерной платформы Arduino. Приведены основные сведения об аппаратном и программном обеспечении Arduino. Изложены принципы программирования в интегрированной среде Arduino IDE. Показано, как анализировать электрические схемы, читать технические описания, выбирать подходящие детали для собственных проектов. Приведены примеры использования и описание различных датчиков, электродвигателей, сервоприводов, индикаторов, проводных и беспроводных интерфейсов передачи данных. В каждой главе перечислены используемые комплектующие, приведены монтажные схемы, подробно описаны листинги программ. Имеются ссылки на сайт информационной поддержки книги. Материал ориентирован на применение несложных и недорогих комплектующих для экспериментов в домашних условиях.
Для радиолюбителей

Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)

Изучаем Arduino: инструметы и методы технического волшебства - читать книгу онлайн бесплатно, автор Джереми Блум
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Serial.println("%");

delay(1000);// Ожидание 1 сек перед получением новых данных

}

6.6.2. Использование специальных символов

Вы также можете передавать различные "специальные" (или управляющие) символы, которые позволяют изменить форматирование последовательных данных при выводе на печать. Управляющий символ начинается с обратного слэша (\), за которым следует символ команды. Есть много специальных символов, но два из них представляют наибольший интерес: табуляция и переход на новую строку. Чтобы вставить символ табуляции, нужно добавить к строке управляющую последовательность \t. Символ перехода на новую строку вставляют, добавляя к строке \n.

Это особенно полезно, если вы хотите перейти на новую строку в начале передаваемой строки, а не в конце, как делает функция serial.println(). Если, по некоторым причинам, вы на самом деле хотите напечатать последовательность символов \n или \t в строке, это можно сделать с помощью последовательностей \\n или \\t, соответственно. Листинг 6.2 представляет собой модификацию листинга 6.1, но с использованием управляющих символов для отображения данных в табличной форме.

Листинг 6.2. Табличная разметка с использованием управляющих символов - pot_tabular.ino

// Табличная разметка с использованием управляющих символов

const int POT=0; // Подключение потенциометра к аналоговому входу A0

void setup()

{

Serial.begin(9600); // Инициализация последовательного порта на скорости 9600

}

void loop()

{

Serial.println("\nAnalog Pin\tRaw Value\tPercentage");

Serial.println("------------------------------------------");

- 127 -

for (int i = 0; i < 10; i++)

{

int val = analogRead(POT);//Чтение данных потенциометра

int per = map(val, 0, 1023, 0, 100);//Перевод в процентное значение

Serial.print("AO\t\t");

Serial.print(val);//Вывод аналогового значения

Serial.print("\t\t");

Serial.print(per);//Вывод процентного значения

Serial.println ( "%");

delay(1000);

//Ожидание 1 сек перед получением новых данных

}

}

При повороте движка потенциометра данные, выдаваемые в последовательный порт, должны выглядеть примерно так, как на рис. 6.7.

Рис 6 7 Скриншот терминала последовательного порта с данными в виде таблицы - фото 58

Рис. 6. 7. Скриншот терминала последовательного порта с данными в виде таблицы

6.6.3. Изменение представлений типа данных

Функции Serial.print() и Serial.println() позволяют вывести данные в конкретном формате. Есть опции для представления данных в различных форматах, включая шестнадцатеричный, восьмеричной и двоичный. По умолчанию принят деся

- 128 -

тичный формат ASCII. У функций Serial.print() и Serial.println() есть дополнительный второй параметр, который определяет формат выводимых данных.

В табл. 6.1 приведены примеры вывода одинаковых данных (число 23) в различных форматах и их отображения в мониторе последовательного порта.

Таблица 6.1. Тип последовательных данных

Формат

Код

Отображение данных

Decimal

Serial.println(23);

23

Hexadecimal

Serial.println(23,HEX);

17

Octal

Serial.println(23,0CT);

27

Binary

Serial.println(23,BIN);

00010111

6.6.4. Общение с Arduino

Что хорошего в общении с Arduino, если разговор идет только в одном направлении? Теперь, когда мы разобрались, как Arduino посьшает данные на компьютер, давайте попробуем это сделать. Вы, наверное, заметили, что в окне монитора последовательного порта Arduino IDE сверху есть поле ввода текста, а снизу - раскрывающееся меню (рис. 6.8).

Рис 68 Скриншот терминала последовательного порта с полем ввода текста и - фото 59

Рис. 6.8. Скриншот терминала последовательного порта с полем ввода текста и выбранной опцией конца строки в раскрывающемся меню

Во-первых, убедитесь, что в раскрывающемся списке выбран пункт Newline. Опция в выпадающем меню определяет, что добавляется к вашим командам при отправке их в Arduino. Примеры в следующих разделах предполагают, что вы выбрали пункт Newline, который только добавляет \n в конец ваших данных, посьшаемых из поля ввода текста в верхней части окна монитора последовательного порта.

- 129 -

В отличие от некоторых других терминальных программ, монитор последовательного порта Arduino IDE при нажатии клавиши или кнопки Отправить посылает всю командную строку. Другие последовательные терминалы, например Putty (www.exploringarduino.com), посылают символы сразу после их ввода.

6.6.5. Чтение информации из компьютера или другого последовательного устройства

Запустив монитор последовательного порта Arduino IDE, вы можете вручную отправлять команды в Arduino. Далее рассмотрим, как отправлять последовательности символов и как создать простой графический интерфейс для отправки команд.

У последовательного порта Arduino есть буфер. Другими словами, вы можете отправить несколько байт данных сразу, и Arduino поставит их в очередь и обработает их в том порядке, как задумано в вашей программе. Скорость передачи данных не особенно критична, а вот отправка слишком большого объема данных может вызвать переполнение буфера и потерю информации.

Плата Arduino в качестве транслятора данных

Проще всего заставить плату Arduino реагировать на все, что передано. Для этого плата Arduino должна запоминать, а затем выводить каждый полученный символ.

Чтобы сделать это, потреб ую тся две новые функции:

• Serial.available() - возвращает число символов (или байтов), которые на даый момент сохранены во входном последовательном буфере Arduino. Каждый раз, когда это число отлично от нуля, символ считывается и отправляется обратно на компьютер;

• serial. read() - читает и возвращает следующий символ, который находится в буфере.

Обратите внимание, что каждый вызов к функции Serial. read() возвратит из буфера только один байт, поэтому вы должны повторять эту функцию, пока serial. available() возвращает ненулевое значение. Каждый раз, когда Функция serial. read() получает байт, буфер очищается, и можно принимать следующий байт. Теперь можно загрузить программу из листинга 6.3 на плату Arduino.

Листинг 6.3. Эхо последовательного порта - 'echo.ino

// Эхо каждого символа

char data;

// Текущий входящий символ

void setup()

{

Serial.begin(9600); // Инициализация последовательного порта на скорости 9600

}

- 130 -

void loop()

{

// Вывод только при получении данных

if (Serial.available() > 0)

{

data = Serial.read(); // Чтение байта из буфера

Serial.print(data);// Вывод в последовательный порт

}

}

Запустите монитор последовательного порта и напечатайте что-нибудь в поле ввода текста. Как только вы нажмете кнопку Отправить, все, что вы набрали, вернется назад в компьютер и отобразится в окне монитора последовательного порта. Поскольку в меню выбрана опция Newline, для каждой команды добавляется символ перевода строки (\n), следовательно, каждый ответ отображается с новой строки.

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

Интервал:

Закладка:

Сделать


Джереми Блум читать все книги автора по порядку

Джереми Блум - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Изучаем Arduino: инструметы и методы технического волшебства отзывы


Отзывы читателей о книге Изучаем Arduino: инструметы и методы технического волшебства, автор: Джереми Блум. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x