Перейти к содержимому

Как подключить arduino к labview

  • автор:

Введение в LabVIEW программирование, используя Arduino Toolkit

  1. Разработка основного цикла программы.
    1. Запустите LabVIEW. Выберите New Blank VI (новый ВП(Виртуальный прибор)). Сохраните файл.
    2. Разместите кнопку на передней панели.
    3. Установите LED-индикатор на передней панели.
    4. Переключитесь на блок-схему и создайте While-цикл (расположенный в палитре Structures) вокруг двух логических ВП.
    5. Соедените два логических ВП вместе.
    6. Запустите ВП. Наблюдайте за его работой. Ииндикатор должен гореть при нажатии кнопки.
    7. Откройте диспетчер задач операционной системы и обратите внимание на использование процессора. Мы будем использовать это значение в разделе 3.
    8. Нажмите кнопку STOP, чтобы остановить цикл.
    9. Добавьте Arduino INIT VI, Set Pin Mode VI, и Close VI снаружи цикла.
    10. Добавить Arduino Digital Write Pin VI внутри цикла.
    11. Добавьте элементы управления и константы как показано на рисунке
    12. Добавьте Boolean To (0,1) VI внутри цикла и подключить его вход и выход как показано.
    13. Подключите Arduino к компьютеру и светодиод/резистор к контакту 2 I/O и к земле.
    14. Запустите ВП. Наблюдайте за его работой. Нажмите кнопку STOP, чтобы остановить цикл.
    15. Сохраните файл.

  2. Чтение состояния входного сигнала и управление выходным сигналом.
    1. Добавьте другой Arduino Set Pin Mode VI рядом с первым.
    2. Добавьте Arduino Digital Write VI после Set Pin Mode ВП.
    3. Добавьте Arduino Digital Read Pin VI внутри цикла рядом с Digital Write VI.
    4. Добавьте элементы управления и константы как показано на рисунке.
    5. Удалите кнопку и Boolean To (0,1) VI.
    6. Подключите выход Arduino Digital Read Pin VI к входу Arduino Digital Write Pin.
    7. Добавьте Not Equal To 0? VI и соедените как показано.
    8. На Arduino добавьте нормально закрытый кнопочный переключатель, подключенный к контакту 3 и к земле.
    9. Запустите ВП. Нажмите переключатель. Наблюдайте за работой. Подключенный индикатор будет светиться, если нажат переключатель. Нажмите кнопку STOP, чтобы остановить цикл.
    10. Сохраните файл.

  3. Добавление таймера задержки в цикл.
    1. Добавить Wait (ms) VI внутри цикла.
    2. Подключите к нему константу 100, как показано на рисунке.
    3. Запустите ВП и обратите внимание на использование процессора сейчас. Сравните это значение с полученным в пункте 1. Ожидание уменьшает нагрузку на процессор.
    4. Добавьте Time Delay VI между Digital Read Pin VI и Digital Write Pin VI, соеденив Error In и Error Out.
    5. Подключите к Time Delay VI константу 1, как показано на рисунке.
    6. Запустите ВП и наблюдайте за роботой. Нажмите кнопку STOP, чтобы остановить цикл.
    7. Сохраните файл.

Библиотека Arduino в LabVIEW

Цель работы: научиться создавать программы на LabVIEW, работающие под управлением LabVIEW.

Задача 1: подключить библиотеку Arduino.

Задача 2: создать программу записи и чтения состояния порта.

Задача 3: создать программу управления цветом трехцветного светодиода.

Задача 4: создать программу чтения из аналогового порта с выводом на график.

  • 6.8.1. Подготовка к работе
  • 1. Установите VI Package Manager 2010. VIPM необходим нам для скачивания и установки нужных библиотек [1][2] .
  • 2. Далее нужно зашить в память платы Arduino программу, которая позволяет обмен данными между ней и программой на LabVIEW через COM-порт, для этого:
  • — откройте Arduino IDE;
  • — выберите меню Файл — Открыть, пройдите по пути С: Program Files (x86)Nation Instruments LabVIEW 2010 vi.lib LabVIEW Interface for Arduino Firmware LIFA_Base и откройте LIFA_Base.ino.
  • — загрузите прошивку.
  • 3. Запустите LabVIEW.

Вкладка «библиотека Arduino» находится в корневой части панели Functons. В библиотеке достаточно много функций, сгруппированых логически: библиотека работы с датчиками и сенсорами, с двигателями и LCD-матрицами и, собственно, библиотеки для работы с самой платой и интерфейсами. На рис. 6.20 представлены панели функций и объектов библиотеки по мнемоникам, на значках функций очевидно их назначение.

Панели библиотеки Arduino

