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

Сначала необходимо установить Processing на вашей машине. Делается это так же, как и в главе 1, когда устанавливали Arduino IDE. Зайдите на страницу

http://processing.org/download/ (или найдите ссылку на скачивание на www.exploringarduino.com) и скачайте заархивированный пакет в соответствии с вашей операционной системой. Затем распакуйте его и программа будет готова к работе!

Запустите Processing, и вы должны увидеть окно программы, которое выглядит как на рис. 6.12.

6.7.3. Плата Arduino управляет приложением на Processing

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

- 137 -

Рис. 6.12. Графический интерфейс Processing. Узнаете?

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


Листинг 6.6. Программа для отправки даных в компьютер - pot_to_processing/arduino_read_pot

// Отправка данных от потенциометра на компьютер

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

int val;// Переменная для хранения значения потенциометра


void setup()

{

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

// на скорости 9600

}

void loop()

{

- 138 -


val = map(analogRead(POT), 0, 1023, 0, 255);//Чтение значения потенциометра

Serial.println(val);//Отправка значения

delay(50);//Задержка 50 мс

}


Теперь напишем код для обработки входящих данных.

Программа из листинга 6.7 считывает данные из буфера последовательного порта и регулирует яркость цвета на экране вашего компьютера в зависимости от полученного значения. Скопируйте листинг 6.7 и внесите одно важное изменение. В программе на Processing должен быть указан конкретный последовательный порт получения данных. Замените "COM3" на номер вашего последовательного порта. Помните, что в Linux и Mac он будет выглядеть примерно как /dev/ttyUSBO. Если вы не уверены, скопируйте точное название порта из Arduino IDE.

Листинг 6.7. Код Processing для получения данных и изменения цвета экрана - pot_to_processing/processing_display_color

// Программа на Processing для чтения переменной и изменения цвета экрана

// Подключение и инициализация библиотеки Serial

import processing.serial.*;

Serial port;

float brightness = 0; // Переменная Для хранения значения потенциометра


void setup()

{

// Размер окна

size(500,500);

port = new Serial(this, "COM3", 9600); // Инициализация

// последовательного порта

port.bufferUntil('\n');// Символ конца строки

}

void draw()

{

background(0,0,brightness);

}

// Перерисовать окно

void serialEvent(Serial port)

{

brightness = float(port.readStringUntil('\n')); // Получить переменную

}

После загрузки кода в Processing IDE и правильной инициализации последовательного порта убедитесь, что монитор последовательного порта Arduino IDE не открыт. К конкретному последовательному порту может иметь доступ только одна программа на компьютере. В окне Processing-приложения нажмите кнопку Выпол

- 139 -

нить (кнопка с изображением треугольника в верхнем левом углу окна), при этом должно появиться небольшое окно. При повороте движка потенциометра цвет окна должен меняться от черного к синему (рис. 6.13).


Рис. 6.13. Изменение цвета окна Processing-приложения

Теперь, когда вы видели результат, для лучшего понимания рассмотрим, как это работает. В отличие от Arduino, библиотека serial не импортируется автоматически. Объявив import processing. serial. * и Serial port, вы импортируете библиотеку serial и создаете объект serial под названием port.

Как и в Arduino, в Processing тоже есть функция setup(), которая работает только в начале программы. В этом примере функция setup() задает последовательный порт и создает окно размером 500x500 пикселов командой size (500, 500). Команда port = new Serial (this, "COM3", 9600) сообщает Processing о создании экземпляра последовательного порта. Экземпляр (под названием port) будет работать и общаться на COM3 (или другом последовательном порту) со скоростью 9600 бод.

Скорость обмена данными между платой Arduino и программой на компьютере должна быть задана одинаковой, в противном случае возникнут ошибки. Команда port.bufferuntil ( '\n') сообщает Processing-приложению о буферизации последовательного ввода до получения символа новой строки ('\n' ).

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

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

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Внутреннее устройство Microsoft Windows (гл. 1-4)
Внутреннее устройство Microsoft Windows (гл. 1-4)

Книга посвящена внутреннему устройству и алгоритмам работы основных компонентов операционной системы Microsoft Windows — Windows Server 2003, Windows XP и Windows 2000 — и файловой системы NTFS. Детально рассмотрены системные механизмы: диспетчеризация ловушек и прерываний, DPC, APC, LPC, RPC, синхронизация, системные рабочие потоки, глобальные флаги и др. Также описываются все этапы загрузки операционной системы и завершения ее работы. B четвертом издании книги больше внимания уделяется глубокому анализу и устранению проблем, из-за которых происходит крах операционной системы или из-за которых ее не удается загрузить. Кроме того, рассматриваются детали реализации поддержки аппаратных платформ AMD x64 и Intel IA64. Книга состоит из 14 глав, словаря терминов и предметного указателя. Книга предназначена системным администраторам, разработчикам серьезных приложений и всем, кто хочет понять, как устроена операционная система Windows.Названия всех команд, диалоговых окон и других интерфейсных элементов операционной системы приведены как на английском языке, так и на русском.Версия Fb2 редакции — 1.5. Об ошибках просьба сообщать по адресу — general2008@ukr.net.

Дэвид Соломон , Марк Руссинович

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT