Введение в LabVIEW программирование, используя Arduino Toolkit
- Разработка основного цикла программы.
- Запустите LabVIEW. Выберите New Blank VI (новый ВП(Виртуальный прибор)). Сохраните файл.
- Разместите кнопку на передней панели.
- Установите LED-индикатор на передней панели.
- Переключитесь на блок-схему и создайте While-цикл (расположенный в палитре Structures) вокруг двух логических ВП.
- Соедените два логических ВП вместе.

- Запустите ВП. Наблюдайте за его работой. Ииндикатор должен гореть при нажатии кнопки.
- Откройте диспетчер задач операционной системы и обратите внимание на использование процессора. Мы будем использовать это значение в разделе 3.
- Нажмите кнопку STOP, чтобы остановить цикл.
- Добавьте Arduino INIT VI, Set Pin Mode VI, и Close VI снаружи цикла.
- Добавить Arduino Digital Write Pin VI внутри цикла.
- Добавьте элементы управления и константы как показано на рисунке

- Добавьте Boolean To (0,1) VI внутри цикла и подключить его вход и выход как показано.

- Подключите Arduino к компьютеру и светодиод/резистор к контакту 2 I/O и к земле.
- Запустите ВП. Наблюдайте за его работой. Нажмите кнопку STOP, чтобы остановить цикл.
- Сохраните файл.
- Чтение состояния входного сигнала и управление выходным сигналом.
- Добавьте другой Arduino Set Pin Mode VI рядом с первым.
- Добавьте Arduino Digital Write VI после Set Pin Mode ВП.
- Добавьте Arduino Digital Read Pin VI внутри цикла рядом с Digital Write VI.
- Добавьте элементы управления и константы как показано на рисунке.

- Удалите кнопку и Boolean To (0,1) VI.
- Подключите выход Arduino Digital Read Pin VI к входу Arduino Digital Write Pin.
- Добавьте Not Equal To 0? VI и соедените как показано.

- На Arduino добавьте нормально закрытый кнопочный переключатель, подключенный к контакту 3 и к земле.
- Запустите ВП. Нажмите переключатель. Наблюдайте за работой. Подключенный индикатор будет светиться, если нажат переключатель. Нажмите кнопку STOP, чтобы остановить цикл.
- Сохраните файл.
- Добавление таймера задержки в цикл.
- Добавить Wait (ms) VI внутри цикла.
- Подключите к нему константу 100, как показано на рисунке.

- Запустите ВП и обратите внимание на использование процессора сейчас. Сравните это значение с полученным в пункте 1. Ожидание уменьшает нагрузку на процессор.
- Добавьте Time Delay VI между Digital Read Pin VI и Digital Write Pin VI, соеденив Error In и Error Out.
- Подключите к Time Delay VI константу 1, как показано на рисунке.

- Запустите ВП и наблюдайте за роботой. Нажмите кнопку STOP, чтобы остановить цикл.
- Сохраните файл.
Библиотека 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 представлены панели функций и объектов библиотеки по мнемоникам, на значках функций очевидно их назначение.

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

Рис. 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

Зарегистрирован: 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

Зарегистрирован: 14.11.2018
Тогда, получается, для начала нужно пройтись поиском и, если не найдется библиотек, то скачать (например, отсюда ?)
- Войдите на сайт для отправки комментариев
Пнд, 08/07/2019 — 17:30

Зарегистрирован: 25.05.2015
kuz9sh пишет:
откуда этот файл взять
А надо его брать?
Этот файл от avr, а у Вас due, как я понял. Так какого хрена Вы своей due библиотеки от avr пихаете?
Надо не файл искать, а искать нужные библиотеки для due и пользовать их. Им этот файл не нужен.
- Войдите на сайт для отправки комментариев
Пнд, 08/07/2019 — 18:20

Зарегистрирован: 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 состоит из строчек кода, но когда мы подключим 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 и установите данную программу.


Мигание светодиодом с помощью Arduino и LabVIEW
Выполните следующую последовательность действий (более подробно они показаны на видео, приведенном в конце статьи):
- Запустите LabVIEW.
2. Запустите графическое кодирование (graphical coding);

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 к Arduino
Выполните следующую последовательность действий:
- После создания графической программы выберите пункт меню Tools >> Makerhub >> LINX >> LINX Firmware wizard.

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

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

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

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