С помощью настраиваемого инструмента разработки интерфейса с arduino - новости

С помощью настраиваемого инструмента разработки интерфейса с arduino - новости
С помощью настраиваемого инструмента разработки интерфейса с arduino - новости
Anonim

Использование инструмента разработки настраиваемого интерфейса с Arduino

Очень популярны инструменты разработки, которые позволяют создавать инструменты интерфейса drag-and-drop для проектов Arduino и Raspberry Pi. Я взял его в руки, чтобы использовать его в уникальном проекте химии - вот как все прошло.

Несколько месяцев назад я столкнулся с интересной задачей. Я преподаю в школьном клубе, ориентированном на STEM, и студент объяснил, что он создает кристаллы висмута и нуждается в помощи с несколько уникальной проблемой.

Если вы не помните из класса химии (я этого не сделал), висмут - это элемент, атомный номер 83. Это серебристый мягкий металл, который твердый, но хрупкий при комнатной температуре. Если вы расплавите его, а затем дайте ему остыть, он образует кристаллы. Из-за окисления кристаллы приобретают некоторые удивительные цвета: от розового до зеленого до синего. Мой ученик делал кристаллы и продавал их, но хотел, чтобы он контролировал и регистрировал температуру металла, когда он нагревался и охлаждался. Таким образом, если бы он получил кристалл, который ему нравился, он мог бы попытаться воспроизвести его.

Некоторое время спустя у нас было несколько сценариев Python, которые будут контролировать температуру, отображая ее как линейный график на экране компьютера и записывая его в файл CSV для дальнейшего использования. Это было некрасиво, но это сработало. С тех пор я вернулся и заменил весь наш грязный код на одну программу: MegunoLink.

Что это делает? "Src =" // www.allaboutcircuits.com/uploads/articles/Powell_MegunoLink_1.jpg" />

Моя установка фоторезистора

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

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

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

Код

Программа, созданная для MegunoLink, в значительной степени похожа на то, что вы можете использовать для любого другого проекта. Обратите внимание, что я создал объект «TimePlot» и что вместо печати в Serial я использовал функции библиотеки MegunoLink.


#include "MegunoLink.h" int tmpsns = A1; TimePlot tempPlot("tmp"); void setup() { pinMode(tmpsns, INPUT); Serial.begin(115200); //pick your favorite baud rate! } void loop() { int tempRead = analogRead(tmpsns); //read sensor tempPlot. SendData("Temp", tempRead); //send data to plot delay(100); }

Чтение результатов проекта

Загрузите свой код, запустите MegunoLink, затем перетащите несколько панелей, чтобы получить то, что вам нужно. Чтобы получить некоторые данные, на которые стоит обратить внимание, я немного помахал рукой над датчиком.

Среди наших панелей для этого проекта у нас есть базовый последовательный монитор. Обратите внимание на то, как данные помечены.

Image
Image

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

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

Если вам нужно, вы даже можете обрабатывать более одного графика за раз, хотите ли вы их в отдельных панелях или накладывать на одной панели. Вы также можете использовать теги данных, чтобы направлять информацию в таблицу, на определенный последовательный монитор или на стандартный график x, y (вам, конечно же, нужно будет указать значение для обеих осей).

Image
Image

Обеспечение ввода в проект

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

Например, я создал панель с тремя кнопками.

Image
Image

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

Конечно, программа не подходит для каждого приложения. Если вы просто мигаете светом, MegunoLink может быть сложнее, чем ваш проект. Он также совместим только с Windows и требует немного инсталляции, но он хорошо работает. Если вы ищете более простой способ чтения данных или отправки ввода в проект Arduino или Raspberry Pi, MegunoLink может быть вам очень подходит.

MegunoLink имеет бесплатную пробную версию, если вы хотите попробовать ее в одном из своих проектов. У вас есть любимый инструмент разработки интерфейса для Arduino или Raspberry Pi, особенно тот, который работает на Mac или Linux? Дайте нам знать об этом в комментариях!