Рис. 6.20. Панели библиотеки Arduino:

а — главная панель функций библиотеки; б — панель объектов FP; в — панель функций доступа к периферии

4. Проверьте совместную работу LabVIEW и Arduino, для этого напишите в LabVIEW программу, как показано на рис. 6.21, установив функции Init и Close, а также необходимые константы.

Программа проверки работоспособности Arduino

Рис. 6.21. Программа проверки работоспособности Arduino

Не забудьте указать конкретный COM-порт и скорость передачи данных. А главное — помните, что платы Arduino от неофициальных производителей не всегда могут корректно работать.

  • [1] Программа может работать достаточно медленно, и это особенностипрограммирования в LabVIEW. Данный вопрос не будем обсуждать в этомкурсе.
  • [2] Найти и установить библиотеки можно через поиск VIPM-библиотеки дляработы с платой. Достаточно в поиске написать «Arduino». Также библиотекиможно скачать через FTP: N1 LabVIEW Interface for Arduino Toolkit.

Arduino.ru

In file included from C:\Program Files\National Instruments\LabVIEW 2018\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base\LabVIEWInterface.ino:34:0:

AFMotor.h:9:20: error: avr/io.h: No such file or directory

avr/io.h: No such file or directory »
Прилагаю также скриншот данной ошибки:

В менеджере плат версия платы стоит последняя, в подключенных устройствах Windows все драйвера также обновлены.
Прошу помощи в решении данной проблемы.

  • Войдите на сайт для отправки комментариев

Пнд, 08/07/2019 — 15:56

BOOM аватар

Зарегистрирован: 14.11.2018

Он же вам по англицки написал — «Не могу мол найти файл avr/io.h».

  • Войдите на сайт для отправки комментариев

Пнд, 08/07/2019 — 16:19
Зарегистрирован: 05.07.2019

да, это я понял
но стоит такая проблема, как полная неизвестность того, откуда этот файл взять
где вот его найти?

ведь файл, при компиляции которого появляется данная проблема — LIFA_Base.ino
как я понимаю, это скетч, отвечающий при прошивании за взаимосвязь моей Arduino с LabView(LV)
он является уже заранее прописанным и скачивается вместе с библиотекой Arduino для LV
сама ардуино точно рабочая — это проверено путём запуска простейшей программы с мигающим светодиодом.

  • Войдите на сайт для отправки комментариев

Пнд, 08/07/2019 — 17:08

BOOM аватар

Зарегистрирован: 14.11.2018

Тогда, получается, для начала нужно пройтись поиском и, если не найдется библиотек, то скачать (например, отсюда ?)

  • Войдите на сайт для отправки комментариев

Пнд, 08/07/2019 — 17:30

ЕвгенийП аватар

Зарегистрирован: 25.05.2015
kuz9sh пишет:
откуда этот файл взять
А надо его брать?

Этот файл от avr, а у Вас due, как я понял. Так какого хрена Вы своей due библиотеки от avr пихаете?

Надо не файл искать, а искать нужные библиотеки для due и пользовать их. Им этот файл не нужен.

  • Войдите на сайт для отправки комментариев

Пнд, 08/07/2019 — 18:20

Jeka_M аватар

Зарегистрирован: 06.07.2014

Библиотека Adafruit Motor shield library (AFMotor) древняя от 2009 года. Arduino DUE (МК SAM3X8E) не поддерживается, только платы с МК AVR.

И скорее всего там ещё в каких-то библиотеках DUE не поддерживается, т.к. сама LIFA тоже древняя, последнее обновление от 2011 года.

  • Войдите на сайт для отправки комментариев

Чт, 11/07/2019 — 14:53
Зарегистрирован: 05.07.2019

как советовал BOOM, подкачал библиотеки
и появилась, как мне кажется, уже последняя ошибка: «this chip is not supported»
и это, полагаю, подтверждение слов Jeka_M
если Due действительно «слишком» новая для этих библиотек и необходимо использовать что-то постарше..
то что стоит попробовать?
«платы с МК AVR» — какие могут подойти?
например, Arduino Leonardo с ATmega32u4 или Mega 2560 R3 с ATmega2560 могут быть использованы для данной задачи?
или может быть стоит использовать «стандартную» Uno?
ЕвгенийП, как я понял из остальных ответов, Due в принципе не поддерживается в плане работ с LabView
думаете, существуют библиотеки, позволяющие осуществить такое взаимодействие?

  • Войдите на сайт для отправки комментариев

Подключение LabVIEW к Arduino Uno

