Как извлечь информацию из графа Arduino. Или из программного обеспечения для обработки, связанного с Arduino - PullRequest
0 голосов
/ 26 августа 2018

Я использую датчик ЭКГ AD8232 и мне нужен интервал PR, интервал OT, пик R и т. Д. Я могу сгенерировать график. Но из графика мне нужны эти параметры для программного извлечения Может кто-нибудь мне помочь.

1 Ответ

0 голосов
/ 26 августа 2018

Программное обеспечение Arduino фактически было частично основано на обработке - в этом прелесть проектов с открытым исходным кодом. Когда у нас будет открытый эскиз, наш первый шаг - импортировать библиотеку Serial. Перейдите в Sketch-> Import Library-> Serial

Теперь вы должны увидеть строку вроде import processing.serial. *; в верхней части вашего эскиза. Магия! Под нашим оператором импорта мы должны объявить некоторые глобальные переменные. Все это означает, что эти переменные могут использоваться в любом месте нашего эскиза. Добавьте эти две строки под оператором импорта:

Serial myPort;  // Create object from Serial class
String val;     // Data received from the serial port

Чтобы прослушивать любую последовательную связь, нам нужно получить Serial-объект (мы называем его myPort, но вы можете делать это как угодно), который позволяет нам прослушивать последовательный порт на нашем компьютере для любых поступающих данных. Нам также нужна переменная для получения поступающих фактических данных. В этом случае, поскольку мы посылаем строку (последовательность символов «Hello, World!») Из Arduino, мы хотим получить строку в обработке. Так же, как в Arduino есть setup () и loop (), в Processing есть setup () и draw () (вместо loop).

Для нашего метода setup () в Processing мы найдем последовательный порт, к которому подключен Arduino, и настроим наш объект Serial для прослушивания этого порта.

void setup()
{
  String portName = Serial.list()[0]; //change the 0 to a 1 or 2 etc. to match your port
  myPort = new Serial(this, portName, 9600);
}

Помните, как мы установили Serial.begin (9600) в Arduino? Что ж, если нам не нужен тот бред, о котором я говорил, нам лучше поставить 9600 в качестве последнего аргумента в нашем объекте Serial и в Processing. Таким образом, Arduino и Processing взаимодействуют с одинаковой скоростью. Счастливые времена!

В нашем цикле draw () мы собираемся прослушать наш последовательный порт, и мы что-то получим, вставим это в переменную val и распечатаем это на консоли (эта черная область в нижней части эскиза обработки). ).

void draw()
{
  if ( myPort.available() > 0) 
  {  // If data is available,
  val = myPort.readStringUntil('\n');         // read it and store it in val
  } 
println(val); //print it out in the console
}

Ta-Da! Если вы нажмете кнопку «Выполнить» (и ваш Arduino подключен с кодом, загруженным на предыдущей странице), вы должны увидеть небольшое всплывающее окно, а через секунду вы увидите «Hello, World!» появляются в консоли обработки. Снова и снова. Отлично! Теперь мы победили, как отправлять данные из Arduino в Processing. Наш следующий шаг - выяснить, как пойти противоположным путем - отправка данных из Processing в Arduino.

...