Cannot use 'device' function to work via I2C communication. -MATLAB
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to use MPU 6050 to send data to MATLAB.
But there is an error => Undefined function or variable 'device'.
I am using MATLAB R2019a academic use, already have Instrument control toolbox.
The code I used =>
%% setup
clear all
hold all
a = arduino;
mpu = device (a, 'I2CAddress' , '0x68' ); % mpu adress is normally 0x68
writeRegister (mpu, hex2dec ( 'B6' ), hex2dec ('00 ' ), ' int16 ' ); % reset
data = zeros (10000,14, 'int8' ); % prelocating for the speed
j = 1;
a1 = animatedline ( 'Color' , [1 0 0]);
a2 = animatedline ( 'Color' , [0 1 0]);
a3 = animatedline ( 'Color' , [0 0 1]);
legend ( 'Accel_x' , 'Accel_y' , 'Accel_z' )
%% loop
while (true)
x = 1;
for i = 59: 72 % 14 Data Registers for Accel, Temp, Gyro
data (j, x) = readRegister (mpu, i, 'int8' );
x = x + 1;
end
y = swapbytes (typecast (data (j, :), 'int16' )) % if your system is big-endian remove the swapbytes function
addpoints (a1, j, double (y (1)));
addpoints (a2, j, double (y (2)));
addpoints (a3, j, double (y (3)));
j = j + 1;
drawnow limitrate
end
8 comentarios
Johanens Harms
el 16 de Ag. de 2019
Hallo Akira, have you found a solution to your issue yet? I have the same problem and am unable to fix it. Thanks!
Walter Roberson
el 16 de Ag. de 2019
Editada: Walter Roberson
el 26 de Ag. de 2021
Respuestas (1)
Chris Bresee
el 11 de Feb. de 2021
I've noticed that some versions of the arduino support package use a different function than "device". Don't know why this is, but try:
i2cObj = i2cdev(obj, address, varargin)
Example:
mpu = i2cdev(a, '0x68');
6 comentarios
Hasto Priananto
el 26 de Ag. de 2021
I cant even use both, the i2cdev() and device() on my matlab. Its says error on that point
Ver también
Categorías
Más información sobre Arduino Hardware en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
