问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用.NET控制Raspberry Pi上的LED闪烁

创作时间:
作者:
@小白创作中心

使用.NET控制Raspberry Pi上的LED闪烁

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/dotnet/iot/tutorials/blink-led?view=azure-learn

本文是一篇来自微软官方的技术教程,详细介绍了如何使用.NET在Raspberry Pi上控制LED闪烁。文章发布于2023年6月,虽然技术内容可能已经过时,但对于想要了解基础GPIO编程和.NET应用开发的读者仍具有一定的参考价值。

闪烁 LED

可以单独控制常规用途 I/O (GPIO) 引脚。 这对控制 LED、中继和其他有状态设备很有用。 在本主题中,你将使用 .NET 和 Raspberry Pi 的 GPIO 引脚使 LED 通电,并重复闪烁。

先决条件

  • 基于 ARM(ARMv7 或更高版本)的单板计算机 (SBC)
  • 5 毫米 LED
  • 330 Ω 电阻器
  • 试验板
  • 跳线
  • Raspberry Pi GPIO 分线板(可选/推荐)
  • .NET SDK7 或更高版本

注意:本教程编写时假设目标设备是 Raspberry Pi。 但是,本教程可用于支持 .NET 的任何基于 Linux 的 SBC,例如 Orange Pi、ODROID 等。

确保已在设备上启用 SSH。 对于 Raspberry Pi,请参阅 Raspberry Pi 文档中的“设置 SSH 服务器”。

准备硬件

使用硬件组件构建电路,如下图所示:

上图描述了下列连接:

  • GPIO 18 到 LED 阳极(较长、正极导线)
  • LED 阴极(较短、负极导线)到 330 Ω 电阻器(任一端)
  • 330 Ω 电阻器(另一端)到地面

根据需要,请参阅以下引脚分配关系图:

图片由 Raspberry Pi 基金会提供。

提示:建议将 GPIO 分组讨论板与试验板结合使用,以便简化与 GPIO 标头的连接。

创建应用

在首选开发环境中完成以下步骤:

  1. 使用.NET CLI或Visual Studio创建新 .Net 控制台应用。 将其命名为 BlinkTutorial。

    dotnet new console -o BlinkTutorial
    cd BlinkTutorial
    
  2. 将System.Device.Gpio包添加到项目中。 使用项目目录或Visual Studio中的任一.NET CLI。

    dotnet add package System.Device.Gpio --version 2.2.0-*
    
  3. 将 Program.cs 的内容替换为以下代码:

    using System;
    using System.Device.Gpio;
    using System.Threading;
    
    Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
    
    int pin = 18;
    using var controller = new GpioController();
    controller.OpenPin(pin, PinMode.Output);
    
    bool ledOn = true;
    while (true)
    {
        controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
        Thread.Sleep(1000);
        ledOn = !ledOn;
    }
    

    在上述代码中:

  • using 声明创建 GpioController 实例。 using 声明可确保对象已处置,硬件资源已正确释放。
  • GPIO 引脚 18 已为输出打开
  • while 循环无限期运行。 每次迭代:
    1. 向 GPIO 引脚 18 写入值。 如果 ledOn 为 true,则迭代写入 PinValue.High(开)。 否则,写入 PinValue.Low
    2. 休眠 1000 毫秒。
    3. 切换 ledOn 的值。
  1. 构建应用程序。 如果使用的是 .NET CLI,请运行 dotnet build。 若要在 Visual Studio 中进行生成,请按Ctrl+Shift+B。

  2. 将该应用作为独立应用部署到 SBC。 有关说明,请参阅将 .NET 应用部署到 Raspberry Pi。 请确保使用 chmod +x 指定可执行的 execute 权限。

  3. 通过切换到部署目录并运行可执行文件,在 Raspberry Pi 上运行该应用。

    ./BlinkTutorial
    

    LED 每秒闪烁一次。

  4. 按Ctrl+C终止程序。

恭喜! 你已使用 GPIO 让 LED 闪烁。

获取源代码

GitHub上提供此教程的源。

后续步骤

了解如何使用 GPIO 读取二进制输入

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号