Matlab error when reading analogVoltage from Arduino "The first input must contain a multiple of 2 elements to convert from uint8 (8 bits) to uint16 (16 bits)."
14 次查看(过去 30 天)
显示 更早的评论
Hello,
I would like to control the position of a linear motor by reading the output from a linear potentiometer connected to it using the Matlab GUI.
I am sending the signal to run the motor until a certain value of voltage is received by Matlab, however when I run the code I get the following error:
"The first input must contain a multiple of 2 elements to convert from uint8 (8 bits) to uint16 (16 bits)."
Does anyone know how to get rid of this error?
my code looks like this
%FORWARD
b = readVoltage(a,'A2')
while b > 0.57
writePWMVoltage(a,'D3',5);
writeDigitalPin(a,'D12',1);
writeDigitalPin(a,'D9',0);
if b < 0.56
break
end
end
1 个评论
Tim Darrah
2020-10-25
编辑:Tim Darrah
2020-10-25
I also started getting this error when calling readVoltage from a function, then I just cleared the arduino object and it worked again. weird.
回答(1 个)
Lipi Vora
2019-4-12
Hi, what exact line are you getting the error at? Also, I understand that you are reading voltage from a potentiometer and then writing to the motor pins, is that correct?
3 个评论
Oliver Shorthose
2020-4-27
Hi, I get this issue as well but using an AnalogInput block on Simulink. When I run the model as it is, it works fine and the model works. However, when I use that model inside another model I get the response '
- The first input must contain a multiple of 2 elements to convert from uint8 (8 bits) to uint16 (16 bits). '
The Arduino is attached to a pneumatic chamber to be inflated/deflated accordingly. Why might it be that it fails when called from the parent?
Parent use of the model:
The error:
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Arduino Hardware 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!