我有这样的传感器:https://easyelectronyx.com/wp-content/uploads/2017/03/flame.jpg?i=1
请有人帮帮我吗?我需要在C#中找到要从中读取的代码。我有Raspberry Pi 2 Model B,Windows 10 IoT Core和C#编程。我无法在互联网上找到文档。是否需要连接模拟输出?
感谢
答案 0 :(得分:1)
此帧传感器设备可根据其datasheet提供数字或模拟输出。
如果您不想使用模拟输出,可以从数字引脚 DO 获得输出。
首先,连接Frame传感器和Raspberry Pi。连接VCC,GND和DO,如下图所示。对于数字引脚,我在这里选择GPIO27,你可以选择你喜欢的其他引脚。
其次,编写代码。创建UWP应用程序(Start here)。
<强> MainPage.xaml中强>
<StackPanel VerticalAlignment="Center" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBlock Name="SensorOuputValue" />
</StackPanel>
<强> MainPage.xaml.cs中强>
public sealed partial class MainPage : Page
{
private const int SENSOR_PIN = 27;
private GpioPin pin;
private GpioPinValue pinValue;
private DispatcherTimer timer;
public MainPage()
{
InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(1000);
timer.Tick += ReadSensor;
InitGPIO();
if (pin != null)
{
timer.Start();
}
}
private void InitGPIO()
{
var gpio = GpioController.GetDefault();
// Show an error if there is no GPIO controller
if (gpio == null)
{
pin = null;
System.Diagnostics.Debug.WriteLine("There is no GPIO controller on this device.");
return;
}
pin = gpio.OpenPin(SENSOR_PIN);
pin.SetDriveMode(GpioPinDriveMode.Input);
System.Diagnostics.Debug.WriteLine("GPIO pin initialized correctly.");
}
private void ReadSensor(object sender, object e)
{
SensorOuputValue.Text = pin.Read().ToString();
}
}