Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los pines de E/S de uso general (GPIO) se pueden controlar individualmente. Esto es útil para controlar LEDs, relés y otros dispositivos con estado. En este tema, usará .NET y las patillas GPIO de Raspberry Pi para encender un LED y hacer que parpadee de forma repetida.
Prerrequisitos
- Equipo con placa única (ARMv7 o superior) basado en ARM (SBC)
- LED de 5 mm
- Resistencia de 330 Ω
- Placa de pruebas
- Cables de puente
- Placa de expansión GPIO de Raspberry Pi (opcional/recomendada)
- SDK de .NET 8 o posterior
Nota:
Este tutorial se escribe suponiendo que el dispositivo de destino sea Raspberry Pi. Sin embargo, este tutorial se puede usar para cualquier SBC basado en Linux que admita .NET, como Orange Pi, ODROID, etc.
Asegúrese de que SSH está habilitado en el dispositivo. Para Raspberry Pi, consulte Configuración de un servidor SSH en la documentación de Raspberry Pi.
Preparación del hardware
Use los componentes de hardware para compilar el circuito como se muestra en el diagrama siguiente:
Diagrama de Fritzing que muestra un circuito con un LED y una resistencia
En la imagen anterior se muestran las siguientes conexiones:
- GPIO 18 al nodo LED (plomo positivo más largo)
- Del cátodo LED (cable negativo más corto) a la resistencia de 330 Ω (cualquiera de los extremos)
- Resistencia de 330 Ω (el otro extremo) a la toma de tierra
Consulte el siguiente diagrama de anclaje según sea necesario:
Un diagrama que muestra el pinout del encabezado de GPIO de Raspberry Pi. Imagen cortesía de la Fundación Raspberry Pi.
Imagen cortesía de Raspberry Pi Foundation.
Sugerencia
Se recomienda una placa de pruebas de GPIO junto con una placa para optimizar las conexiones con el encabezado de GPIO.
Creación de la aplicación
Complete los pasos siguientes en el entorno de desarrollo preferido:
Cree una nueva aplicación de consola de .NET mediante la CLI de .NET o Visual Studio. Asígneles el nombre BlinkTutorial.
dotnet new console -o BlinkTutorial cd BlinkTutorialAgregue el paquete System.Device.Gpio al proyecto. Use .NET CLI desde el directorio del proyecto o Visual Studio.
dotnet add package System.Device.Gpio --version 3.2.0-*Reemplace el contenido de Program.cs por el código siguiente:
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; }En el código anterior:
- Una declaración using crea una instancia de . La declaración garantiza que el objeto se elimina y los recursos de hardware se liberan correctamente.
- Se abre el pin 18 de GPIO para la salida
- Un bucle se ejecuta indefinidamente. Cada iteración:
- Escribe un valor en el pin gpIO 18. Si es true, se escribe (encender). De lo contrario, escribe .
- Se suspende durante 1000 ms.
- Alterna el valor de .
Compile la aplicación. Si usa la CLI de .NET, ejecute
dotnet build. Para compilar en Visual Studio, presione Ctrl+Shift+B.Despliegue la aplicación en el SBC como una aplicación autónoma. Para obtener instrucciones, consulte Deploy .NET apps to Raspberry Pi. Asegúrese de conceder al ejecutable permiso de ejecución mediante .
Ejecute la aplicación en Raspberry Pi cambiando al directorio de implementación y ejecutando el ejecutable.
./BlinkTutorialEl LED se enciende y se apaga cada segundo.
Para finalizar el programa, presione CtrlC.
¡Felicidades! Has utilizado GPIO para hacer parpadear un LED.
Obtención del código fuente
El origen de este tutorial es disponible en GitHub.
Pasos siguientes
Obtenga información sobre cómo leer la entrada binaria mediante GPIO