在matlab接口与覆盆子ADS1115π
11视图(30天)
显示旧的评论
我试图得到一个信号采样ADC干扰通过Matlab覆盆子π。代码如下,
mypi = raspi i2cadc = i2cdev (mypi ' i2c-1 ', ' 0 x48 ') act_val = 0;因为我= 1:1:1000 writeRegister (i2cadc 1 hex2dec (“C3E3”)、“uint16”);%单发射击860 fps(配置寄存器),而(价值~ = 50147)%的MSB等到转换寄存器已经改变了)(价值)= readRegister (i2cadc 1“uint16”);结束[value1] = readRegister (i2cadc 0 ' int16 ');%(转换寄存器)act_val1 (i) = value1;act_val (i) = (value1 * 4.096) / 32767.0;图;情节(act_val1);人物,情节(act_val);
我输入信号是50赫兹sin,配置了ADS115 860 fps,我从通道读取信号A0。从转换寄存器中读取的信号只是一些随机噪声而不是实际的信号。我不知道什么是代码的问题,但是硬件明智是完整和正确的连接。请让我知道这段代码的问题。
接受的答案
Murat米色
2014年9月8日
它是很晚但原始代码的问题是这条线:
writeRegister (i2cadc 1 hex2dec (“C3E3”),“uint16”);
为设备数据表说,你需要先将高字节低字节之后的16位寄存器的值。上面的代码是相反的。代码应该是:
writeRegister (i2cadc 1 swapbytes (uint16 (hex2dec (“C3E3”))),“uint16”);
同样,你需要做一个类似的转换当阅读原始ADC转换值转换寄存器。看我ads1115类的细节。
答案(1)
穆罕默德BOUTOUBA
2018年11月23日
大家好,
请我要读一个模拟信号使用覆盆子所以我买了一个ADS1115但不幸的是我不知道如何使用它;谁能给我matlab代码或blocunder仿真软件来解决这个问题;万博1manbetx请:/
我的电子邮件是:btba.med@gmail.com