다음을 통해 공유


LED를 깜박이세요.

GPIO(범용 I/O) 핀은 개별적으로 제어할 수 있습니다. LED, 릴레이 및 기타 상태 저장 디바이스를 제어하는 데 유용합니다. 이 항목에서는 .NET 및 Raspberry Pi의 GPIO 핀을 사용하여 LED에 전원을 공급하고 반복적으로 깜박입니다.

필수 조건

  • ARM 기반(ARMv7 이상) SBC(단일 보드 컴퓨터)
  • 5mm LED
  • 330 Ω 저항기
  • 브레드보드
  • 점퍼 케이블
  • Raspberry Pi GPIO 브레이크아웃 보드(선택 사항/권장)
  • .NET SDK 8 이상

비고

이 자습서는 대상 디바이스가 Raspberry Pi라고 가정하여 작성되었습니다. 그러나 이 자습서는 Orange Pi, ODROID 등 .NET을 지원하는 Linux 기반 SBC에 사용할 수 있습니다.

디바이스에서 SSH가 사용하도록 설정되어 있는지 확인합니다. Raspberry Pi의 경우 Raspberry Pi 설명서에서 SSH 서버 설정을 참조하세요.

하드웨어 준비

다음 다이어그램에 표시된 대로 하드웨어 구성 요소를 사용하여 회로를 빌드합니다.

LED 및 저항기가 있는 회로를 보여 주는 프리칭 다이어그램

위의 이미지는 다음과 같은 연결을 보여 줍니다.

  • GPIO 18에서 LED 양극으로(더 길고 긍정적인 리드)
  • LED 음극(짧은, 음성 리드)을 330 Ω 저항기(저항기의 어느 한쪽)에 연결하십시오.
  • 330 Ω 저항기(다른 끝)를 접지합니다.

필요에 따라 다음 핀아웃 다이어그램을 참조하세요.

Raspberry Pi GPIO 헤더의 핀아웃을 보여 주는 다이어그램 이미지 제공: Raspberry Pi Foundation.
이미지 제공: Raspberry Pi Foundation.

팁 (조언)

GPIO 헤더에 대한 연결을 간소화하려면 브레드보드와 함께 GPIO 브레이크아웃 보드를 사용하는 것이 좋습니다.

앱 만들기

기본 설정 개발 환경에서 다음 단계를 완료합니다.

  1. .NET CLI 또는 Visual Studio를 사용하여 새 .NET 콘솔 앱을 만듭니다. BlinkTutorial 이름을 지정합니다.

    dotnet new console -o BlinkTutorial
    cd BlinkTutorial
    
  2. 프로젝트에 System.Device.Gpio 패키지를 추가합니다. 프로젝트 디렉터리 또는 Visual Studio에서 .NET CLI를 사용합니다.

    dotnet add package System.Device.Gpio --version 3.2.0-*
    
  3. Program.cs의 내용을 다음 코드로 바꿉니다.

    using System;
    using System.Device.Gpio;
    using System.Threading;
    
    Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
    int pin = 18;
    using var controller = new GpioController();
    controller.OpenPin(pin, PinMode.Output);
    bool ledOn = true;
    while (true)
    {
        controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
        Thread.Sleep(1000);
        ledOn = !ledOn;
    }
    

    앞의 코드에서 다음을 수행합니다.

    • using 선언GpioController의 인스턴스를 생성합니다. 선언은 using 개체가 삭제되고 하드웨어 리소스가 제대로 해제되도록 합니다.
    • 출력을 위해 GPIO 핀 18이 열립니다.
    • 루프는 while 무기한 실행됩니다. 각 반복:
      1. GPIO 핀 18에 값을 씁니다. ledOn이(가) true일 경우, PinValue.High을(를) 기록합니다(켜짐). 그렇지 않으면 PinValue.Low를 기록합니다.
      2. 1,000ms 동안 정지합니다.
      3. 의 값을 전환합니다 ledOn.
  4. 앱을 빌드합니다. .NET CLI를 사용하는 경우 .NET CLI를 실행합니다 dotnet build. Visual Studio에서 빌드하려면 Ctrl+ ShiftB+ 누릅니다.

  5. 자체 포함 앱으로 SBC에 앱을 배포합니다. 자세한 내용은 Raspberry Pi에 .NET 앱 배포를 참조하세요. 를 사용하여 실행 파일 실행 권한을 부여해야 합니다 chmod +x.

  6. 배포 디렉터리로 전환하고 실행 파일을 실행하여 Raspberry Pi에서 앱을 실행합니다.

    ./BlinkTutorial
    

    LED가 1초마다 꺼졌다 켜집니다.

  7. Ctrl+ C를 눌러 프로그램을 종료합니다.

축하합니다! GPIO를 사용하여 LED를 깜박였습니다.

소스 코드 가져오기

이 자습서의 원본은 GitHub에서 사용할 수 있습니다.

다음 단계