LabVIEW является средой визуального моделирования различных процессов современного мира с широкими возможностями, поэтому интеграция платформы Arduino с данной средой открывает много возможностей по реализации совершенно уникальных проектов. В данной статье мы рассмотрим подключение среды LabVIEW к плате Arduino Uno.

Подключение среды визуального моделирования LabVIEW к Arduino Uno

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

Необходимые инструменты

Для подключения LabVIEW к плате Arduino нам будет необходимо следующее программное обеспечение:

  • LabVIEW (software);
  • NI VISA (software);
  • VI packet manager (software);
  • Arduino IDE (software);
  • LINX — эта программа доступна внутри VI package manager, откройте VI package manager и поищите пакет (программу) LINX внутри него, после того как найдете дважды кликните на ней. После этого запустится окно установки программы, нажмите там кнопку install и установите данную программу;
  • LabVIEW Interface for Arduino (интерфейс LabVIEW для Arduino) – будет доступен внутри пакета VI package manager, откройте VI package manager и поищите LabVIEW Interface for Arduino внутри него, после того как найдете дважды кликните на нем. После этого запустится окно установки программы (на рисунке ниже), нажмите там кнопку install и установите данную программу.

Интерфейс LabVIEW для Arduino

Установка пакета для работы с Arduino

Мигание светодиодом с помощью Arduino и LabVIEW

Выполните следующую последовательность действий (более подробно они показаны на видео, приведенном в конце статьи):

  1. Запустите LabVIEW.

2. Запустите графическое кодирование (graphical coding);

Вид окна графического кодирования в LabVIEW

4. В Block diagram window сделайте клик правой кнопкой мыши и выберите Makerhub >> LINX >> Close. Drag & drop Close.

5. В Block diagram window сделайте клик правой кнопкой мыши и выберите Makerhub >> LINX >> Digital >>Write. Drag & drop Write. Затем создайте управление (controls) на втором и третьем тонком конце проводника кликнув на каждом из них индивидуально и выбрав Create >> Control. Таким образом создастся канал D0 (D0 channel) и выходное значение (Output Value).

6. В Block diagram window сделайте клик правой кнопкой мыши и выберите Structures >> While loop. Перетащите While loop через Digital write. Затем создайте регистр сдвига (Shift register) с помощью клика правой кнопкой мыши на While loop.

7. В Block diagram window сделайте клик правой кнопкой мыши и выберите Makerhub >> LINX >> Utilities >> Loop rate. Drag & drop его в While loop.

8. В Block diagram window сделайте клик правой кнопкой мыши и выберите Boolean >> or. Drag & drop его внутрь While loop.

9. В Block diagram window сделайте клик правой кнопкой мыши и выберите Timing >> Wait(ms). Drag & drop Wait(ms) в While loop и создайте константу для него при помощи клика правой кнопкой мыши на конце проводника, который относится к Wait(ms) и выберите Create >> Constant.

10. В Front panel window сделайте клик правой кнопкой мыши и выберите Boolean >> Stop button. После этого stop button (кнопка останова) появится в Block diagram window. Drag & drop его внутрь While loop.

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

Созданная схема в LabVIEW

Подключение кода LabVIEW к Arduino

Выполните следующую последовательность действий:

  1. После создания графической программы выберите пункт меню Tools >> Makerhub >> LINX >> LINX Firmware wizard.

Запуск оболочки LINX

2. После этого откроется окно LINX Firmware wizard, в котором выберите в качестве семейства устройств (Device Family) Arduino, тип устройства (Device type) — Arduino Uno, метод загрузки программы (Firmware Upload Method) — Serial/USB. Затем нажмите кнопку Next.

Выбор начальных настроек в LINX

3. Соедините плату Arduino с вашим компьютером (ПК) с помощью USB кабеля.

4. В следующем открывшемся окне LINX Firmware wizard (см. рисунок ниже) выберите порт для Arduino из выпадающего списка – выберите в нем COM4. Затем нажмите Next дважды.

Выбор порта для Arduino в LINX

5. Нажмите кнопку Finish (закончить).

6. Поздравляем, вы подключили плату Arduino к LabVIEW по последовательному порту связи.

Запуск программы

Выберите Continuously Run Icon, затем в окне (см. рисунок) выберите порт и введите номер цифрового контакта. Затем с помощью нажатия Output Value (который здесь работает как переключатель On & Off – включить/выключить) вы можете увидеть как встроенный в плату Arduino мигает, он будет мигать до тех пор пока вы не выключите Output Value.

Запуск созданной нами программы в LabVIEW

Более подробно все описанные в статье процессы можно посмотреть на следующем видео:

Если эта статья вызовет интерес, то могу перевести статью и про начало работы со средой LabVIEW с того же самого сайта, с которого я перевел эту статью.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *