Pin I/O tujuan umum (GPIO) dapat dikontrol satu per satu. Ini berguna untuk mengontrol LED, relai, dan perangkat stateful lainnya. Dalam topik ini, Anda akan menggunakan .NET dan pin GPIO Raspberry Pi Anda untuk menyalakan LED dan berkedip berulang kali.
Prasyarat
Komputer papan tunggal (SBC) berbasis ARM (ARMv7 atau lebih besar)
LED 5 mm
Resistor 330 Ω
Papan roti
Kabel jumper
Papan breakout Raspberry Pi GPIO (opsional/disarankan)
Tutorial ini ditulis dengan asumsi perangkat target adalah Raspberry Pi. Namun, tutorial ini dapat digunakan untuk SBC berbasis Linux apa pun yang mendukung .NET, seperti Orange Pi, ODROID, dan banyak lagi.
using System;
using System.Device.Gpio;
using System.Threading;
Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
int pin = 18;
usingvar 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;
}
Dalam kode sebelumnya:
Deklarasi menggunakan membuat instans GpioController.
using Deklarasi memastikan objek dibuang dan sumber daya perangkat keras dirilis dengan benar.
Pin GPIO 18 dibuka untuk output
Perulangan while berjalan tanpa batas waktu. Setiap perulangan:
Menulis nilai ke pin GPIO 18. Jika ledOn benar, ia menulis PinValue.High (aktif). Jika tidak, ia menulis PinValue.Low.
Tidur 1000 ms.
Alihkan nilai ledOn.
Buat aplikasi. Jika menggunakan .NET CLI, jalankan dotnet build. Untuk membuat di Visual Studio, tekan Ctrl+Shift+B.
Sebarkan aplikasi ke SBC sebagai aplikasi mandiri. Untuk petunjuknya, lihat Menyebarkan aplikasi .NET ke Raspberry Pi. Pastikan untuk memberikan izin eksekusi yang dapat dieksekusi menggunakan chmod +x.
Jalankan aplikasi pada Raspberry Pi dengan beralih ke direktori penyebaran dan menjalankan executable.
Bash
./BlinkTutorial
LED berkedip dan menyala setiap detik.
Hentikan program dengan menekan Ctrl+C.
Selamat! Anda telah menggunakan GPIO untuk mengedipkan LED.
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: