Undefined function or variable 'I2Cdev'.
    9 views (last 30 days)
  
       Show older comments
    
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
  WAN NOR NAZIRA MUSTAPA KAMAL
 on 22 Jan 2021
				I am facing with the same problem, did you find the solution?
  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')
Answers (4)
  Walter Roberson
      
      
 on 22 Jan 2021
        You are using arduino. The arduino interface does not use ic2dev . See https://www.mathworks.com/help/supportpkg/arduinoio/examples/measure-temperature-from-i2c-device-on-arduino-hardware.html 
0 Comments
  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
  Gayatri Menon
    
 on 6 Jan 2022
        The below link might help you in interfacing mpu6050 connected to arduino:
Thanks
Gayatri
0 Comments
  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()
0 Comments
See Also
Categories
				Find more on Arduino Hardware in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!