はじめに
今回は,RaspberryPiにWindows 10 IoT Coreを導入したのでLチカをして遊んでみる.
環境
- Raspberry Pi 3 Model B(OS:Windows 10 IoT core ver10.0.17134.1)
 - VisualStudio2017
 
手順
まず,RaspberryPi3のPinMappingを確認しておく.

今回は,
- GPIO 17(赤色LED用)
 - GPIO 27(青色LED用)
 - GPIO 22(緑色LED用)
 
の3つのPINを使って回路を設計する.
そして以下のように回路を設計した.

コーディング
※まず初めに,VisualStudioから参照設定で【Windows IoT Extension SDK】を必ず追加してください.
csのみでxamlは省略します.
UsingModule.cs
using Windows.Devices.Gpio;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace UsingModule
{
    public sealed partial class MainPage : Page
    {
        private const int RED_LED_PIN = 17; // 接続してるGIOPピン番号
        private const int BLUE_LED_PIN = 27; // 接続してるGPIOピン番号
        private const int GREEN_LED_PIN = 22; // 接続してるGPIOピン番号
        private GpioPin pin_RED; //定義するGPIOピン
        private GpioPin pin_BLUE; //定義するGPIOピン
        private GpioPin pin_GREEN; //定義するGPIOピン
        private bool RED_bool = false;
        private bool BLUE_bool = false;
        private bool GREEN_bool = false;
        public MainPage()
        {
            this.InitializeComponent();
            /* 各GPIOピンをセットアップする */
            setupGPIO(ref pin_RED, RED_LED_PIN);
            setupGPIO(ref pin_GREEN, GREEN_LED_PIN);
            setupGPIO(ref pin_BLUE, BLUE_LED_PIN);
        }
        /// <summary>
        /// GPIOピンをセットアップするメソッド
        /// </summary>
        /// <param name="pin"></param>
        /// <param name="PIN"></param>
        private void setupGPIO(ref GpioPin pin, int PIN)
        {
            var gpio = GpioController.GetDefault();
            if (gpio == null)
            {
                pin = null;
                return;
            }
            pin = gpio.OpenPin(PIN); // GPIOをオープン
            pin.Write(GpioPinValue.Low); // 最初消しておく
            pin.SetDriveMode(GpioPinDriveMode.Output); //LEDをアウトプットモードに設定
        }
        private void onClick_RED(object sender, RoutedEventArgs e)
        {
            if (RED_bool == false)
            {
                pin_RED.Write(GpioPinValue.High); // LEDオン
                RED_bool = true;
            }
            else if(RED_bool == true)
            {
                pin_RED.Write(GpioPinValue.Low); // LEDオフ
                RED_bool = false;
            }
        }
        private void onClick_BLUE(object sender, RoutedEventArgs e)
        {
            if (BLUE_bool == false)
            {
                pin_BLUE.Write(GpioPinValue.High);
                BLUE_bool = true;
            }
            else if (BLUE_bool == true)
            {
                pin_BLUE.Write(GpioPinValue.Low);
                BLUE_bool = false;
            }
        }
        private void onClick_GREEN(object sender, RoutedEventArgs e)
        {
            if (GREEN_bool == false)
            {
                pin_GREEN.Write(GpioPinValue.High);
                GREEN_bool = true;
            }
            else if (GREEN_bool == true)
            {
                pin_GREEN.Write(GpioPinValue.Low);
                GREEN_bool = false;
            }
        }
    }
}
実行結果
Raspberry Pi側での出力画面
ボタンを押すと,そのLEDが光ります.

UWPアプリでRaspBerryPiを動かすのにも少し慣れ的ました.