GPIO 的可变电压 windows IOT Core

Variable voltage for GPIO windows IOT Core

我有一个 windows IOT Core 应用程序,它将输出写入 GPIO 引脚,我需要在三个引脚上设置可变电压以将 RGB lamp 设置为任何颜色。

问题是我只能将引脚设置为高值或低值,不能介于两者之间:

private void SetupLeds()
{
    var gpio = GpioController.GetDefault();

    _redLED = gpio.OpenPin(18);
    _redLED.SetDriveMode(GpioPinDriveMode.Output);

    _greenLED = gpio.OpenPin(23);
    _greenLED.SetDriveMode(GpioPinDriveMode.Output);

    _blueLED = gpio.OpenPin(24);
    _blueLED.SetDriveMode(GpioPinDriveMode.Output);

}    

public void Yellow()
{
    _redLED.Write(GpioPinValue.High);
    _greenLED.Write(GpioPinValue.High);
    _blueLED.Write(GpioPinValue.Low);
}

public void Red()
{
    _redLED.Write(GpioPinValue.High);
    _greenLED.Write(GpioPinValue.Low);
    _blueLED.Write(GpioPinValue.Low);
}

如果有人能给我指出正确的方向,让我能够在引脚上写下 1 到 0 之间的值,我将不胜感激。

也许这个版本的 Core IOT 甚至不可能。

更新

感谢 leppie 的评论,我现在意识到我当然需要使用 PWM。

所以现在的问题是有人知道如何在 Windows Core IOT 上使用 PWM 吗?

目前不支持 PWM。我期待它会出现在以后的版本中。同时,您可以将 RPi2 连接到 Arduino。您可以访问 Arduino 上的 PWM。参见 this sample in the file ControlPage.xaml.cs

马克·拉德伯恩 [MSFT]

我们在使用 Windows IoT Core 和 PWM 驱动步进电机的 iot-devices project. You may also consult this C++ example 中添加了对软件 PWM 和硬件 PWM 的 C# 支持。