Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
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ń.
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:
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
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-*
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
. Deklaracjausing
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:- Zapisuje wartość na pinie GPIO 18. Jeśli
ledOn
jest true, zapisujePinValue.High
(włączone). W przeciwnym razie zapisujePinValue.Low
. - Śpi 1000 ms.
- Przełącza wartość
ledOn
.
- Zapisuje wartość na pinie GPIO 18. Jeśli
- Deklaracja using tworzy instancję
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.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
.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ę.
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.