使用raspberry pi i2c接口连接到设备
此示例显示如何创建与I2C设备的连接,将数据写入设备,以及从设备读取数据。
警告
电压和电流过高会损坏Raspberry PI™硬件。遵守制造商的处理覆盆子PI硬件并将其连接到其他设备的预防措施。有关更多信息,请参阅https://www.raspberypi.org/technical-help-and-resource-documents.。
使用使用的与Raspberry PI硬件建立连接raspi.
。
mypi = raspi
Mypi = Raspi具有属性:DeviceAddress:'RaspberryPi-ComputerName'端口:18725 BoardName:'raspberry Pi模型B Rev 2'avableableLeds:{'LED0'}可用性帖:[4 7 8 9 10 11 14 15 18 22 23 24 25 27 30 31]可用性等:{}可用性:{'i2c-0''i2c-1'}I2CBUSSPEED:100000金宝app支持的外围设备
默认的I2C总线速度为每秒100000位。
你可以重新播放可用性2cbus.
和I2CBUSSPEED
特性。
mypi.availablei2cbuses mypi.i2cbusspeed
ANS ='I2C-0''I2C-1'ANS = 100000
显示GPIO标题上I2C引脚的位置。
Showpins(Mypi)
针映射显示,对于此模型和董事会的修订,I2C-1
GPIO标头销上有公共汽车I2C1_SDA(GPIO 2)
和I2C1_SCL(GPIO 3)
。
覆盆子PI硬件使用+ 3.3V。请勿将覆盆子PI硬件直接连接到提供更高电压的设备。
在继续之前,制造商的专业研究duct information to determine which settings the I2C device supports. Then, connect the Raspberry Pi board to the I2C device.
例如,使用MCP4725 12位DAC,CONNECT:
I2C1_SDA(GPIO2)
在DAC上的覆盆子PI板上的销钉。I2C1_SCL(GPIO3)
在覆盆子PI板上的别针到DAC上的SCL引脚。GND.
在覆盆子pi板上到了GND.
别针在DAC上。+ 3.3V.
在覆盆子pi板上到了vdd.
别针在DAC上。vout.
销在DAC上的电压表上的正极。GND.
在电压表上的负极铅。
获取连接到I2C总线的I2C设备的地址,'i2c-1'
。
Scani2cbus(Mypi,'i2c-1'的)
ans ='0x62'
创建与I2C DAC的连接'0x62'
并分配与句柄的连接,I2CDAC.
。
i2cdac = i2cdev(mypi,'i2c-1'那'0x62'的)
I2CDAC = I2CDEV具有属性:总线:'I2C-1'地址:'0x62'
将值写入I2C设备。
写(i2cdac,4092)
从I2C传感器读取值,物理连接传感器,使用Scani2cbus.
获取地址,使用I2CDEV.
创建与设备的连接。然后,使用读
获得价值。
addr = scani2cbus(mypi,'i2c-1')i2csensor = i2cdev(mypi,'i2c-1',char(addr))读取(i2csensor,1)
如果您未使用I2C,则禁用I2C以进行额外的GPIO引脚。
笔记
在禁用I2C之前,清除I2CDEV.
对象,如果创建。例如,清除(i2csensor)
。
Disablei2c(Mypi)
再次使用I2C时,启用I2C。
enableI2c(mypi)
要更改I2C总线速度,mypi.i2cbusspeed
, 采用enablei2c.
与之I2CBUSSPEED
争论。
Disablei2c(mypi)enablei2c(mypi,400000)mypi.i2cbusspeed
ans = 40000.