Notatka
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 .NET i wyprowadzeń GPIO urządzenia Raspberry Pi, aby zasilać diodę LED, żeby wielokrotnie migała.
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 10 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 .NET, takich 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ę konsoli .NET przy użyciu interfejsu wiersza polecenia .NET lub Visual Studio. Nadaj mu nazwę BlinkTutorial.
dotnet new console -o BlinkTutorial cd BlinkTutorialDodaj pakiet System.Device.Gpio do projektu. Użyj .NET CLI z katalogu projektu lub Visual Studio.
dotnet package add System.Device.Gpio --version 4.0.1Zastą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 wystąpienie
GpioController. Deklaracjausinggwarantuje, że obiekt zostanie usunięty, a zasoby sprzętowe zostaną prawidłowo zwolnione. - Pin GPIO 18 został otwarty do wyjścia
- Pętla
whilejest uruchamiana w nieskończoność. Każda iteracja:- Zapisuje wartość na pinie GPIO 18. Jeśli
ledOnjest prawdziwe, 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 wystąpienie
Kompilowanie aplikacji. Jeśli korzystasz z .NET CLI, wykonaj
dotnet build. Aby skompilować Visual Studio, naciśnij Ctrl+Shift+B.Wdróż aplikację w SBC jako samodzielną aplikację. Aby uzyskać instrukcje, zobacz Deploy .NET aplikacje do urządzenia Raspberry Pi. Upewnij się, że nadajesz plikowi wykonywalnemu uprawnienia do wykonywania przy użyciu
chmod +x.Uruchom aplikację na urządzeniu Raspberry Pi, przełączając się do katalogu wdrożenia i uruchamiając plik wykonywalny.
./BlinkTutorialDioda LED miga co sekundę.
Zakończ program, naciskając klawisze Ctrl+C.
Gratulacje! Użyto GPIO do migania diodą LED.
Pobieranie kodu źródłowego
Źródło tego samouczka jest dostępne w GitHub.