电子说
MCP23008 芯片是一个8位(8端口)数字I/O扩展器芯片,通过I2C进行通信。它提供八(8)个IP端口,可用于向Netduino添加额外的数字输入和输出端口。它还可以与多达七(7)个额外的MCP23008芯片组合,提供多达64个额外端口。
要连接MCP23008芯片,请参考下面的引脚数据表。
MCP23008的引脚映射
MCP23008是硬件领域的通用集成电路,是硬件的典型接口芯片,如I2C LCD。
Netduino.Foundation 是一个使用Netduino上的.NET MicroFramework快速轻松地构建连接内容的平台。由Wilderness Labs创建,它完全开源并由Netduino社区维护。
如果您是Netduino开发的新手,我建议您进入Netduino项目入门以正确设置你的开发环境。
第1步 - 组装电路
对于这个项目,按照Fritzing图中的说明连接你的面包板和Netduino:
MCP23008的电路图
注 - 所有三个地址引脚(芯片左侧的三条绿色跳线)都拉高。这指定了MCP23008的I2C地址 - 在这种情况下,地址为39。
步骤2 - 创建Netduino项目
在Visual Studio 2015 for Windows中创建Netduino项目最新的Visual Studio for Mac;将项目命名为 Blinky_MCP23008 。
步骤3 - 添加Netduino.Foundation NuGet包
Windows
右键单击 Blinky_MCP23008 项目,然后单击管理NuGet包。在“浏览”选项卡中,搜索Netduino.Foundation;它应该是第一个搜索结果。单击安装按钮。
添加Netduino.Foundation NuGet包
现在搜索 Netduino.Foundation.MCP23008 并将其添加到您的项目中。
macOS
在解决方案资源管理器中按住Alt键并单击 Blinky_MCP23008 项目,然后单击添加=》添加NuGet打包打开NuGet包窗口。搜索 Netduino.Foundation 包,然后单击添加包将其添加到项目中。
添加Netduino.Foundation NuGet包
现在搜索 Netduino.Foundation.MCP23008 并将其添加到您的项目中。
步骤4 - 编写MCP23008项目的代码
添加App类
对于这个项目,我们实现了一个管理所有外围设备的通用 App 软件模式主要逻辑。
在项目中添加一个新的 App 类,并粘贴以下代码:
using Microsoft.SPOT;
using Netduino.Foundation.ICs.IOExpanders.MCP23008;
using System.Threading;
namespace Blinky_MCP23008
{
public class App
{
static MCP23008 _mcp = null;
public App()
{
InitializePeripherals();
}
protected void InitializePeripherals()
{
_mcp = new MCP23008(39);
}
public void Run()
{
// create an array of ports
DigitalOutputPort[] ports = new DigitalOutputPort[8];
for (byte i = 0; i 《= 7; i++)
{
ports[i] = _mcp.CreateOutputPort(i, false);
}
while (true)
{
// count from 0 to 7 (8 leds)
for (int i = 0; i 《= 7; i++)
{
// turn on the LED that matches the count
for (byte j = 0; j 《= 7; j++)
{
ports[j].State = (i == j);
}
Debug.Print(“i: ” + i.ToString());
Thread.Sleep(250);
}
}
}
}
}
程序类
最后,创建一个新的 App 类对象并调用运行方法。您的代码应如下所示:
using System.Threading;
namespace Blinky_MCP23008
{
public class Program
{
public static void Main()
{
App app = new App();
app.Run();
Thread.Sleep(Timeout.Infinite);
}
}
}
步骤5 - 运行项目
单击Visual Studio中的运行按钮以查看LED指示灯亮起!它们将按顺序打开和关闭,由MCP23008上的GP端口控制。它应该看起来像以下gif:
MCP23008示例项目正在运行
全部0条评论
快来发表一下你的评论吧 !