如何用纳米框架控制继电器5v



每个人。我正在尝试用esp32上的纳米框架控制relais 5v。我遇到的问题是,当我将引脚21与继电器的in引脚连接时,即使esp32引脚处于PinValue.Low,继电器仍在工作。我感谢并感谢每一位尽力提供帮助的人。她的是我的代码:

using System;
using System.Diagnostics;
using System.Threading;
using System.Device.Gpio;
using nanoFramework.Hardware.Esp32;

namespace NFApp3
{
public class Program
{
//private static GpioController s_GpioController;
public static void Main()
{
GpioController s_GpioController =new GpioController();
GpioPin led = s_GpioController.OpenPin(21,PinMode.Output);
led.Write(0);
//led.Write(PinValue.High);
Thread.Sleep(Timeout.Infinite);
}

}
}

经过思考,我找到了这个解决方案:

using System;
using System.Diagnostics;
using System.Threading;
using System.Device.Gpio;
using nanoFramework.Hardware.Esp32;
using Iot.Device.Rtc;
using System.Device.I2c;
namespace NFApp3
{
public class Program
{
//private static GpioController s_GpioController;
public static void Main()
{
GpioController s_GpioController =new GpioController();
GpioPin led = s_GpioController.OpenPin(21);
led.SetPinMode(PinMode.Input);
Console.WriteLine("Sleep");
Thread.Sleep(300);
while (true)
{
led.SetPinMode(PinMode.Output);
led.Toggle();
Console.WriteLine("High");
Thread.Sleep(3000);
led.SetPinMode(PinMode.Input);
Thread.Sleep(2000);
Console.WriteLine("Low");
}
Thread.Sleep(Timeout.Infinite);
}

}
}

希望对任何人都有用。

您应该使用led.Write(PinValue.Low);而不是写入0。