Pelatihan
Jalur pembelajaran
Jalur pembelajaran ini bertujuan untuk menjelaskan kepada peserta cara menyebarkan AI di edge menggunakan layanan Azure.
Browser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Konverter analog-ke-digital (ADC) adalah perangkat yang dapat membaca nilai tegangan input analog dan mengubahnya menjadi nilai digital. ADC digunakan untuk membaca nilai dari termistor, potentiometer, dan perangkat lain yang mengubah ketahanan berdasarkan kondisi tertentu.
Dalam topik ini, Anda akan menggunakan .NET untuk membaca nilai dari ADC saat Anda memodulasikan tegangan input dengan potentiometer.
Catatan
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.
Pastikan SBC Anda dikonfigurasi untuk mendukung layanan berikut:
Untuk banyak perangkat, tidak diperlukan konfigurasi tambahan. Untuk Raspberry Pi, gunakan raspi-config
perintah . Untuk informasi selengkapnya tentang raspi-config
, lihat dokumentasi Raspberry Pi.
Gunakan komponen perangkat keras untuk membangun sirkuit seperti yang digambarkan dalam diagram berikut:
MCP3008 menggunakan Serial Peripheral Interface (SPI) untuk berkomunikasi. Berikut ini adalah koneksi dari MCP3008 ke Raspberry Pi dan potensiometer:
Pasokan 3,3V dan tanah ke pin luar pada potentiometer. Ketertiban tidak penting.
Lihat diagram pinout berikut sesuai kebutuhan:
MCP3008 | Raspberry Pi GPIO |
---|---|
Gambar oleh Raspberry Pi Foundation. |
Tip
Papan breakout GPIO bersama dengan breadboard disarankan untuk menyederhanakan koneksi ke header GPIO.
Selesaikan langkah-langkah berikut di lingkungan pengembangan pilihan Anda:
Buat Aplikasi Konsol .NET baru menggunakan .NET CLI atau Visual Studio. Beri nama AdcTutorial.
dotnet new console -o AdcTutorial
cd AdcTutorial
Tambahkan paket Iot.Device.Bindings ke proyek. Gunakan .NET CLI dari direktori proyek atau Visual Studio.
dotnet add package Iot.Device.Bindings --version 2.2.0-*
Ganti konten Program.cs dengan kode berikut:
using System;
using System.Device.Spi;
using System.Threading;
using Iot.Device.Adc;
var hardwareSpiSettings = new SpiConnectionSettings(0, 0);
using SpiDevice spi = SpiDevice.Create(hardwareSpiSettings);
using var mcp = new Mcp3008(spi);
while (true)
{
Console.Clear();
double value = mcp.Read(0);
Console.WriteLine($"{value}");
Console.WriteLine($"{Math.Round(value/10.23, 1)}%");
Thread.Sleep(500);
}
Dalam kode sebelumnya:
hardwareSpiSettings
diatur ke instans SpiConnectionSettings
baru . Konstruktor mengatur parameter ke busId
0 dan parameter ke chipSelectLine
0.SpiDevice
dengan memanggil SpiDevice.Create
dan meneruskan hardwareSpiSettings
. Ini SpiDevice
mewakili bus SPI.
using
Deklarasi memastikan objek dibuang dan sumber daya perangkat keras dirilis dengan benar.using
membuat instans Mcp3008
dan meneruskan SpiDevice
ke konstruktor.while
berjalan tanpa batas waktu. Setiap perulangan:mcp.Read(0)
.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.
./AdcTutorial
Amati output saat Anda memutar kenop potentiometer. Hal ini disebabkan oleh potentiometer yang bervariasi tegangan yang disediakan untuk CH0 pada ADC. ADC membandingkan tegangan input pada CH0 dengan tegangan referensi yang disediakan ke VREF untuk menghasilkan nilai.
Hentikan program dengan menekan Ctrl+C.
Selamat! Anda telah menggunakan SPI untuk membaca nilai dari konverter analog-ke-digital.
Sumber untuk tutorial ini tersedia di GitHub.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Pelatihan
Jalur pembelajaran
Jalur pembelajaran ini bertujuan untuk menjelaskan kepada peserta cara menyebarkan AI di edge menggunakan layanan Azure.
Dokumentasi
Menampilkan teks pada LCD - .NET
Pelajari cara menampilkan karakter pada tampilan kristal cair dengan Pustaka IoT .NET.
Membaca kondisi lingkungan dari sensor - .NET
Pelajari cara membaca suhu, tekanan barometrik, dan kelembaban dengan Pustaka IoT .NET.
Pelajari cara mengedipkan LED dengan Pustaka IoT .NET.