Подключение Arduino к Matlab
1. Настройка среды IDE Arduino
Для начала необходимо организовать подключение Arduino к Вашему компьютеру, для этого:
— качаем и распаковываем среду Arduino (путь №1)
— устанавливаем драйвера устройства, проверяем какой порт используется для подключения (Панель управления / Диспетчер устройств/ Порты (COM и LTP)
Запускаем среду Arduino
Выбираем во вкладке «Сервис/Плата» свою плату контроллера
Проверяете правильность выбора порта для подключения
2. Настройка Matlab
Далее необходимо скачать пакет ArduinoIO с официального сайта MathWorks: http://www.mathworks.com/matlabcentral/fileexchange/32374 и распаковать его в рабочую папку MATLAB (путь2, например D: MATLAB)
Содержимое папки
Из среды Arduino открываем файл adioes.pde из содержимого пакета (путь 2), например D: MATLABArduinoIOpdedioesdioes.pde, и загружаем его в Arduino
После успешной прошивки Arduino запускаем MATLAB. Выбираем в качестве рабочей директории путь 2 например D: MATLABArduinoIO
Выполняем команду
>> install_arduino
>> savepath
В консоли MATLAB создаем новый объект, указывая соответствующий СОМ порт:
>> a=arduino(‘COM3’)
Attempting connection…
Basic I/O Script detected!
Arduino successfully connected!
Для пользователей Linux перед этим действием необходимо в каталоге /usr/local/MATLAB/R2012a/bin/glnx86 создать файл с именем java.opts. Внутри файла написать строку, в которой перечисляются порты, к которым может быть подключена Arduino:
-Dgnu.io.rxtx.SerialPorts=/dev/ttyS0:/dev/USB0:/dev/ttyACM0:/dev/ACM1
На этом этапе у многих возникают ошибки
В случае уведомления об ошибке:
— проверьте правильность подключения, используемый порт;
— проверьте правильность выполнения загрузки прошивки на плату из среды Arduino, возможно заливка прошла также с ошибкой.
3. Работа с Arduino из среды Matlab
В случае правильного подключения
Используем один из вариантов команд для получения или установки режима указанного pin:
Для чтения и записи в переменную val цифрового сигнала с pin 4 используем один из вариантов команд
Для записи «0» или «1» на цифровой pin13 используем один из вариантов команд
Аналогично организовано обращение к аналоговым контактам
Пример. Включим светодиод на плате:
>>a.pinMode(13,’OUTPUT’)
>>a.digitalWrite(13,0)
Диод потух
>>a.digitalWrite(13,1)
Диод светится.
Пробуем прочитать данные с аналогового входа:
>> val =a.analogRead(1)
val =
204
Для завершения работы в командном режиме MATLAB используем одну из вариантов записи команды
>> delete(a);
>> a.delete;
Если не завершить начатую сессию, данное подключение не будет доступно другим программам и оборудованию.
Подключим Arduino к SIMULINK
• Указываем путь к папке simulink из пакета ArduinoIO, например D: MATLAB ArduinoIO
•
Запускаем среду SIMULINK и смотрим наличие библиотеки ArduinoIO
В библиотеке в наличии блоки для подключения, чтения и записи аналоговых и цифровых контактов, сервомотора и шагового двигателя.
Необходимо обратить внимание на тип решателя и время просчета 0.2, что настраивается в Simulation/Configuration Parameters.