Interfacing ADS1115 with raspberry pi in matlab

조회 수: 12(최근 30일)
I am trying to get a signal sampled by ADC interfaced with raspberry pi via Matlab. The code is as follows,
mypi = raspi i2cadc = i2cdev(mypi,'i2c-1','0x48') act_val=0; for i= 1:1:1000 writeRegister(i2cadc,1,hex2dec('C3E3'),'uint16'); %single shot 860fps (Config register) while (value ~= 50147) % wait until the MSB of conversion register has changed) [value]=readRegister(i2cadc,1,'uint16'); end [value1]=readRegister(i2cadc,0,'int16'); %(conversion register) act_val1(i)=value1; act_val(i)=(value1*4.096)/32767.0; end figure;plot(act_val1); figure;plot(act_val);
My input signal is 50 Hz sine, I have configured the ADS115 at 860fps and i am reading the signal from channel A0. The signal which is read from the conversion register is just some random noise rather than the actual signal. I don't know what is the problem with the code, but hardware wise the connections are intact and correct. Kindly let me know the issue with this code.
  댓글 수: 1
Andres Ruvalcaba
Andres Ruvalcaba 2020년 2월 28일
편집: Andres Ruvalcaba 2020년 2월 28일
Did you get this reading correlctly?

댓글을 달려면 로그인하십시오.

채택된 답변

Murat Belge
Murat Belge 2014년 9월 8일
It is rather late but the issue with the original code is this line:
Datasheet for the device says that you need to send the high byte first followed by the low byte for the 16-bit register value. The code above does the opposite. The code should have been:
writeRegister(i2cadc,1, swapbytes(uint16(hex2dec('C3E3'))),'uint16');
Likewise, you need to do a similar transformation when reading the raw ADC conversion value from the conversion register. Look at my ads1115 class for details.
I posted a MATLAB class to read ADC conversion results from the ADS1115 here.
  댓글 수: 1
neuromechanist 2019년 1월 28일
Your class for ADS1115 is awesome.

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Mohamed BOUTOUBA 2018년 11월 23일
Hello everyone,
Please I have to read an analog signal using Raspberry so I bought a ADS1115 but unfortunately I do not have any idea how to use it ; Can anyone sent to me the matlab code or a blocunder Simulink to solve it; PLEASE :/
My email is :


Find more on MATLAB Support Package for Raspberry Pi Hardware in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by