Иногда полезно непосредственно связать поделку на Arduino с ПК и изобразить на мониторе эффектный график. Проще всего это сделать с использованием Processing.

Как говорит википедия  :
«Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы. Используется студентами, художниками, дизайнерами, исследователями и любителями, для изучения, прототипирования и производства…»

Скачать Processing IDE и изучить справочник по языку можно на официальном сайте.

Скачать библиотеку Processing для связи с Arduino и все настроить  можно здесь, но эта библиотека нам не понадобится. Не нужен и протокол Firmata. Основная логика у нас так и останется на Arduino. Processing нам будет нужен только для визуализации. Поэтому просто  передаем  данные от поделки на Arduino через последовательный порт в компьютер, где этот поток данных уже встретит скетч на Processing и выдаст на экран монитора какую-нибудь картинку, возможно красивую.

Разберем всё это на конкретном примере для нашего правильного вольтметра.

Я вам не говорил, но ко мне приехала китайская реплика китайской же зарядки для любителей — IMAX B6 (да-да, китайцы уже копируют сами себя, больше некого).

IMAX B6 без корпуса

IMAX B6 без корпуса

Так вот в моем IMAX B6 не оказалось возможности подключения по USB к ПК для рисования всяких красивых графиков. Нет ни разъема, ни деталей на плате, ни пункта в меню прошивки.

Вот и восполним (частично, т.е. пока без амперметра) этот пробел, соединив наш вольтметр на Arduino и ПК, и заставим последний чего-нибудь этакое изобразить.

Настройка скетча для языка Processing (расширение .pde) заключается в указании индекса последовательного порта конкретного ПК в который пишет/посылает данные Arduino. Вот это место:

Читать ещё :   Раздел Arduino завершен

И далее необходимо настроить пределы отображаемых на графике напряжений вот здесь:

Как помним, наш высокоточный вольтметр может измерять постоянное напряжение от 0В до 50В, но так как я измерял аккумулятор на 1.2В, то для наглядности графика в Processing-скетче установил значения 0.8—1.7.

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

Дополнительно, для дальнейшей обработки данных в электронных таблицах Libre Office  (Microsoft давайдосвиданья), все данные пишутся в файл true-voltmeter.csv (в ASCII формате CSV), который будет находиться  в каталоге Processing-скетча. Формат файла:

дата ; время ; величина напряжения (В)

Дата и время берутся с часов ПК.

Порядок действий. Заливаете скетч в Arduino, запускаете Processing-скетч на ПК. Наблюдаете график похожий на этот.

Arduino + Processing

Arduino + Processing

Или смотрите в CSV-файл, похожий на этот

10.02.2015;21:57:11;1.32
10.02.2015;21:57:12;1.29
10.02.2015;21:57:13;1.3
10.02.2015;21:57:14;1.32
10.02.2015;21:57:15;1.32
10.02.2015;21:57:16;1.31
10.02.2015;21:57:17;1.31

Все остальные красивости, как-то : подписать оси координат, сделать 3-D и прочее ненужное, можно наворачивать по ходу изучения языка Processing.

Читать ещё :   Раздел Arduino завершен

Ссылки: