Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az általános célú I/O (GPIO) tűk egyenként szabályozhatók. Ez hasznos a LED-ek, a továbbítók és más állapotalapú eszközök vezérléséhez. Ebben a témakörben a .NET és a Raspberry Pi GPIO-csapjait fogja használni a LED-ek bekapcsolásához és ismételt villogásához.
Előfeltételek
- ARM-alapú (ARMv7 vagy újabb) egylapos számítógép (SBC)
- 5 mm-es LED
- 330 Ω ellenállás
- Kenyérvágódeszka
- Átvezető vezetékek
- Raspberry Pi GPIO-melléklap (opcionális/ajánlott)
- .NET SDK 10 vagy újabb
Megjegyzés
Ez az oktatóanyag meg van írva, feltéve, hogy a céleszköz Raspberry Pi. Ez az oktatóanyag azonban bármely olyan Linux-alapú SBC-hez használható, amely támogatja .NET, például Orange Pi, ODROID stb.
Győződjön meg arról, hogy az SSH engedélyezve van az eszközön. Raspberry Pi esetén tekintse meg az SSH-kiszolgáló beállítását a Raspberry Pi dokumentációjában.
A hardver előkészítése
A következő ábrán látható módon használja a hardver összetevőket az áramkör megépítéséhez.
A fenti képen a következő kapcsolatok láthatók:
- GPIO 18 a LED anódhoz (hosszabb, pozitív vezeték)
- LED katód (rövidebb, negatív ólom) 330 Ω ellenállás (mindkét végén)
- 330 Ω-os ellenállás (másik vége) földre
Szükség esetén tekintse meg a következő csatlakozási rajzot:
Kép jóvoltból Raspberry Pi Foundation.
Jótanács
A GPIO csatlakozólap és a próbaáramköri lap együttes használata javasolt a GPIO-fejléchez való kapcsolódások egyszerűsítése érdekében.
Az alkalmazás létrehozása
Hajtsa végre a következő lépéseket az előnyben részesített fejlesztési környezetben:
Hozzon létre egy új .NET konzolalkalmazást a .NET parancssori felület vagy Visual Studio használatával. Adja a BlinkTutorial nevet.
dotnet new console -o BlinkTutorial cd BlinkTutorialAdja hozzá a System.Device.Gpio csomagot a projekthez. Használja a(z) .NET CLI-t a projektkönyvtárból vagy a Visual Studio-t.
dotnet package add System.Device.Gpio --version 4.0.1Cserélje le a Program.cs fájl tartalmát a következő kódra:
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; }Az előző kódban:
- A using deklaráció létrehoz egy példányt
GpioController. Ausingdeklaráció biztosítja az objektum ártalmatlanítását és a hardvererőforrások megfelelő kiadását. - A GPIO pin 18 meg van nyitva a kimenethez
- A
whilehurok a végtelenségig fut. Minden iteráció:- Értéket ír a GPIO pin 18-ra. Ha
ledOnigaz, akkorPinValue.High(be) íródik. Ellenkező esetben azt írjaPinValue.Low. - 1000 ms-ig alszik.
- A
ledOnértékének váltása.
- Értéket ír a GPIO pin 18-ra. Ha
- A using deklaráció létrehoz egy példányt
Hozza létre az alkalmazást. Ha a .NET parancssori felületet használja, futtassa a
dotnet buildparancsot. A Visual Studio-ban történő buildeléshez nyomja le a Ctrl+Shift+B billentyűkombinációt.Helyezze üzembe az alkalmazást az SBC-ben önálló alkalmazásként. Útmutatásért lásd: A Raspberry Pi .NET-alkalmazások üzembe helyezése. Győződjön meg arról, hogy a végrehajtható fájlnak végrehajtási engedélyt ad a
chmod +xhasználatával.Futtassa az alkalmazást a Raspberry Pi-en az üzembehelyezési könyvtárra való váltással és a végrehajtható fájl futtatásával.
./BlinkTutorialA LED ki- és bekapcsol minden másodpercben.
Állítsa le a programot a CtrlC+ lenyomásával.
Gratulálok! A GPIO-t használta egy LED villogtatására.
A forráskód lekérése
Az oktatóanyag forrása elérhető GitHub.