Netduino 2 (Visual Studio 2015 C#) に「Arduino UNO R3 学習向け多機能拡張シールド」を取り付けて動作検証をしています。
今回は、シールドについている3個のボタンの動作実験に試みた。
3個のボタンのポートを調べた結果、アナログポート 「InputPort GPIO_PIN_A1,A2,A3」を使用していました。
シールド上の3つのLEDを3個のボタンでON/OFFをするようにしてみました。
Visual Studio 2015 C# のソース記述
SwitchLEDShield01
//using System;
//using System.Net;
//using System.Net.Sockets;
//using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
//using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
namespace SwitchLEDShield01
{
public class Program
{
public static void Main()
{
// write your code here
// シールドLED
//
初期状態オフ(false)で、シールドボードLED(Pins.D10,D11,D12)用の変数ledを宣言
OutputPort led10 = new
OutputPort(Pins.GPIO_PIN_D10, false);
OutputPort led11 = new
OutputPort(Pins.GPIO_PIN_D11, false);
OutputPort led12 = new
OutputPort(Pins.GPIO_PIN_D12, false);
// シールドボタン
//
初期状態オフ(false)、通常スイッチ(ResistorMode.Disabled)で、
//
シールドプッシュスイッチ入力(Pins.GPIO_PIN_A1,A2,A3)用の変数swを宣言。
InputPort sw01 = new
InputPort(Pins.GPIO_PIN_A1, false, Port.ResistorMode.Disabled);
InputPort sw02 = new
InputPort(Pins.GPIO_PIN_A2, false, Port.ResistorMode.Disabled);
InputPort sw03 = new
InputPort(Pins.GPIO_PIN_A3, false, Port.ResistorMode.Disabled);
//
ボードの電源が切られるまで実行し続けるために無限ループを定義。
while (true)
{
Debug.Print("led " +
led10);
if
(!sw01.Read())
{
Debug.Print("sw01 ON " + sw01);
led10.Write(false);
}
else {
Debug.Print("sw01 OFF" + sw01);
led10.Write(true);
}
if
(!sw02.Read())
{
Debug.Print("sw02 ON " + sw02);
led11.Write(false);
}
else {
Debug.Print("sw02 OFF" + sw02);
led11.Write(true);
}
if
(!sw03.Read())
{
Debug.Print("sw03 ON " + sw03);
led12.Write(false);
}
else {
Debug.Print("sw03 OFF" + sw03);
led12.Write(true);
}
}
}
}
}
▫️参考ページ
Netduino で Arduino 用の multifunction シールドを使う(1) – Arduino UNO R3 学習向け多機能拡張
Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013
Netduino で Arduino 用の multifunction シールドを使う(3) –
Netduino ファームウエアのアップデート
Netduino で Arduino 用の multifunction シールドを使う(4) – オンボードの 4つの LED を点灯させる
コメントをお書きください