2016年

3月

13日

Windows 10 IoT Raspberry Pi 2 オンボードLEDの点灯動作

このページは、下記の参考ページを元に掲載しています。ご了承願います。

 

Windows 10 IoT Raspberry Pi 2のオンボードLED 点灯動作の検証をしています。

Microsoft のIoT用のサンプルファイル「Blinky」を改造しオンボードのLEDを点滅させてみます。

Raspberry Pi 2にWindows10 IoT Core をインストールについては、「【Raspberry Pi】ラズパイにWindows10 IoT Core をインストール」を参照願います。丁寧にまとめられています。

Windows上にRaspberry Piが認識されたら、次のステップに進む準備ができたことになります。

プログラム一覧からWindows IoT Core Dashboardプログラムを起動。

Windows IoT Core DashboardプログラムがRaspberry Piを見つければプログラムの準備完了です。

Microsoft にはIoT用のサンプルファイルが用意されていますのでGitHubからダウンロードします。

MS-IOT Githubリポジトリーからすべてのサンプルをダウンロードする。完了したら、ハードディスク上に展開します。

Blinky > CSサブディレクトリを開きます。

サンプル「C# Blink」を探す。Blinky.csprojをダブルクリックしてVisual Studioでそれを開く。インターネット上のランダムな場所からプロジェクトを開くことを知らせる警告が出ることがあるが、無視して開こう。次へ進む。

・SolutionウィンドウでMainpage.xamlフォルダーを開き、Mainpage.xaml.csファイルをダブルクリックする。これがメインプログラムだ。このプログラムにこれから変更を加える。

LED_PINの値を47に書き換える。これはオンボードの起動LEDです。わざわざLEDを接続しなくてもいいように付いている(あとから追加することも可能)。

Visual Studio 2015 C# のソース記述

Blinky

 

// Copyright (c) Microsoft. All rights reserved.

 

using System;

using Windows.Devices.Gpio;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Media;

 

namespace Blinky

{

    public sealed partial class MainPage : Page

    {

        //private const int LED_PIN = 5;

        private const int LED_PIN = 47;

        private GpioPin pin;

        private GpioPinValue pinValue;

        private DispatcherTimer timer;

        private SolidColorBrush redBrush = new SolidColorBrush(Windows.UI.Colors.Red);

        private SolidColorBrush grayBrush = new SolidColorBrush(Windows.UI.Colors.LightGray);

 

        public MainPage()

        {

            InitializeComponent();

 

            timer = new DispatcherTimer();

            timer.Interval = TimeSpan.FromMilliseconds(500);

            timer.Tick += Timer_Tick;

            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;

                GpioStatus.Text = "There is no GPIO controller on this device.";

                return;

            }

 

            pin = gpio.OpenPin(LED_PIN);

            pinValue = GpioPinValue.High;

            pin.Write(pinValue);

            pin.SetDriveMode(GpioPinDriveMode.Output);

 

            GpioStatus.Text = "GPIO pin initialized correctly.";

 

        }

 

        private void Timer_Tick(object sender, object e)

        {

            if (pinValue == GpioPinValue.High)

            {

                pinValue = GpioPinValue.Low;

                pin.Write(pinValue);

                LED.Fill = redBrush;

            }

            else

            {

                pinValue = GpioPinValue.High;

                pin.Write(pinValue);

                LED.Fill = grayBrush;

            }

        }

    }

}

次に、Debugの右側にあるツールバーオプションのARMを選択する。

Deviceをリモートマシンに変更する。

自動検出された場合には、接続されているRaspberry Piの名前とIPアドレスが表示されます。「minwinpc」をクリックします。

リストにRaspberry Piが現れないときは、手動構成にIPアドレスを書き込み、認証モードなしで選択をクリックします。

自動検出の接続内容が表示されています。

認証はなしでそのまま選択をクリックします。

リモートコンピューターをクリックするとビルドされます。

少し待ちます。するとオンボードLEDが点滅を始める。

 

目 次