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-et és a Raspberry Pi GPIO-csapjait fogja használni a LED-ek bekapcsolásához és többszöri 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 8 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ármilyen Linux-alapú SBC-hez használható, amely támogatja a .NET-et, például az Orange Pi-t, az ODROID-ot és sok mást.
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 CLI vagy a Visual Studio használatával. Nevezze el BlinkTutorial-nak.
dotnet new console -o BlinkTutorial cd BlinkTutorial
Adja hozzá a System.Device.Gpio csomagot a projekthez. Használja a .NET CLI-t a projektkönyvtárból vagy a Visual Studióból.
dotnet add package System.Device.Gpio --version 3.2.0-*
Cseré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 felhasználói deklaráció létrehoz egy példányt.
GpioController
Ausing
deklará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
while
hurok határozatlan ideig fut. Minden iteráció:- Értéket ír a GPIO pin 18-ra. Ha
ledOn
igaz, akkor kiírja a(z)PinValue.High
(be). Ellenkező esetben azt írjaPinValue.Low
. - 1000 ms-ig alszik.
- A
ledOn
értékének kapcsolása.
- Értéket ír a GPIO pin 18-ra. Ha
- A felhasználói deklaráció létrehoz egy példányt.
Hozza létre az alkalmazást. Ha a .NET parancssori felületet használja, futtassa a parancsot
dotnet build
. A Visual Studióban való buildeléshez nyomja le a CtrlShift+B+.Helyezze üzembe az alkalmazást az SBC-ben önálló alkalmazásként. Útmutatásért lásd: .NET-alkalmazások üzembe helyezése a Raspberry Pi-ben. Győződjön meg arról, hogy a végrehajtható fájlnak végrehajtás engedélyt ad, a
chmod +x
haszná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.
./BlinkTutorial
A 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 a GitHubon érhető el.