I/O (GPIO) per utilizzo generico possono essere controllati singolarmente. Ciò è utile per controllare i LED, gli inoltro e altri dispositivi con stato. In questo argomento si useranno .NET e i pin GPIO di Raspberry Pi per accendere un LED e lampeggiarlo ripetutamente.
Prerequisiti
Computer a scheda singola (SBC) basato su ARM (ARMv7 o versione successiva)
LED di 5 mm
330 Ω resistore
Breadboard
Cavi ponticello
Scheda di interruzione Raspberry Pi GPIO (facoltativa/consigliata)
Questa esercitazione viene scritta presupponendo che il dispositivo di destinazione sia Raspberry Pi. Questa esercitazione può tuttavia essere usata per qualsiasi SBC basato su Linux che supporta .NET, ad esempio Orange Pi, ODROID e altro ancora.
Sostituire il contenuto di Program.cs con il codice seguente:
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;
}
Nel codice precedente:
Una dichiarazione using crea un'istanza di GpioController. La using dichiarazione garantisce che l'oggetto venga eliminato e le risorse hardware vengano rilasciate correttamente.
Il pin GPIO 18 viene aperto per l'output
Un while ciclo viene eseguito in modo indefinito. Ogni iterazione:
Scrive un valore in GPIO pin 18. Se ledOn è true, scrive PinValue.High (on). In caso contrario, scrive PinValue.Low.
Dorme 1000 ms.
Attiva l'interruttore del valore di ledOn.
Compilare l'app. Se si usa l'interfaccia della riga di comando .NET, eseguire dotnet build. Per compilare in Visual Studio, premere CTRL+MAIUSC+B.
Distribuire l'app in SBC come app autonoma. Per istruzioni, vedere Distribuire app .NET in Raspberry Pi. Assicurarsi di concedere all'eseguibile l'autorizzazione di esecuzione usando chmod +x.
Eseguire l'app in Raspberry Pi passando alla directory di distribuzione ed eseguendo il file eseguibile.
./BlinkTutorial
Il LED lampeggia fuori e su ogni secondo.
Terminare il programma premendo CTRL+C.
Congratulazioni! È stato usato GPIO per lampeggiare un LED.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: