Как я могу прочитать Adafruit INA 219 в LabVIEW? Как я могу получить последовательные данные от Arduino с помощью LabVIEW? - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь считывать напряжение и ток с датчика Adafruit INA 219 с помощью Arduino, и получаю правильные результаты. Проблема в том, что мне нужны результаты для их анализа, и мне нужно прочитать значения датчика в LabVIEW или отправить результаты из Arduino в Labview.

Код Arduino:

#include <Wire.h>
#include <Adafruit_INA219.h>

Adafruit_INA219 ina219;


void setup(void) 
{
  Serial.begin(115200);
  while (!Serial) {
      // will pause Zero, Leonardo, etc until serial console opens
      delay(1);
  }

  uint32_t currentFrequency;

  Serial.println("Hello!");

  // Initialize the INA219.
  // By default the initialization will use the largest range (32V, 2A).  However
  // you can call a setCalibration function to change this range (see comments).
  ina219.begin();
  // To use a slightly lower 32V, 1A range (higher precision on amps):
  //ina219.setCalibration_32V_1A();
  // Or to use a lower 16V, 400mA range (higher precision on volts and amps):
  //ina219.setCalibration_16V_400mA();

  Serial.println("Measuring voltage and current with INA219 ...");
}

void loop(void) 
{
  float shuntvoltage = 0;
  float busvoltage = 0;
  float current_mA = 0;
  float loadvoltage = 0;

  shuntvoltage = ina219.getShuntVoltage_mV();
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  loadvoltage = busvoltage + (shuntvoltage / 1000);

  Serial.print("Bus Voltage:   "); Serial.print(busvoltage); Serial.println(" V");
  //Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV");
  Serial.print("Load Voltage:  "); Serial.print(loadvoltage); Serial.println(" V");
  Serial.print("Current:       "); Serial.print(current_mA); Serial.println(" mA");
  Serial.println("");

  delay(500);
}

Попробуйте прочитать Adafruit INA 219 с помощью LabVIEW

1 Ответ

1 голос
/ 03 июня 2020

В настоящее время ваши значения считываются Arduino и отправляются в виде строк на последовательный порт.

Если вы хотите использовать этот формат для связи с LabVIEW, вам не нужно использовать инструментарий LINX - вы можете просто использовать последовательный порт через узлы VISA.

Затем вам нужно будет преобразовать строки в числовые c значения, чтобы иметь возможность делать с ними что-то «полезное». Вы можете попробовать использовать что-то вроде Match Pattern или Match Regular Expression .

Что-то вроде этого, вероятно, то, что вы ищете: LabVIEW code to read Serial port

В стороне, хотя мне нравится StackOverflow в целом, на вопросы, связанные с LabVIEW, вы, вероятно, получите более быстрый ответ на forum.ni.com (и с меньшей вероятностью будут закрыты как связанные с обсуждением или дубликат).

...