主要内容

与SPI通信设备Arduino®硬件

这个例子展示了如何使用MATLAB®支持包Arduino®硬件使用SPI接口与MCP万博1manbetx42010数字电位计。

MCP42010数字电位计的概述

MCP42010设备是256 - 10 kohm电位器位置SPI设备与两个独立的通道。

它有通道1在销5 (PB1), 6 (PW1)和7 (PA1),同时通道0销10 (PB0), 9 (PW0) 8 (PA0)。销6和9是雨刷别针。这个示例使用CS, SCK,是的,所以,VDD, VSS, PB1 PW1, PA1。

硬件设置

1)连接,所以,SCK, CS, VDD和VSS别针MCP42010 10 kohm数字电位计Arduino硬件。这个示例使用一个Arduino Uno板用下面的连接。

  • 如果数字销(SDO) - 11所示

  • 所以数字销(SDI) - 12

  • SCK -数字13针

  • CS - 10数字销

  • VDD - 5 v

  • VSS——接地

如果您正在使用一个不同的委员会,确保你连接到正确的针。

2)连接一个万用表PA1和PW1测量电阻。

控制数字电位器

创建一个arduino对象,包括SPI库。

一个= arduino ();

或者,您可以显式地指定在创建库名称-值对arduino对象。

清晰的一个;一个= arduino (“COM4为”,“Uno”,“库”,SPI的);
更新服务器代码Uno (COM4为)。这可能需要几分钟。

创建一个spidev对象和指定芯片的引脚数选择。

d_pot =设备(,“SPIChipSelectPin”,“D10”);

发送两个字节的数据改变的阻力。因为我们控制通道1,第一个字节应该0 b00010010在十六进制是12。第二个字节是新的注册数据在0到255的范围。以下命令逐渐变化的电阻电位器。

Rab = 10 * 1000;Rw = 52个;%实际刮水器阻力regVal = 0:50:250 pot_resistance = Rab * regVal / 256 + Rw;writeRead (d_pot [hex2dec (“12”),regVal),“uint8”);流(目前的抵抗是% d欧姆\ n ',pot_resistance);暂停(2);结束
电流电阻是52欧姆电流电阻是2.005125 e + 03欧姆电流电阻3.958250 e + 03欧姆电流电阻是5.911375 e + 03欧姆电流电阻7.864500 e + 03欧姆电流电阻是9.817625 e + 03欧姆

代码运行并显示电位计的读数。

清理

一旦不再需要连接,清晰的关联对象。

清晰的d_pot一个