![]() |
クラス名はLEDsとする LEDという名前のGPIOMemクラスの4つの長さの配列 点滅させるためのメソッドWriteがある Lengthは定数で外部からアクセスできる |
LEDを制御するクラス | |
---|---|
public class LEDs { public const int Length = 4; GPIOMem[] LED = new GPIOMem[Length]; public LEDs() { LED[0] = new GPIOMem (GPIOPins.V2_Pin_P1_22); LED[1] = new GPIOMem (GPIOPins.V2_Pin_P1_18); LED[2] = new GPIOMem (GPIOPins.V2_Pin_P1_16); LED[3] = new GPIOMem (GPIOPins.V2_Pin_P1_12); for (int i = 0; i < LED.Length; i++) LED [i].PinDirection = GPIODirection.Out; } public void Write(int n, bool state) { LED [n].Write (state); } } |
1 2 3 LEDは4つある 4 IOを制御するオブジェクトの配列 5 コンストラクタ 6 7 ピンの制御を行うオブジェクトの生成 8 4つのLED分作る 9 10 11 12 13 LEDに繋がる各々のピンは出力に設定する 14 15 16 LEDの点滅を指定するメソッド 17 18 19 20 |
4つのLEDを点滅させるメイン | |
---|---|
public static void Main(string[] args) { LEDs led = new LEDs(); for (int j = 0; j < 10; j++) { for (int i = 0; i < LEDs.Length; i++) { led.Write(i,false); } Thread.Sleep(1000); for (int i = 0; i < LEDs.Length; i++) { led.Write(i,true); Thread.Sleep(400); } } for (int i = 0; i < LEDs.Length; i++) led.Write(i,false); } } |
1 2 3 LED列のオブジェクトを作る 4 5 6 7 8 LED全消灯 9 10 1秒待つ 11 12 13 14 一つずつ点灯する 15 400ms待つ 16 17 18 19 LED全消灯 20 21 |
上記のプログラムにはクラスライブラリに関するusingの記述がありません。 何をしているかが理解できていれば、自明なものです。 まずは、LEDなどのIOをコントロールしていますので、この参照が必要です。 つまり、 using RaspberryPiDotNet; が必要になります。 また、Thread.Sleep(); を使っているので、 using System.Threading; が必要になります。 注: System.Threading.Thread.Sleep(); とusing無しで書いても可能です。