Miganie diodą LED

Wyprowadzenia we/wy ogólnego przeznaczenia (GPIO) można kontrolować indywidualnie. 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 jednowłotowy oparty na usłudze ARM (ARMv7 lub nowszy) (SBC)
  • 5 mm LED
  • Rezystor 330 Ω
  • Makiet
  • Przewody skoczkowe
  • Tablica breakout urządzenia Raspberry Pi GPIO (opcjonalnie/zalecana)
  • Zestaw .NET SDK 7 lub nowszy

Uwaga

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

Upewnij się, że protokół SSH jest włączony na urządzeniu. W przypadku urządzenia Raspberry Pi zapoznaj się z tematem Konfigurowanie serwera SSH w dokumentacji urządzenia Raspberry Pi.

Przygotowywanie sprzętu

Użyj składników sprzętowych, aby skompilować obwód, jak pokazano na poniższym diagramie:

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

Powyższy obraz przedstawia następujące połączenia:

  • GPIO 18 do węzła LED (dłuższy, dodatni prowadzić)
  • Katoda LED (krótsza, ujemna prowadzić) do 330 Ω rezystor (albo koniec)
  • 330 Ω rezystor (inny koniec) do uziemienia

W razie potrzeby zapoznaj się z następującym diagramem przypinania:

Diagram przedstawiający wyprowadzenia nagłówka GPIO urządzenia Raspberry Pi. Obraz dzięki uprzejmości Raspberry Pi Foundation.
Obraz dzięki uprzejmości Raspberry Pi Foundation.

Porada

Tablica podziału GPIO w połączeniu z tablicą do chleba zaleca się 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 interfejsu wiersza polecenia platformy .NET z katalogu projektu lub programu Visual Studio.

    dotnet add package System.Device.Gpio --version 2.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;
    }
    

    Powyższy kod ma następujące działanie:

    • Deklaracja using tworzy wystąpienie klasy GpioController. Deklaracja using zapewnia, że obiekt jest usuwany, a zasoby sprzętowe są prawidłowo zwalniane.
    • Wyprowadzenia GPIO 18 są otwierane dla danych wyjściowych
    • Pętla while jest uruchamiana na czas nieokreślony. Każda iteracja:
      1. Zapisuje wartość do wyprowadzenia GPIO 18. Jeśli ledOn ma wartość true, zapisuje PinValue.High (na). W przeciwnym razie zapisuje PinValue.Lowwartość .
      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 klawisze Ctrl+Shift+B.

  5. Wdróż aplikację w SBC jako samodzielną aplikację. Aby uzyskać instrukcje, zobacz Wdrażanie aplikacji .NET na urządzeniach Raspberry Pi. Pamiętaj, aby nadać wykonywalne uprawnienie do wykonywania przy użyciu polecenia 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 i co sekundę.

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

Gratulacje! Użyto interfejsu GPIO do migania diody LED.

Uzyskiwanie kodu źródłowego

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

Następne kroki