Udostępnij za pośrednictwem


Migaj diodą LED

Wyprowadzeniami we/wy ogólnego przeznaczenia (GPIO) można sterować pojedynczo. Jest to przydatne do kontrolowania diod LED, przekaźników i innych urządzeń stanowych. W tym temacie użyjesz platformy .NET i wyprowadzeń GPIO urządzenia Raspberry Pi, aby zasilać diodę LED i migać ją wielokrotnie.

Wymagania wstępne

  • Komputer z jedną płytą (ARMv7 lub nowszy) oparty na architekturze ARM (SBC)
  • Dioda LED 5 mm
  • Rezystor 330 Ω
  • płytka stykowa
  • Przewody skoczkowe
  • Płytka rozdzielcza GPIO do Raspberry Pi (opcjonalnie/zalecane)
  • .NET SDK 8 lub nowszy

Uwaga

Ten samouczek został napisany przy założeniu, że docelowe urządzenie to Raspberry Pi. Jednak ten samouczek może być używany dla dowolnego systemu Linux opartego na protokole SBC, który obsługuje platformę .NET, taką jak Orange Pi, ODROID i nie tylko.

Upewnij się, że na twoim urządzeniu jest włączony SSH. Dla Raspberry Pi, zobacz Konfigurowanie serwera SSH w dokumentacji Raspberry Pi.

Przygotowywanie sprzętu

Użyj składników sprzętowych do skompilowania obwodu, jak pokazano na poniższym diagramie:

Diagram Fritzing przedstawiający obwód z diodą LED i rezystory

Na powyższym obrazie przedstawiono następujące połączenia:

  • GPIO 18 podłączony do anody LED (dłuższy, dodatni przewód)
  • Katoda LED (krótszy, ujemny przewód) do rezystora 330 Ω (do dowolnego końca)
  • 330 Ω rezystora (inny koniec) na ziemię

W razie potrzeby zapoznaj się z następującym diagramem wyprowadzeń.

Diagram przedstawiający układ wyprowadzeń złącza GPIO urządzenia Raspberry Pi. Zdjęcie za zgodą Raspberry Pi Foundation.
Obraz dzięki uprzejmości Raspberry Pi Foundation.

Wskazówka

Zaleca się użycie płytki rozszerzeń GPIO w połączeniu z płytką stykową, aby usprawnić połączenia z nagłówkiem GPIO.

Tworzenie aplikacji

Wykonaj następujące kroki w preferowanym środowisku projektowym:

  1. Utwórz nową aplikację konsolową platformy .NET przy użyciu interfejsu wiersza polecenia platformy .NET lub programu Visual Studio. Nadaj mu nazwę BlinkTutorial.

    dotnet new console -o BlinkTutorial
    cd BlinkTutorial
    
  2. Dodaj pakiet System.Device.Gpio do projektu. Użyj .NET CLI z katalogu projektu lub programu Visual Studio.

    dotnet add package System.Device.Gpio --version 3.2.0-*
    
  3. Zastąp zawartość pliku Program.cs następującym kodem:

    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;
    }
    

    W poprzednim kodzie:

    • Deklaracja using tworzy instancję GpioController. Deklaracja using gwarantuje, że obiekt zostanie usunięty, a zasoby sprzętowe zostaną prawidłowo zwolnione.
    • Pin GPIO 18 został otwarty do wyjścia
    • Pętla while jest uruchamiana w nieskończoność. Każda iteracja:
      1. Zapisuje wartość na pinie GPIO 18. Jeśli ledOn jest true, zapisuje PinValue.High (włączone). W przeciwnym razie zapisuje PinValue.Low.
      2. Śpi 1000 ms.
      3. Przełącza wartość ledOn.
  4. Kompilowanie aplikacji. Jeśli używasz interfejsu wiersza polecenia platformy .NET, uruchom polecenie dotnet build. Aby skompilować w programie Visual Studio, naciśnij Ctrl+Shift+B.

  5. Wdróż aplikację w SBC jako samodzielną aplikację. Aby uzyskać instrukcje, zobacz Wdrażanie aplikacji .NET na urządzeniach Raspberry Pi. Upewnij się, że nadajesz plikowi wykonywalnemu uprawnienia do wykonywania używając chmod +x.

  6. Uruchom aplikację na urządzeniu Raspberry Pi, przełączając się do katalogu wdrożenia i uruchamiając plik wykonywalny.

    ./BlinkTutorial
    

    Dioda LED miga co sekundę.

  7. Zakończ program, naciskając Ctrl+C.

Gratulacje! Użyto GPIO do migania diodą LED.

Pobieranie kodu źródłowego

Źródło tego samouczka jest dostępne w witrynie GitHub.

Następne kroki