Undefined function or variable 'I2Cdev'.

21 views (last 30 days)
I am trying do a interface for mpu6050 . I have installed arduino support packages for matlab and simulink but , i have an error says
Undefined function or variable 'I2Cdev'.
Here is my code;
%% setup
hold all
a=arduino;
mpu= I2Cdev (a,'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
  2 Comments
linani messaoud
linani messaoud on 1 Feb 2022
Change commands:
a=arduino;
mpu= I2Cdev (a,'0x68'); %mpu adress is normally 0x68
to commands:
a = arduino('COM4','Uno','Libraries','I2C');
mpu = device(a,'I2CAddress','0x68')

Sign in to comment.

Answers (4)

madhan ravi
madhan ravi on 29 Dec 2018
https://www.mathworks.com/help/supportpkg/raspberrypiio/ref/i2cdev.i2cdev.html - matlab is case sensitive i2cdev lowercase letters
  1 Comment
Walter Roberson
Walter Roberson on 22 Jan 2021
ic2dev used there is for Raspberry Pi, not arduino.

Sign in to comment.


Walter Roberson
Walter Roberson on 22 Jan 2021

Gayatri Menon
Gayatri Menon on 6 Jan 2022
The below link might help you in interfacing mpu6050 connected to arduino:
Thanks
Gayatri

Gokarna Baskota
Gokarna Baskota on 26 Jan 2022
I got the same problem while using R2020a.
But when I use R2018a than problem is solved.
Solution:
Try to run code in MatLab version lower than 2019 Or replace I2Cdev() by mpu6050()

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!