В настоящее время я работаю с Matlab 2018b с последним пакетом поддержки для оборудования Arduino. Я работаю с Arduino Due Board. Я хотел бы прочитать синусоидальный сигнал с частотой 50 Гц. Я разработал скрипт, который позволял мне читать образец каждые 50 мс. Несмотря на то, что сигнал, который должен быть прочитан, имеет период 20 мс. Оптимальная скорость считывания этого сигнала будет составлять 1 выборку каждые мс.
Я пытался увеличить BaudRate, но пакет поддержки для оборудования Arduino позволяет вам подключаться через плату только с этим кодом, а программное обеспечение не предоставило никакой возможности.
Я пытался создать последовательное соединение, но после этого у меня возникают проблемы с использованием специальных функций для Arduino.
clc, clear all, close all;
% set initial index, voltage and time value
k = 0; %index
v = 0; %voltage
t = 0; %time
tmax = 20;
% create arduino object
a = arduino('COM4', 'Due');
pause (1);
display("starting to read")
tic % Start timer
while toc <= tmax
k = k + 1;
v(k) = readVoltage(a,'A1');
t(k) = toc;
end