准备工作
- 先检查树莓派.NET环境,没有环境按照上一节教程安装。
dotnet --version
- 准备直插LED灯珠,电阻,用于GPIO口控制测试
- 树莓派GPIO引脚图
GPIO控制
由于上一节教程创建了一个.NET工程,我们就在这个工程里进行代码编写,这里我们参考了微软官方给出的IOT文档,地址是: https://docs.microsoft.com/zh-cn/dotnet/iot/tutorials/blink-led.
1. 先添加依赖包
打开后搜索依赖包名称 Iot.Device.Bindings并点击安装
安装完成后
2. 编写程序
直接复制官网的代码,我稍微做了一些修改,是关于GPIO输入的,例程只给了输出怎么写,还有pin脚我改成27了,这个可以自己随便改,尽量避开复用引脚。
using System.Device.Gpio;
using System.Threading;
Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
int pin = 27;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output); //输出模式
//controller.OpenPin(pin, PinMode.Input); //输入模式
bool ledOn = true;
while (true)
{
controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low)); //控制输出电平
//controller.Read(pin); //读取输入电平
ledOn = !ledOn;
Thread.Sleep(1000);
}
添加完成后是下图的样子,注意添加using引用
由于这个在Windows下运行无法看到效果,只能在树莓派上运行,只需要重新生成就可以了
然后就是将工程目录文件夹下的net5.0文件夹放入树莓派,和上一节一样,参考上节。
3. 搭建硬件
上面移植完了软件,就开始搭建硬件,搭建硬件的时候,参考上面微软示例的方式。
当自己搭建其他硬件测试的时候请参考树莓派的官方文档,地址:链接: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#general-purpose-io-gpio.
要注意IO的口耐压和耐流,避免引起损坏,电压最大不超过3.3V,电流低于16mA。
4. 开始在树莓派运行
到net5.0文件夹下运行程序
dotnet RaspberryTest.dll
可以观察灯一秒闪烁一次
ctrl+c //停止运行
最后,GPIO的输入可参考上面修改即可