Megosztás a következőn keresztül:


Villogtasd az LED-et

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.

Fritzing diagram, amely egy LED-et és egy ellenállást tartalmazó áramkört ábrázol

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:

Egy diagram, amely bemutatja a Raspberry Pi GPIO fejlécének lábkiosztását. A kép a Raspberry Pi Foundation jóvoltából.
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:

  1. 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
    
  2. 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-*
    
  3. 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 A using 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ó:
      1. Értéket ír a GPIO pin 18-ra. Ha ledOn igaz, akkor kiírja a(z) PinValue.High (be). Ellenkező esetben azt írja PinValue.Low.
      2. 1000 ms-ig alszik.
      3. A ledOn értékének kapcsolása.
  4. 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+.

  5. 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.

  6. 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.

  7. Á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.

Következő lépések