Raspberry Pi C#에서 L치카

Microsoft GPIO 라이브러리 사용



전화하는 방법
using System.Device.Gpio;

Git에는 C#으로 작성된 L치카 샘플 소스가 있으므로 이용합니다.

샘플 소스

RaspberryPi에 NetCore 3.1 설치



Linux의 Arm을 클릭합니다.


.net core sdk DownLoadPage

클릭하면 화면에서 패스를 복사 할 수 있으므로 패스를 얻습니다.

$ wget パス

.NET Core SDK 설치
$ mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.1.100-linux-x64.tar.gz -C $HOME/dotnet

$ vim ~/.bashrc
#パスを追加する
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
#保存する
$ source ~/.bashrc

dotnet을 경로를 통해

VisualStudioMac에서 콘솔 앱 개발




.net Core 선택


Nuget에서 System.Device.Gpio 가져 오기



MicroSoft에서 만든 Gpio 라이브러리 다운로드

using System;
using System.Device.Gpio;
using System.Threading;

namespace led {
    class Program {
        static void Main(string[] args) {
       //GPIOを番号を指定すること
            int pin = 7;
            GpioController controller = new GpioController();
            controller.OpenPin(pin, PinMode.Output);

            int lightTimeInMilliseconds = 1000;
            int dimTimeInMilliseconds = 200;

            while(true) {
                Console.WriteLine($"Light for {lightTimeInMilliseconds}ms");
                controller.Write(pin, PinValue.High);
                Thread.Sleep(lightTimeInMilliseconds);
                Console.WriteLine($"Dim for {dimTimeInMilliseconds}ms");
                controller.Write(pin, PinValue.Low);
                Thread.Sleep(dimTimeInMilliseconds);
            }
           }
      }
}

빌드



dll을 지정하면 실행할 수 있습니다. exe로 출력하는 방법도 있습니다.
$ dotnet led.dll

포인트



controller.OpenPin(pin, PinMode.Output)은 GPIO를 번호한다


도전



원격 GPIO에 대해 알아보기

VisualStudioMac에서 만든 프로젝트 파일을 MonoDevelop에서 열고 디버깅



MoNoDevelop에 SDK 경로 설정


C #에서 L 치카 동작 확인했습니다.



파이썬에서 L 치카

좋은 웹페이지 즐겨찾기